Class: Deactivate ​
Defined in: packages/method/src/core/crud/deactivate.ts:13
Implements 4.4 Deactivate To deactivate a did:btcr2, the DID controller MUST add the property deactivated with the value true on the DID document. To do this, the DID controller constructs a valid DID Update Payload with a JSON patch that adds this property and announces the payload through a Beacon in their current DID document following the algorithm in Update. Once a did:btcr2 has been deactivated this state is considered permanent and resolution MUST terminate. Deactivate
Extends ​
Constructors ​
Constructor ​
new Deactivate():
Deactivate
Returns ​
Deactivate
Inherited from ​
Properties ​
methodName ​
staticmethodName:string='btcr2'
Defined in: packages/method/src/did-btcr2.ts:53
Inherited from ​
Methods ​
create() ​
staticcreate(params):Promise<string>
Defined in: packages/method/src/did-btcr2.ts:73
Entry point for section 4.1 Create. See Create for implementation details.
A did:btcr2 identifier and associated DID document can either be created deterministically from a cryptographic seed, or it can be created from an arbitrary genesis intermediate DID document representation. In both cases, DID creation can be undertaken in an offline manner, i.e., the DID controller does not need to interact with the Bitcoin network to create their DID.
Parameters ​
params ​
See CreateParams for details.
genesisBytes ​
idType ​
"KEY" | "EXTERNAL"
Type of identifier to create (key or external).
options? ​
See DidCreateOptions for create options.
Returns ​
Promise<string>
Promise resolving to a CreateResponse object.
Throws ​
if any of the checks fail
Inherited from ​
getSigningMethod() ​
staticgetSigningMethod(params):DidVerificationMethod
Defined in: packages/method/src/did-btcr2.ts:259
Given the W3C DID Document of a did:btcr2 identifier, return the signing verification method that will be used for signing messages and credentials. If given, the methodId parameter is used to select the verification method. If not given, the Identity Key's verification method with an ID fragment of '#initialKey' is used.
Parameters ​
params ​
Parameters for the getSigningMethod method.
didDocument ​
DID Document to get the verification method from.
methodId? ​
string
Optional ID of the verification method to use for signing.
Returns ​
Promise resolving to the DidVerificationMethod object used for signing.
Throws ​
if the parsed did method does not match btcr2 or signing method could not be determined.
Inherited from ​
resolve() ​
staticresolve(identifier,resolutionsOptions?):Promise<DidResolutionResult>
Defined in: packages/method/src/did-btcr2.ts:115
Entry point for section 7.2 Read. See Resolve for implementation details.
The Read operation is an algorithm consisting of a series of subroutine algorithms executed by a resolver after a resolution request identifying a specific did:btcr2 identifier is received from a client at Resolution Time. The request MUST always contain the resolutionOptions object containing additional information to be used in resolution. This object MAY be empty. See the DID Resolution specification for further details about the DID Resolution Options object. The resolver then attempts to resolve the DID document of the identifier at a specific Target Time. The Target Time is either provided in resolutionOptions or is set to the Resolution Time of the request.
Parameters ​
identifier ​
string
a valid did:btcr2 identifier to be resolved
resolutionsOptions? ​
DidResolutionOptions = {}
Returns ​
Promise<DidResolutionResult>
Promise resolving to a DID Resolution Result containing the targetDocument
Throws ​
if the resolution fails for any reason
Throws ​
InvalidDid if the identifier is invalid
Example ​
const resolution = await DidBtcr2.resolve('did:btcr2:k1q0dygyp3gz969tp46dychzy4q78c2k3js68kvyr0shanzg67jnuez2cfplh')Inherited from ​
update() ​
staticupdate(params):Promise<SignalsMetadata>
Defined in: packages/method/src/did-btcr2.ts:185
Entry point for section 4.3 Update. See Update for implementation details.
An update to a did:btcr2 document is an invoked capability using the ZCAP-LD data format, signed by a verificationMethod that has the authority to make the update as specified in the previous DID document. Capability invocations for updates MUST be authorized using Data Integrity following the bip340-jcs-2025 cryptosuite with a proofPurpose of capabilityInvocation.
The Update algorithm takes as inputs a Identifier, sourceDocument, sourceVersionId, documentPatch, a verificationMethodId and an array of beaconIds. The sourceDocument is the DID document being updated. The documentPatch is a JSON Patch object containing a set of transformations to be applied to the sourceDocument. The result of these transformations MUST produce a DID document conformant to the DID Core specification. The verificationMethodId is an identifier for a verificationMethod within the sourceDocument. The verificationMethod identified MUST be a BIP340 Multikey. The beaconIds MUST identify service endpoints with one of the three Beacon Types SingletonBeacon, CIDAggregateBeacon, and SMTAggregateBeacon.
Parameters ​
params ​
Required parameters for the update operation.
beaconIds ​
string[]
The beacon IDs to announce the update
identifier ​
string
The btcr2 identifier to be updated.
patch ​
sourceDocument ​
The DID document being updated.
sourceVersionId ​
number
The versionId of the source document.
verificationMethodId ​
string
The verificationMethod ID to sign the update
Returns ​
Promise<SignalsMetadata>
Promise resolving to void
Throws ​
if the verificationMethod type is not Multikey or the publicKeyMultibase header is not zQ3s