UNPKG

@didtools/codecs

Version:
41 lines (40 loc) 995 B
import { array, keyof, optional, sparse, strict, string } from 'codeco'; export const CacaoHeader = strict({ t: keyof({ eip4361: null, caip122: null }) }, 'CacaoHeader'); export const CacaoPayload = sparse({ domain: string, iss: string, aud: string, version: string, nonce: string, iat: string, nbf: optional(string), exp: optional(string), statement: optional(string), requestId: optional(string), resources: optional(array(string)) }, 'CacaoPayload'); export const CacaoSignature = strict({ t: keyof({ eip191: null, eip1271: null, 'solana:ed25519': null, 'tezos:ed25519': null, 'stacks:secp256k1': null }), s: string }, 'CacaoSignature'); export const Cacao = sparse({ h: CacaoHeader, p: CacaoPayload, s: optional(CacaoSignature) }, 'Cacao'); export const SignedCacao = strict({ h: CacaoHeader, p: CacaoPayload, s: CacaoSignature }, 'SignedCacao');