| 340 | public: |
| 341 | ConstPubkeyProvider(uint32_t exp_index, const CPubKey& pubkey, bool xonly) : PubkeyProvider(exp_index), m_pubkey(pubkey), m_xonly(xonly) {} |
| 342 | std::optional<CPubKey> GetPubKey(int pos, const SigningProvider&, FlatSigningProvider& out, const DescriptorCache* read_cache = nullptr, DescriptorCache* write_cache = nullptr) const override |
| 343 | { |
| 344 | KeyOriginInfo info; |
| 345 | CKeyID keyid = m_pubkey.GetID(); |
| 346 | std::copy(keyid.begin(), keyid.begin() + sizeof(info.fingerprint), info.fingerprint); |
| 347 | out.origins.emplace(keyid, std::make_pair(m_pubkey, info)); |
| 348 | out.pubkeys.emplace(keyid, m_pubkey); |
| 349 | return m_pubkey; |
| 350 | } |
| 351 | bool IsRange() const override { return false; } |
| 352 | size_t GetSize() const override { return m_pubkey.size(); } |
| 353 | bool IsBIP32() const override { return false; } |
no test coverage detected