import { Array as RunTypesArray, Literal, Record, Static, String, Union } from "runtypes"; import { ErrorVerificationFragment, InvalidVerificationFragment, SkippedVerificationFragment, ValidVerificationFragment, } from "../../../types/core"; /** * DNS-DID verification status */ export const ValidDnsDidVerificationStatus = Record({ status: Literal("VALID"), location: String, key: String, }); export type ValidDnsDidVerificationStatus = Static; export const ValidDnsDidVerificationStatusArray = RunTypesArray(ValidDnsDidVerificationStatus).withConstraint( (elements) => elements.length > 0 || "Expect at least one valid element" ); export type ValidDnsDidVerificationStatusArray = Static; export const InvalidDnsDidVerificationStatus = Record({ status: Literal("INVALID"), location: String, key: String, }); export type InvalidDnsDidVerificationStatus = Static; export const DnsDidVerificationStatus = Union(ValidDnsDidVerificationStatus, InvalidDnsDidVerificationStatus); export type DnsDidVerificationStatus = Static; export const DnsDidVerificationStatusArray = RunTypesArray(DnsDidVerificationStatus); export type DnsDidVerificationStatusArray = Static; /** * Fragments */ export type OpenAttestationDnsDidIdentityProofValidFragmentV3 = ValidVerificationFragment; export type OpenAttestationDnsDidIdentityProofInvalidFragmentV3 = InvalidVerificationFragment; export type OpenAttestationDnsDidIdentityProofValidFragmentV2 = ValidVerificationFragment; export type OpenAttestationDnsDidIdentityProofInvalidFragmentV2 = InvalidVerificationFragment; export type OpenAttestationDnsDidIdentityProofErrorFragment = ErrorVerificationFragment; export type OpenAttestationDnsDidIdentityProofVerificationFragment = | OpenAttestationDnsDidIdentityProofValidFragmentV2 | OpenAttestationDnsDidIdentityProofInvalidFragmentV2 | OpenAttestationDnsDidIdentityProofValidFragmentV3 | OpenAttestationDnsDidIdentityProofInvalidFragmentV3 | OpenAttestationDnsDidIdentityProofErrorFragment | SkippedVerificationFragment;