diff --git a/src/script/sign.h b/src/script/sign.h --- a/src/script/sign.h +++ b/src/script/sign.h @@ -39,6 +39,9 @@ virtual bool GetKey(const CKeyID &address, CKey &key) const { return false; } + virtual bool GetKeyOrigin(const CKeyID &id, KeyOriginInfo &info) const { + return false; + } }; extern const SigningProvider &DUMMY_SIGNING_PROVIDER; @@ -52,6 +55,7 @@ : m_provider(provider) {} bool GetCScript(const CScriptID &scriptid, CScript &script) const; bool GetPubKey(const CKeyID &address, CPubKey &pubkey) const; + bool GetKeyOrigin(const CKeyID &keyid, KeyOriginInfo &info) const; }; struct FlatSigningProvider final : public SigningProvider { diff --git a/src/script/sign.cpp b/src/script/sign.cpp --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -570,9 +570,14 @@ return m_provider->GetCScript(scriptid, script); } -bool PublicOnlySigningProvider::GetPubKey(const CKeyID &address, +bool PublicOnlySigningProvider::GetPubKey(const CKeyID &keyid, CPubKey &pubkey) const { - return m_provider->GetPubKey(address, pubkey); + return m_provider->GetPubKey(keyid, pubkey); +} + +bool PublicOnlySigningProvider::GetKeyOrigin(const CKeyID &keyid, + KeyOriginInfo &info) const { + return m_provider->GetKeyOrigin(keyid, info); } bool FlatSigningProvider::GetCScript(const CScriptID &scriptid,