| 592 | return true; |
| 593 | } |
| 594 | void GetPrivKey(int pos, const SigningProvider& arg, FlatSigningProvider& out) const override |
| 595 | { |
| 596 | CExtKey extkey; |
| 597 | CExtKey dummy; |
| 598 | if (!GetDerivedExtKey(arg, extkey, dummy)) return; |
| 599 | if (m_derive == DeriveType::UNHARDENED_RANGED && !extkey.Derive(extkey, pos)) return; |
| 600 | if (m_derive == DeriveType::HARDENED_RANGED && !extkey.Derive(extkey, pos | 0x80000000UL)) return; |
| 601 | out.keys.emplace(extkey.key.GetPubKey().GetID(), extkey.key); |
| 602 | } |
| 603 | std::optional<CPubKey> GetRootPubKey() const override |
| 604 | { |
| 605 | return std::nullopt; |