/** * Uniquely identifies a claim. * Hash of claim info. * Utilise `hashClaimInfo` to obtain this. */ export type ClaimID = string export type ClaimInfo = { provider: string parameters: string context?: string } export type AnyClaimInfo = ClaimInfo | { identifier: ClaimID } export type CompleteClaimData = ( { owner: string timestampS: number epoch: number } ) & AnyClaimInfo export type SignedClaim = { claim: CompleteClaimData signatures: Uint8Array[] } export type AuthToken = { /** wallet address of the user */ id: string /** unix timestamp in seconds */ expiresAtS: number } export type Claim = { identifier: ClaimID provider: string redactedParameters: string ownerPublicKey: Uint8Array timestampS: number witnessAddresses: string[] epoch: number context?: string } export type EncryptedClaimProof = { identifier: ClaimID enc: Uint8Array } export type ClaimProof = { parameters: string signatures: Uint8Array[] }