MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / SignMessage

Method SignMessage

src/wallet/wallet.cpp:2260–2271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2258}
2259
2260SigningResult CWallet::SignMessage(const std::string& message, const PKHash& pkhash, std::string& str_sig) const
2261{
2262 SignatureData sigdata;
2263 CScript script_pub_key = GetScriptForDestination(pkhash);
2264 for (const auto& spk_man_pair : m_spk_managers) {
2265 if (spk_man_pair.second->CanProvide(script_pub_key, sigdata)) {
2266 LOCK(cs_wallet); // DescriptorScriptPubKeyMan calls IsLocked which can lock cs_wallet in a deadlocking order
2267 return spk_man_pair.second->SignMessage(message, pkhash, str_sig);
2268 }
2269 }
2270 return SigningResult::PRIVATE_KEY_NOT_AVAILABLE;
2271}
2272
2273OutputType CWallet::TransactionChangeType(const std::optional<OutputType>& change_type, const std::vector<CRecipient>& vecSend) const
2274{

Callers 3

signMessageMethod · 0.45
signmessageFunction · 0.45

Calls 2

GetScriptForDestinationFunction · 0.85
CanProvideMethod · 0.45

Tested by

no test coverage detected