https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56270
return a < b;
    }
    std::optional<std::string> ToString(const Key& key) const
    {
        auto it = TEST_DATA.dummy_key_idx_map.find(key);
        if (it == TEST_DATA.dummy_key_idx_map.end()) return {};
        uint8_t idx = it->second;
        return HexStr(Span{&idx, 1});
    }
    std::vector<unsigned char> ToPKBytes(const Key& key) const
    {
        return {key.begin(), key.end()};
    }
    std::vector<unsigned char> ToPKHBytes(const Key& key) const
    {
        const auto h = Hash160(key);
        return {h.begin(), h.end()};
    }
    template<typename I>
    std::optional<Key> FromString(I first, I last) const {
        if (last - first != 2) return {};
        auto idx = ParseHex(std::string(first, last));
        if (idx.size() != 1) return {};
        return TEST_DATA.dummy_keys[idx[0]];
    }
    template<typename I>
    std::optional<Key> FromPKBytes(I first, I last) const {