Bitcoin ABC 0.26.3
P2P Digital Currency
|
Fillable signing provider that keeps keys in an address->secret map. More...
#include <signingprovider.h>
Public Member Functions | |
virtual bool | AddKeyPubKey (const CKey &key, const CPubKey &pubkey) |
virtual bool | AddKey (const CKey &key) |
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 |
Public Member Functions inherited from SigningProvider | |
virtual | ~SigningProvider () |
virtual bool | GetKeyOrigin (const CKeyID &keyid, KeyOriginInfo &info) const |
Public Attributes | |
RecursiveMutex | cs_KeyStore |
Protected Types | |
using | KeyMap = std::map< CKeyID, CKey > |
using | ScriptMap = std::map< CScriptID, CScript > |
Protected Member Functions | |
KeyMap mapKeys | GUARDED_BY (cs_KeyStore) |
Map of key id to unencrypted private keys known by the signing provider. | |
ScriptMap mapScripts | GUARDED_BY (cs_KeyStore) |
(This comment has been elided for clarity since most of it detailed Core SegWit implementation details, see Core commit 005f8a9) | |
Fillable signing provider that keeps keys in an address->secret map.
Definition at line 76 of file signingprovider.h.
|
protected |
Definition at line 78 of file signingprovider.h.
|
protected |
Definition at line 79 of file signingprovider.h.
Reimplemented in LegacyScriptPubKeyMan.
Definition at line 127 of file signingprovider.cpp.
Definition at line 110 of file signingprovider.h.
Reimplemented in LegacyScriptPubKeyMan.
Definition at line 95 of file signingprovider.cpp.
|
overridevirtual |
Reimplemented from SigningProvider.
Definition at line 154 of file signingprovider.cpp.
|
virtual |
|
overridevirtual |
Reimplemented from SigningProvider.
Reimplemented in LegacyScriptPubKeyMan.
Definition at line 116 of file signingprovider.cpp.
|
virtual |
Reimplemented in LegacyScriptPubKeyMan.
Definition at line 107 of file signingprovider.cpp.
|
overridevirtual |
Reimplemented from SigningProvider.
Reimplemented in LegacyScriptPubKeyMan.
Definition at line 85 of file signingprovider.cpp.
|
protected |
Map of key id to unencrypted private keys known by the signing provider.
Map may be empty if the provider has another source of keys, like an encrypted store.
|
protected |
(This comment has been elided for clarity since most of it detailed Core SegWit implementation details, see Core commit 005f8a9)
The FillableSigningProvider::mapScripts script map should not be confused with LegacyScriptPubKeyMan::setWatchOnly script set. The two collections can hold the same scripts, but they serve different purposes. The setWatchOnly script set is intended to expand the set of outputs the wallet considers payments. Every output with a script it contains is considered to belong to the wallet, regardless of whether the script is solvable or signable. By contrast, the scripts in mapScripts are only used for solving, and to restrict which outputs are considered payments by the wallet. An output with a script in mapScripts, unlike setWatchOnly, is not automatically considered to belong to the wallet if it can't be solved and signed for.
Reimplemented from SigningProvider.
Definition at line 140 of file signingprovider.cpp.
Reimplemented from SigningProvider.
Reimplemented in LegacyScriptPubKeyMan.
Definition at line 102 of file signingprovider.cpp.
|
mutable |
Definition at line 107 of file signingprovider.h.