@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
text/typescript
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 };