func newSupportedKeys() (supportedKeys, error) {
	var keysObject struct {
		Keys supportedKeys
	}
	err := json.Unmarshal(supportedKeysJSON, &keysObject)
	if err != nil {
		return nil, err
	}
	return keysObject.Keys, nil
}
newSupportedKeys returns supportedKeys
package resolution
import (
	"encoding/json"
	"fmt"
	"strings"
)
type supportedKeys map[string]struct {
	DeprecatedKeyName string
	Deprecated        bool
	ValidationRegex   string
}
const emailKey = "whois.email.value"
var ipfsKeys = []string{"dweb.ipfs.hash", "ipfs.html.value"}
var redirectUrlKeys = []string{"browser.redirect_url", "ipfs.redirect_domain.value"}
func buildCryptoKey(ticker string) (string, error) {
	var key strings.Builder
	_, err := fmt.Fprintf(&key, "crypto.%s.address", strings.ToUpper(ticker))
	if err != nil {
		return "", err
	}
	return key.String(), nil
}
func buildCryptoKeyVersion(ticker string, version string) (string, error) {
	var key strings.Builder
	_, err := fmt.Fprintf(&key, "crypto.%s.version.%s.address", strings.ToUpper(ticker), strings.ToUpper(version))
	if err != nil {
		return "", err
	}
	return key.String(), nil
}
func returnFirstNonEmpty(records map[string]string, keysSequence []string) string {
	for _, key := range keysSequence {
		if records[key] != "" {
			return records[key]
		}
	}
	return ""
}