PIVX Core  5.6.99
P2P Digital Currency
Public Member Functions | Public Attributes | List of all members
CKeyStore Class Referenceabstract

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

#include <keystore.h>

Inheritance diagram for CKeyStore:
[legend]
Collaboration diagram for CKeyStore:
[legend]

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 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
 
virtual bool AddSaplingSpendingKey (const libzcash::SaplingExtendedSpendingKey &sk)=0
 Support for Sapling. More...
 
virtual bool HaveSaplingSpendingKey (const libzcash::SaplingExtendedFullViewingKey &extfvk) const =0
 
virtual bool GetSaplingSpendingKey (const libzcash::SaplingExtendedFullViewingKey &extfvk, libzcash::SaplingExtendedSpendingKey &skOut) const =0
 
virtual bool AddSaplingFullViewingKey (const libzcash::SaplingExtendedFullViewingKey &extfvk)=0
 Support for Sapling full viewing keys. More...
 
virtual bool HaveSaplingFullViewingKey (const libzcash::SaplingIncomingViewingKey &ivk) const =0
 
virtual bool GetSaplingFullViewingKey (const libzcash::SaplingIncomingViewingKey &ivk, libzcash::SaplingExtendedFullViewingKey &extfvkOut) const =0
 
virtual void GetSaplingPaymentAddresses (std::set< libzcash::SaplingPaymentAddress > &setAddress) const =0
 
virtual bool AddSaplingIncomingViewingKey (const libzcash::SaplingIncomingViewingKey &ivk, const libzcash::SaplingPaymentAddress &addr)=0
 Sapling incoming viewing keys. More...
 
virtual bool HaveSaplingIncomingViewingKey (const libzcash::SaplingPaymentAddress &addr) const =0
 
virtual bool GetSaplingIncomingViewingKey (const libzcash::SaplingPaymentAddress &addr, libzcash::SaplingIncomingViewingKey &ivkOut) const =0
 

Public Attributes

RecursiveMutex cs_KeyStore
 

Detailed Description

A virtual base class for key stores.

Definition at line 22 of file keystore.h.

Constructor & Destructor Documentation

◆ ~CKeyStore()

virtual CKeyStore::~CKeyStore ( )
inlinevirtual

Definition at line 28 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 14 of file keystore.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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.

Here is the caller graph for this function:

◆ AddSaplingFullViewingKey()

virtual bool CKeyStore::AddSaplingFullViewingKey ( const libzcash::SaplingExtendedFullViewingKey extfvk)
pure virtual

Support for Sapling full viewing keys.

Implemented in CBasicKeyStore.

◆ AddSaplingIncomingViewingKey()

virtual bool CKeyStore::AddSaplingIncomingViewingKey ( const libzcash::SaplingIncomingViewingKey ivk,
const libzcash::SaplingPaymentAddress addr 
)
pure virtual

Sapling incoming viewing keys.

Implemented in CBasicKeyStore.

◆ AddSaplingSpendingKey()

virtual bool CKeyStore::AddSaplingSpendingKey ( const libzcash::SaplingExtendedSpendingKey sk)
pure virtual

Support for Sapling.

Implemented in CBasicKeyStore.

◆ 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

Implemented in CBasicKeyStore.

Here is the caller graph for this function:

◆ GetKey()

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

Implemented in CCryptoKeyStore, and CBasicKeyStore.

Here is the caller graph for this function:

◆ 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 CCryptoKeyStore, and CBasicKeyStore.

◆ GetSaplingFullViewingKey()

virtual bool CKeyStore::GetSaplingFullViewingKey ( const libzcash::SaplingIncomingViewingKey ivk,
libzcash::SaplingExtendedFullViewingKey extfvkOut 
) const
pure virtual

Implemented in CBasicKeyStore.

Here is the caller graph for this function:

◆ GetSaplingIncomingViewingKey()

virtual bool CKeyStore::GetSaplingIncomingViewingKey ( const libzcash::SaplingPaymentAddress addr,
libzcash::SaplingIncomingViewingKey ivkOut 
) const
pure virtual

Implemented in CBasicKeyStore.

Here is the caller graph for this function:

◆ GetSaplingPaymentAddresses()

virtual void CKeyStore::GetSaplingPaymentAddresses ( std::set< libzcash::SaplingPaymentAddress > &  setAddress) const
pure virtual

Implemented in CBasicKeyStore.

◆ GetSaplingSpendingKey()

virtual bool CKeyStore::GetSaplingSpendingKey ( const libzcash::SaplingExtendedFullViewingKey extfvk,
libzcash::SaplingExtendedSpendingKey skOut 
) const
pure virtual

Implemented in CCryptoKeyStore, and CBasicKeyStore.

◆ 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 CCryptoKeyStore, and CBasicKeyStore.

Here is the caller graph for this function:

◆ HaveSaplingFullViewingKey()

virtual bool CKeyStore::HaveSaplingFullViewingKey ( const libzcash::SaplingIncomingViewingKey ivk) const
pure virtual

Implemented in CBasicKeyStore.

◆ HaveSaplingIncomingViewingKey()

virtual bool CKeyStore::HaveSaplingIncomingViewingKey ( const libzcash::SaplingPaymentAddress addr) const
pure virtual

Implemented in CBasicKeyStore.

◆ HaveSaplingSpendingKey()

virtual bool CKeyStore::HaveSaplingSpendingKey ( const libzcash::SaplingExtendedFullViewingKey extfvk) const
pure virtual

Implemented in CCryptoKeyStore, and CBasicKeyStore.

Here is the caller graph for this function:

◆ HaveWatchOnly() [1/2]

virtual bool CKeyStore::HaveWatchOnly ( ) const
pure virtual

Implemented in CBasicKeyStore.

◆ HaveWatchOnly() [2/2]

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

Implemented in CBasicKeyStore.

Here is the caller graph for this function:

◆ RemoveWatchOnly()

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

Implemented in CWallet, and CBasicKeyStore.

Member Data Documentation

◆ cs_KeyStore

RecursiveMutex CKeyStore::cs_KeyStore
mutable
Todo:
: Make it protected again once we are more advanced in the wallet/spkm decoupling.

Definition at line 26 of file keystore.h.


The documentation for this class was generated from the following files: