Skip to main content

DIDMethod<TMetadata, CreatePayload, PublishPayload, UpdatePayload, DeactivatePayload>

@hyperledger/identus-sdk v8.0.0


@hyperledger/identus-sdk / overview / DIDMethod

Type Alias: DIDMethod<TMetadata, CreatePayload, PublishPayload, UpdatePayload, DeactivatePayload>

DIDMethod<TMetadata, CreatePayload, PublishPayload, UpdatePayload, DeactivatePayload> = { create: (opts: CreatePayload) => Promise<DID>; method: string; resolver: DIDResolver; verifySignature: (did: DID, challenge: Uint8Array, signature: Uint8Array) => Promise<boolean>; } & OptionalMethod<"publish", PublishPayload, DIDMethodOperation<TMetadata>> & OptionalMethod<"update", UpdatePayload, DIDMethodOperation<TMetadata>> & OptionalMethod<"deactivate", DeactivatePayload, DIDMethodOperation<TMetadata>>

Defined in: packages/lib/sdk/src/castor/methods/types.ts:54

Core abstraction for a pluggable DID method.

Implementations must provide create, verifySignature and a resolver. Lifecycle operations (publish, update, deactivate) are optional -- they only appear when the corresponding payload type parameter is not never.

Type Declaration

NameTypeDefined in
create()(opts: CreatePayload) => Promise<DID>packages/lib/sdk/src/castor/methods/types.ts:63
methodstringpackages/lib/sdk/src/castor/methods/types.ts:62
resolverDIDResolverpackages/lib/sdk/src/castor/methods/types.ts:61
verifySignature()(did: DID, challenge: Uint8Array, signature: Uint8Array) => Promise<boolean>packages/lib/sdk/src/castor/methods/types.ts:64

Type Parameters

Type ParameterDefault typeDescription
TMetadatanevermethod-specific metadata returned by lifecycle ops
CreatePayloadneveroptions accepted by create
PublishPayloadneveroptions accepted by publish (omit to disable)
UpdatePayloadneveroptions accepted by update (omit to disable)
DeactivatePayloadneveroptions accepted by deactivate (omit to disable)

Example

class MyMethod implements DIDMethod<void, MyCreateOpts> {
method = "my";
resolver = new MyResolver();
async create(opts: MyCreateOpts) { ... }
async verifySignature(did, challenge, sig) { ... }
}