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
| Name | Type | Defined in |
|---|---|---|
create() | (opts: CreatePayload) => Promise<DID> | packages/lib/sdk/src/castor/methods/types.ts:63 |
method | string | packages/lib/sdk/src/castor/methods/types.ts:62 |
resolver | DIDResolver | packages/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 Parameter | Default type | Description |
|---|---|---|
TMetadata | never | method-specific metadata returned by lifecycle ops |
CreatePayload | never | options accepted by create |
PublishPayload | never | options accepted by publish (omit to disable) |
UpdatePayload | never | options accepted by update (omit to disable) |
DeactivatePayload | never | options 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) { ... }
}