| 1645 | : m_arg(arg), m_pubkeys(pubkeys), m_type(type), m_cache(cache) {} |
| 1646 | |
| 1647 | std::optional<std::string> ToString(uint32_t key, bool& has_priv_key) const |
| 1648 | { |
| 1649 | std::string ret; |
| 1650 | has_priv_key = false; |
| 1651 | switch (m_type) { |
| 1652 | case DescriptorImpl::StringType::PUBLIC: |
| 1653 | ret = m_pubkeys[key]->ToString(); |
| 1654 | break; |
| 1655 | case DescriptorImpl::StringType::PRIVATE: |
| 1656 | has_priv_key = m_pubkeys[key]->ToPrivateString(*m_arg, ret); |
| 1657 | break; |
| 1658 | case DescriptorImpl::StringType::NORMALIZED: |
| 1659 | if (!m_pubkeys[key]->ToNormalizedString(*m_arg, ret, m_cache)) return {}; |
| 1660 | break; |
| 1661 | case DescriptorImpl::StringType::COMPAT: |
| 1662 | ret = m_pubkeys[key]->ToString(PubkeyProvider::StringType::COMPAT); |
| 1663 | break; |
| 1664 | } |
| 1665 | return ret; |
| 1666 | } |
| 1667 | }; |
| 1668 | |
| 1669 | class MiniscriptDescriptor final : public DescriptorImpl |
nothing calls this directly
no test coverage detected