| 3464 | } |
| 3465 | |
| 3466 | std::set<ScriptPubKeyMan*> CWallet::GetScriptPubKeyMans(const CScript& script) const |
| 3467 | { |
| 3468 | std::set<ScriptPubKeyMan*> spk_mans; |
| 3469 | |
| 3470 | // Search the cache for relevant SPKMs instead of iterating m_spk_managers |
| 3471 | const auto& it = m_cached_spks.find(script); |
| 3472 | if (it != m_cached_spks.end()) { |
| 3473 | spk_mans.insert(it->second.begin(), it->second.end()); |
| 3474 | } |
| 3475 | SignatureData sigdata; |
| 3476 | Assume(std::all_of(spk_mans.begin(), spk_mans.end(), [&script, &sigdata](ScriptPubKeyMan* spkm) { return spkm->CanProvide(script, sigdata); })); |
| 3477 | |
| 3478 | return spk_mans; |
| 3479 | } |
| 3480 | |
| 3481 | ScriptPubKeyMan* CWallet::GetScriptPubKeyMan(const uint256& id) const |
| 3482 | { |
no test coverage detected