UNPKG

@dcxp/root

Version:

DCX: Decentralized Credential Exchange. DWN protocol for verifiable credential exchange.

59 lines (51 loc) 1.36 kB
import { AdditionalProperties, CredentialManifest, Issuer, ManifestFormat, ManifestOutputDescriptor, PresentationDefinition } from './dcx'; export type Handler = (...args: any[]) => any | Promise<any>; // Handler export type ServerHandler = { id: string; handler: Handler }; // Provider export interface Provider extends AdditionalProperties { id: string; endpoint: string; method?: string; headers?: Record<string, string>; } export class ServerProvider implements Provider { constructor( public id: string, public endpoint: string, public method?: string, public headers?: Record<string, string>, ) {} } // Manifest export class ServerManifest implements CredentialManifest { constructor( public id: string, public name: string, public description: string, public spec_version: string, public issuer: Issuer, public output_descriptors: ManifestOutputDescriptor[], public format: ManifestFormat, public presentation_definition: PresentationDefinition, ) {} } export type ServerPath = 'manifests' | 'handlers' | 'providers' | 'issuers' | 'gateways' | 'dwns'; export type DcxOptions = { manifests: ServerManifest[]; providers: Provider[]; issuers: Issuer[]; gateways: string[]; dwns: string[]; handlers: ServerHandler[]; };