@did-btcr2/method 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +223 -1
  2. package/dist/browser.js +3316 -3292
  3. package/dist/browser.mjs +3316 -3292
  4. package/dist/cjs/core/beacon/singleton.js +6 -9
  5. package/dist/cjs/core/beacon/singleton.js.map +1 -1
  6. package/dist/cjs/core/resolve.js +41 -37
  7. package/dist/cjs/core/resolve.js.map +1 -1
  8. package/dist/cjs/core/update.js +3 -4
  9. package/dist/cjs/core/update.js.map +1 -1
  10. package/dist/cjs/did-btcr2.js +32 -28
  11. package/dist/cjs/did-btcr2.js.map +1 -1
  12. package/dist/cjs/utils/did-document-builder.js +0 -6
  13. package/dist/cjs/utils/did-document-builder.js.map +1 -1
  14. package/dist/cjs/utils/did-document.js +31 -24
  15. package/dist/cjs/utils/did-document.js.map +1 -1
  16. package/dist/esm/core/beacon/singleton.js +6 -9
  17. package/dist/esm/core/beacon/singleton.js.map +1 -1
  18. package/dist/esm/core/resolve.js +41 -37
  19. package/dist/esm/core/resolve.js.map +1 -1
  20. package/dist/esm/core/update.js +3 -4
  21. package/dist/esm/core/update.js.map +1 -1
  22. package/dist/esm/did-btcr2.js +32 -28
  23. package/dist/esm/did-btcr2.js.map +1 -1
  24. package/dist/esm/utils/did-document-builder.js +0 -6
  25. package/dist/esm/utils/did-document-builder.js.map +1 -1
  26. package/dist/esm/utils/did-document.js +31 -24
  27. package/dist/esm/utils/did-document.js.map +1 -1
  28. package/dist/types/core/beacon/singleton.d.ts +1 -1
  29. package/dist/types/core/beacon/singleton.d.ts.map +1 -1
  30. package/dist/types/core/resolve.d.ts +7 -4
  31. package/dist/types/core/resolve.d.ts.map +1 -1
  32. package/dist/types/core/update.d.ts.map +1 -1
  33. package/dist/types/did-btcr2.d.ts +8 -4
  34. package/dist/types/did-btcr2.d.ts.map +1 -1
  35. package/dist/types/utils/did-document-builder.d.ts +0 -1
  36. package/dist/types/utils/did-document-builder.d.ts.map +1 -1
  37. package/dist/types/utils/did-document.d.ts +12 -9
  38. package/dist/types/utils/did-document.d.ts.map +1 -1
  39. package/package.json +7 -6
  40. package/src/core/beacon/singleton.ts +7 -9
  41. package/src/core/resolve.ts +59 -47
  42. package/src/core/update.ts +3 -3
  43. package/src/did-btcr2.ts +34 -32
  44. package/src/utils/did-document-builder.ts +0 -7
  45. package/src/utils/did-document.ts +41 -30
@@ -1,10 +1,10 @@
1
1
  import { getNetwork } from '@did-btcr2/bitcoin';
2
- import { BTCR2_DID_DOCUMENT_CONTEXT, DidDocumentError, IdentifierTypes, INVALID_DID_DOCUMENT, JSONUtils } from '@did-btcr2/common';
2
+ import { BTCR2_DID_DOCUMENT_CONTEXT, Canonicalization, DidDocumentError, IdentifierTypes, INVALID_DID_DOCUMENT, JSONUtils } from '@did-btcr2/common';
3
3
  import { CompressedSecp256k1PublicKey } from '@did-btcr2/keypair';
4
+ import { payments } from 'bitcoinjs-lib';
4
5
  import { BeaconUtils } from '../core/beacon/utils.js';
5
6
  import { Identifier } from '../core/identifier.js';
6
7
  import { Appendix } from './appendix.js';
7
- import { payments } from 'bitcoinjs-lib';
8
8
  export const ID_PLACEHOLDER_VALUE = 'did:btcr2:_';
9
9
  export const BECH32M_CHARS = '';
10
10
  export const DID_REGEX = /did:btcr2:(x1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*)/g;
@@ -37,7 +37,6 @@ export class DidVerificationMethod {
37
37
  * @type {DidDocument}
38
38
  * @implements {Btcr2DidDocument}
39
39
  * @property {string} id - The identifier of the DID Document.
40
- * @property {Array<string>} [controller] - The controller of the DID Document.
41
40
  * @property {Array<string | JSONObject>} ['@context'] - The context of the DID Document.
42
41
  * @property {Array<DidVerificationMethod>} verificationMethod - The verification methods of the DID Document.
43
42
  * @property {Array<string | DidVerificationMethod>} [authentication] - The authentication methods of the DID Document.
@@ -48,8 +47,10 @@ export class DidVerificationMethod {
48
47
  */
49
48
  export class DidDocument {
50
49
  id;
51
- controller;
52
- '@context' = BTCR2_DID_DOCUMENT_CONTEXT;
50
+ '@context' = [
51
+ 'https://www.w3.org/TR/did-1.1',
52
+ 'https://btcr2.dev/context/v1'
53
+ ];
53
54
  verificationMethod;
54
55
  authentication;
55
56
  assertionMethod;
@@ -58,22 +59,23 @@ export class DidDocument {
58
59
  service;
59
60
  deactivated;
60
61
  constructor(document) {
62
+ // Ensure document has an id
63
+ if (!document.id) {
64
+ throw new DidDocumentError('DID Document must have an id', INVALID_DID_DOCUMENT, document);
65
+ }
61
66
  // Set the ID and ID type
62
- const idType = document.id.includes('k')
67
+ const idType = document.id.includes('k1')
63
68
  ? IdentifierTypes.KEY
64
69
  : IdentifierTypes.EXTERNAL;
65
70
  // Validate ID and parts for non-intermediate
66
71
  const isGenesis = document.id === ID_PLACEHOLDER_VALUE;
67
72
  // Deconstruct the document parts for validation
68
- const { id, controller, verificationMethod: vm, service } = document;
73
+ const { id, verificationMethod: vm, service } = document;
69
74
  // If not genesis, validate core properties
70
75
  if (!isGenesis) {
71
76
  if (!DidDocument.isValidId(id)) {
72
77
  throw new DidDocumentError(`Invalid id: ${id}`, INVALID_DID_DOCUMENT, document);
73
78
  }
74
- if (!DidDocument.isValidController(controller ?? [id])) {
75
- throw new DidDocumentError(`Invalid controller: ${controller}`, INVALID_DID_DOCUMENT, document);
76
- }
77
79
  if (!DidDocument.isValidVerificationMethods(vm)) {
78
80
  throw new DidDocumentError('Invalid verificationMethod: ' + vm, INVALID_DID_DOCUMENT, document);
79
81
  }
@@ -83,10 +85,12 @@ export class DidDocument {
83
85
  }
84
86
  // Set core properties
85
87
  this.id = document.id;
86
- this.verificationMethod = document.verificationMethod;
87
- this.service = document.service;
88
- this['@context'] = document['@context'] || BTCR2_DID_DOCUMENT_CONTEXT;
89
- this.controller = document.controller || [this.id];
88
+ this.verificationMethod = document.verificationMethod || [];
89
+ this.service = document.service || [];
90
+ this['@context'] = document['@context'] || [
91
+ 'https://www.w3.org/TR/did-1.1',
92
+ 'https://btcr2.dev/context/v1'
93
+ ];
90
94
  // Relationships logic based on idType
91
95
  if (idType === IdentifierTypes.KEY) {
92
96
  // auto-generate #initialKey if missing
@@ -106,11 +110,11 @@ export class DidDocument {
106
110
  // Sanitize the DID Document
107
111
  DidDocument.sanitize(this);
108
112
  // If the DID Document is not an intermediateDocument, validate it
109
- if (!isGenesis) {
110
- DidDocument.validate(this);
113
+ if (isGenesis) {
114
+ this.validateGenesis();
111
115
  }
112
116
  else {
113
- this.validateGenesis();
117
+ DidDocument.validate(this);
114
118
  }
115
119
  }
116
120
  /**
@@ -299,10 +303,6 @@ export class DidDocument {
299
303
  if (this.id !== ID_PLACEHOLDER_VALUE) {
300
304
  throw new DidDocumentError('Invalid GenesisDocument ID', INVALID_DID_DOCUMENT, this);
301
305
  }
302
- // Validate the controller
303
- if (!this.controller?.every(c => c === ID_PLACEHOLDER_VALUE)) {
304
- throw new DidDocumentError('Invalid GenesisDocument controller', INVALID_DID_DOCUMENT, this);
305
- }
306
306
  // Validate the verificationMethod
307
307
  if (!this.verificationMethod.every(vm => vm.id.includes(ID_PLACEHOLDER_VALUE) && vm.controller === ID_PLACEHOLDER_VALUE)) {
308
308
  throw new DidDocumentError('Invalid GenesisDocument verificationMethod', INVALID_DID_DOCUMENT, this);
@@ -371,8 +371,7 @@ export class GenesisDocument extends DidDocument {
371
371
  * @returns {GenesisDocument} A new GenesisDocument with the placeholder ID.
372
372
  */
373
373
  static create(verificationMethod, relationships, service) {
374
- const id = ID_PLACEHOLDER_VALUE;
375
- return new GenesisDocument({ id, ...relationships, verificationMethod, service, });
374
+ return new GenesisDocument({ id: ID_PLACEHOLDER_VALUE, ...relationships, verificationMethod, service, });
376
375
  }
377
376
  /**
378
377
  * Create a minimal GenesisDocument from a public key.
@@ -384,7 +383,7 @@ export class GenesisDocument extends DidDocument {
384
383
  const id = ID_PLACEHOLDER_VALUE;
385
384
  const address = payments.p2pkh({ pubkey: pk.compressed, network: getNetwork(network) })?.address;
386
385
  const services = [{
387
- id: `${id}#key-0`,
386
+ id: `${id}#service-0`,
388
387
  serviceEndpoint: `bitcoin:${address}`,
389
388
  type: 'SingletonBeacon',
390
389
  }];
@@ -412,5 +411,13 @@ export class GenesisDocument extends DidDocument {
412
411
  static fromJSON(object) {
413
412
  return new GenesisDocument(object);
414
413
  }
414
+ /**
415
+ * Convert a GenesisDocument to genesis bytes.
416
+ * @param {GenesisDocument} genesisDocument The GenesisDocument to convert.
417
+ * @returns {Bytes} The genesis bytes.
418
+ */
419
+ static toGenesisBytes(genesisDocument) {
420
+ return Canonicalization.andHash(genesisDocument);
421
+ }
415
422
  }
416
423
  //# sourceMappingURL=did-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did-document.js","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,15 @@
1
- import { INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA } from '@did-btcr2/common';
1
+ import { Canonicalization, INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA } from '@did-btcr2/common';
2
2
  import { SchnorrKeyPair } from '@did-btcr2/keypair';
3
3
  import { Signer } from '@did-btcr2/kms';
4
4
  import { opcodes, Psbt, script } from 'bitcoinjs-lib';
5
5
  import { base58btc } from 'multiformats/bases/base58';
6
- import { canonicalization } from '../../did-btcr2.js';
7
6
  import { Beacon } from './beacon.js';
8
7
  import { SingletonBeaconError } from './error.js';
9
8
  /**
10
9
  * Implements {@link https://dcdpr.github.io/did-btcr2/terminology.html#singleton-beacon | Singleton Beacon}.
11
10
  * @class SingletonBeacon
12
11
  * @type {SingletonBeacon}
13
- * @extends {AggregateBeacon}
12
+ * @extends {Beacon}
14
13
  */
15
14
  export class SingletonBeacon extends Beacon {
16
15
  /**
@@ -40,7 +39,7 @@ export class SingletonBeacon extends Beacon {
40
39
  throw new SingletonBeaconError(`BTCR2 Signed Update not found for update hash ${updateHash}.`, MISSING_UPDATE_DATA, signal);
41
40
  }
42
41
  // Canonicalize, hash and encode to base58 the signed update object found in sidecar or CAS
43
- const encodedUpdate = canonicalization.process(signedUpdate, { encoding: 'base58' });
42
+ const encodedUpdate = Canonicalization.process(signedUpdate, { encoding: 'base58' });
44
43
  // Encode the signal bytes hex string to base58
45
44
  const signalBytes = base58btc.encode(Buffer.from(updateHash, 'hex'));
46
45
  // Check for mismatch between found sidecar/cas update hash and onchain beacon signal hash
@@ -80,7 +79,7 @@ export class SingletonBeacon extends Beacon {
80
79
  // Get the previous tx to the utxo being spent
81
80
  const prevTx = await bitcoin.network.rest.transaction.getHex(utxo.txid);
82
81
  // Canonicalize and hash the signed update for OP_RETURN output
83
- const updateHash = canonicalization.canonicalhash(signedUpdate);
82
+ const updateHash = Canonicalization.andHash(signedUpdate);
84
83
  // Construct a spend transaction
85
84
  const spendTx = new Psbt({ network: bitcoin.network.data })
86
85
  // Spend tx contains the utxo as its input
@@ -96,9 +95,6 @@ export class SingletonBeacon extends Beacon {
96
95
  .addOutput({ script: script.compile([opcodes.OP_RETURN, updateHash]), value: 0n });
97
96
  // Construct a Schnorr key pair from the secret key
98
97
  const keyPair = SchnorrKeyPair.fromSecret(secretKey);
99
- if (!keyPair) {
100
- throw new SingletonBeaconError('Key pair not found.', 'KEY_PAIR_NOT_FOUND', { secretKey });
101
- }
102
98
  // Construct a signer object from the key pair and bitcoin network
103
99
  const signer = new Signer({ keyPair, network: bitcoin.network.name });
104
100
  // Sign 0th input, finalize extract to hex in prep for broadcast
@@ -108,7 +104,8 @@ export class SingletonBeacon extends Beacon {
108
104
  .toHex();
109
105
  // Broadcast spendTx to the Bitcoin network.
110
106
  const txid = await bitcoin.network.rest.transaction.send(signedTx);
111
- console.info(`Broadcasted Singleton Beacon signal with txid ${txid}`);
107
+ // Log the txid of the broadcasted transaction
108
+ console.info(`Singleton Beacon Signal Broadcasted with txid: ${txid}`);
112
109
  // Return the signed update
113
110
  return signedUpdate;
114
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { getNetwork } from '@did-btcr2/bitcoin';
2
- import { DateUtils, IdentifierHrp, INVALID_DID, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, JSONPatch, JSONUtils, LATE_PUBLISHING_ERROR, MISSING_UPDATE_DATA, ResolveError } from '@did-btcr2/common';
2
+ import { Canonicalization, DateUtils, IdentifierHrp, INVALID_DID, INVALID_DID_DOCUMENT, INVALID_DID_UPDATE, JSONPatch, JSONUtils, LATE_PUBLISHING_ERROR, MISSING_UPDATE_DATA, ResolveError } from '@did-btcr2/common';
3
3
  import { BIP340Cryptosuite, BIP340DataIntegrityProof, SchnorrMultikey } from '@did-btcr2/cryptosuite';
4
4
  import { CompressedSecp256k1PublicKey } from '@did-btcr2/keypair';
5
5
  import { bytesToHex } from '@noble/hashes/utils';
6
- import { canonicalization, DidBtcr2 } from '../did-btcr2.js';
6
+ import { DidBtcr2 } from '../did-btcr2.js';
7
7
  import { Appendix } from '../utils/appendix.js';
8
8
  import { DidDocument, ID_PLACEHOLDER_VALUE } from '../utils/did-document.js';
9
9
  import { BeaconFactory } from './beacon/factory.js';
@@ -41,7 +41,6 @@ export class Resolve {
41
41
  });
42
42
  return new DidDocument({
43
43
  id: did,
44
- controller: [did],
45
44
  verificationMethod: [{
46
45
  id: `${did}#initialKey`,
47
46
  type: 'Multikey',
@@ -60,7 +59,7 @@ export class Resolve {
60
59
  */
61
60
  static async external(didComponents, genesisDocument) {
62
61
  // Canonicalize and sha256 hash the currentDocument
63
- const hashBytes = canonicalization.process(genesisDocument, { encoding: 'hex' });
62
+ const hashBytes = Canonicalization.process(genesisDocument, { encoding: 'hex' });
64
63
  // Compare the genesisBytes to the hashBytes
65
64
  const genesisBytes = bytesToHex(didComponents.genesisBytes);
66
65
  // If the genesisBytes do not match the hashBytes, throw an error
@@ -84,13 +83,13 @@ export class Resolve {
84
83
  const updateMap = new Map();
85
84
  if (sidecar.updates?.length)
86
85
  for (const update of sidecar.updates) {
87
- updateMap.set(canonicalization.process(update, { encoding: 'hex' }), update);
86
+ updateMap.set(Canonicalization.process(update, { encoding: 'hex' }), update);
88
87
  }
89
88
  // CAS Announcements map
90
89
  const casMap = new Map();
91
90
  if (sidecar.casUpdates?.length)
92
91
  for (const update of sidecar.casUpdates) {
93
- casMap.set(canonicalization.process(update, { encoding: 'hex' }), update);
92
+ casMap.set(Canonicalization.process(update, { encoding: 'hex' }), update);
94
93
  }
95
94
  // SMT Proofs map
96
95
  const smtMap = new Map();
@@ -144,14 +143,14 @@ export class Resolve {
144
143
  ? await BeaconSignalDiscovery.indexer(beaconServices, bitcoin)
145
144
  : await BeaconSignalDiscovery.fullnode(beaconServices, bitcoin);
146
145
  // Process each beacon's signals in parallel
147
- const promises = Array.from(beaconServicesSignals.entries()).map(async ([service, signals]) => {
146
+ const promises = await Promise.all(Array.from(beaconServicesSignals.entries()).map(async ([service, signals]) => {
148
147
  // Skip beacons with no signals
149
148
  if (!signals.length)
150
149
  return [];
151
150
  // Establish a typed beacon and process its signals
152
151
  return BeaconFactory.establish(service).processSignals(signals, sidecarData);
153
- });
154
- return (await Promise.all(promises)).flat();
152
+ }));
153
+ return promises.flat();
155
154
  }
156
155
  /**
157
156
  * Implements subsection {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-updates | 7.2.f Process updates Array}.
@@ -170,26 +169,30 @@ export class Resolve {
170
169
  const updates = unsortedUpdates.sort(([upd0, blk0], [upd1, blk1]) => upd0.targetVersionId - upd1.targetVersionId || blk0.height - blk1.height);
171
170
  // Create a default response object
172
171
  const response = {
173
- currentDocument,
174
- versionId: `${currentVersionId}`,
175
- confirmations: 0,
176
- updated: ''
172
+ didDocument: currentDocument,
173
+ metadata: {
174
+ versionId: `${currentVersionId}`,
175
+ confirmations: 0,
176
+ updated: '',
177
+ deactivated: currentDocument.deactivated || false
178
+ }
177
179
  };
178
180
  // Iterate over each (update block) pair
179
181
  for (const [update, block] of updates) {
180
182
  // Get the hash of the current document
181
- const currentDocumentHash = canonicalization.process(response.currentDocument, { encoding: 'base58' });
182
- // Set confirmations to the block confirmations
183
- response.confirmations = block.confirmations;
184
- // Safely convert versionTime to timestamp
185
- const vTime = DateUtils.dateStringToTimestamp(versionTime || '');
186
- // Safely convert block.blocktime to timestamp
187
- const bTime = DateUtils.blocktimeToTimestamp(block.time);
183
+ const currentDocumentHash = Canonicalization.process(response.didDocument, { encoding: 'base58' });
184
+ // Safely convert block.time to timestamp
185
+ const blocktime = DateUtils.blocktimeToTimestamp(block.time);
188
186
  // Set the updated field to the blocktime of the current update
189
- response.updated = DateUtils.toISOStringNonFractional(bTime);
187
+ response.metadata.updated = DateUtils.toISOStringNonFractional(blocktime);
188
+ // Set confirmations to the block confirmations
189
+ response.metadata.confirmations = block.confirmations;
190
190
  // if resolutionOptions.versionTime is defined and the blocktime is more recent, return currentDocument
191
- if (vTime < bTime) {
192
- return response;
191
+ if (versionTime) {
192
+ // Safely convert versionTime to timestamp
193
+ if (blocktime > DateUtils.dateStringToTimestamp(versionTime)) {
194
+ return response;
195
+ }
193
196
  }
194
197
  // Check update.targetVersionId against currentVersionId
195
198
  // If update.targetVersionId <= currentVersionId, confirm duplicate update
@@ -199,37 +202,38 @@ export class Resolve {
199
202
  }
200
203
  // If update.targetVersionId == currentVersionId + 1, apply the update
201
204
  else if (update.targetVersionId === currentVersionId + 1) {
202
- // Prepend `z` to the sourceHash if it does not start with it
203
- const sourceHash = update.sourceHash.startsWith('z') ? update.sourceHash : `z${update.sourceHash}`;
204
205
  // Check if update.sourceHash !== currentDocumentHash
205
- if (sourceHash !== currentDocumentHash) {
206
+ if (update.sourceHash !== currentDocumentHash) {
206
207
  // Raise an INVALID_DID_UPDATE error if they do not match
207
- throw new ResolveError(`Hash mismatch: update.sourceHash !== currentDocumentHash`, INVALID_DID_UPDATE, { sourceHash, currentDocumentHash });
208
+ throw new ResolveError(`Hash mismatch: update.sourceHash !== currentDocumentHash`, INVALID_DID_UPDATE, { sourceHash: update.sourceHash, currentDocumentHash });
208
209
  }
209
210
  // Apply the update to the currentDocument and set it in the response
210
- response.currentDocument = await this.applyUpdate(response.currentDocument, update);
211
+ response.didDocument = await this.applyUpdate(response.didDocument, update);
211
212
  // Create unsigned_update by removing the proof property from update.
212
213
  const unsignedUpdate = JSONUtils.deleteKeys(update, ['proof']);
213
214
  // Push the canonicalized unsigned update hash to the updateHashHistory
214
- updateHashHistory.push(canonicalization.process(unsignedUpdate, { encoding: 'base58' }));
215
+ updateHashHistory.push(Canonicalization.process(unsignedUpdate, { encoding: 'base58' }));
215
216
  }
216
217
  // If update.targetVersionId > currentVersionId + 1, throw LATE_PUBLISHING error
217
218
  else if (update.targetVersionId > currentVersionId + 1) {
218
219
  throw new ResolveError(`Version Id Mismatch: targetVersionId cannot be > currentVersionId + 1`, 'LATE_PUBLISHING_ERROR', {
219
220
  targetVersionId: update.targetVersionId,
220
- currentVersionId: String(currentVersionId + 1)
221
+ currentVersionId: currentVersionId + 1
221
222
  });
222
223
  }
223
224
  // Increment currentVersionId
224
225
  currentVersionId++;
225
- // Set currentVersionId in response
226
- response.versionId = `${currentVersionId}`;
226
+ // Set response.versionId to be the new currentVersionId
227
+ response.metadata.versionId = `${currentVersionId}`;
227
228
  // If resolutionOptions.versionId is defined and <= currentVersionId, return currentDocument
228
229
  if (currentVersionId >= Number(versionId)) {
229
230
  return response;
230
231
  }
231
232
  // Check if the current document is deactivated before further processing
232
233
  if (currentDocument.deactivated) {
234
+ // Set the response deactivated flag to true
235
+ response.metadata.deactivated = currentDocument.deactivated;
236
+ // If deactivated, stop processing further updates and return the response
233
237
  return response;
234
238
  }
235
239
  }
@@ -244,10 +248,10 @@ export class Resolve {
244
248
  */
245
249
  static confirmDuplicate(update, updateHashHistory) {
246
250
  // Create unsigned_update by removing the proof property from update.
247
- const unsignedUpdate = JSONUtils.deleteKeys(update, ['proof']);
251
+ const { proof: _, ...unsignedUpdate } = update;
248
252
  // Hash unsignedUpdate with JSON Document Hashing algorithm
249
- const unsignedUpdateHash = canonicalization.process(unsignedUpdate);
250
- // 5. Let historicalUpdateHash equal updateHashHistory[updateHashIndex].
253
+ const unsignedUpdateHash = Canonicalization.process(unsignedUpdate);
254
+ // Let historicalUpdateHash equal updateHashHistory[updateHashIndex].
251
255
  const historicalUpdateHash = updateHashHistory[update.targetVersionId - 2];
252
256
  // Check if the updateHash matches the historical hash
253
257
  if (updateHashHistory[update.targetVersionId - 2] !== unsignedUpdateHash) {
@@ -292,7 +296,7 @@ export class Resolve {
292
296
  // Construct a new BIP340Cryptosuite with the SchnorrMultikey.
293
297
  const cryptosuite = new BIP340Cryptosuite(multikey);
294
298
  // Canonicalize the update
295
- const canonicalUpdate = canonicalization.canonicalize(update);
299
+ const canonicalUpdate = Canonicalization.canonicalize(update);
296
300
  // Construct a DataIntegrityProof with the cryptosuite
297
301
  const diProof = new BIP340DataIntegrityProof(cryptosuite);
298
302
  // Call the verifyProof method
@@ -306,7 +310,7 @@ export class Resolve {
306
310
  // Verify that updatedDocument is conformant to DID Core v1.1.
307
311
  DidDocument.validate(updatedDocument);
308
312
  // Canonicalize and hash the updatedDocument to get the currentDocumentHash.
309
- const currentDocumentHash = canonicalization.process(currentDocument, { encoding: 'base58' });
313
+ const currentDocumentHash = Canonicalization.process(updatedDocument, { encoding: 'base58' });
310
314
  // Prepare the update targetHash for comparison with currentDocumentHash.
311
315
  const updateTargetHash = update.targetHash.startsWith('z') ? update.targetHash : `z${update.targetHash}`;
312
316
  // Make sure the update.targetHash equals currentDocumentHash.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { INVALID_DID_UPDATE, JSONPatch, UpdateError } from '@did-btcr2/common';
1
+ import { Canonicalization, INVALID_DID_UPDATE, JSONPatch, UpdateError } from '@did-btcr2/common';
2
2
  import { SchnorrMultikey } from '@did-btcr2/cryptosuite';
3
- import { canonicalization } from '../did-btcr2.js';
4
3
  import { DidDocument } from '../utils/did-document.js';
5
4
  import { BeaconFactory } from './beacon/factory.js';
6
5
  /**
@@ -38,7 +37,7 @@ export class Update {
38
37
  patch: patches,
39
38
  targetHash: '',
40
39
  targetVersionId: sourceVersionId + 1,
41
- sourceHash: canonicalization.process(sourceDocument, { encoding: 'base58' }),
40
+ sourceHash: Canonicalization.process(sourceDocument, { encoding: 'base58' }),
42
41
  };
43
42
  // Apply all JSON patches to sourceDocument.
44
43
  const targetDocument = JSONPatch.apply(sourceDocument, patches);
@@ -51,7 +50,7 @@ export class Update {
51
50
  throw new UpdateError('Error validating targetDocument: ' + (error instanceof Error ? error.message : String(error)), INVALID_DID_UPDATE, targetDocument);
52
51
  }
53
52
  // Set the targetHash by canonicalizing the targetDocument and encoding it in base58.
54
- unsignedUpdate.targetHash = canonicalization.process(targetDocument, { encoding: 'base58' });
53
+ unsignedUpdate.targetHash = Canonicalization.process(targetDocument, { encoding: 'base58' });
55
54
  // Return unsignedUpdate.
56
55
  return unsignedUpdate;
57
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/core/update.ts"],"names":[],"mappings":"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"}