UNPKG

@sphereon/ssi-sdk-ext.did-provider-key

Version:

Sphereon SSI-SDK plugin for management of did:key identifiers.

59 lines (55 loc) 1.98 kB
import { TKeyType } from '@sphereon/ssi-sdk-ext.key-utils'; import { IAgentContext, IKeyManager, IIdentifier, IKey, IService } from '@veramo/core'; import { AbstractIdentifierProvider } from '@veramo/did-manager'; import Multicodec from 'multicodec'; import { DIDResolver } from 'did-resolver'; type IContext = IAgentContext<IKeyManager>; declare class SphereonKeyDidProvider extends AbstractIdentifierProvider { private readonly kms?; constructor(options: { defaultKms?: string; }); createIdentifier({ kms, alias, options, }: { kms?: string; alias?: string; options?: { type?: TKeyType; codecName?: 'EBSI' | 'jwk_jcs-pub' | Multicodec.CodecName; key?: { type?: Exclude<TKeyType, 'Secp384r1' | 'Secp521r1'>; privateKeyHex: string; }; }; }, context: IContext): Promise<Omit<IIdentifier, 'provider'>>; updateIdentifier(args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any; }, context: IAgentContext<IKeyManager>): Promise<IIdentifier>; deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean>; addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any; }, context: IContext): Promise<any>; addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any; }, context: IContext): Promise<any>; removeKey(args: { identifier: IIdentifier; kid: string; options?: any; }, context: IContext): Promise<any>; removeService(args: { identifier: IIdentifier; id: string; options?: any; }, context: IContext): Promise<any>; } declare function getDidKeyResolver(): { key: DIDResolver; }; export { SphereonKeyDidProvider, getDidKeyResolver };