| 2258 | } |
| 2259 | |
| 2260 | SigningResult 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 | |
| 2273 | OutputType CWallet::TransactionChangeType(const std::optional<OutputType>& change_type, const std::vector<CRecipient>& vecSend) const |
| 2274 | { |
no test coverage detected