@did-btcr2/method 0.43.0 → 0.44.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.
package/dist/browser.js CHANGED
@@ -93170,6 +93170,8 @@ a=end-of-candidates
93170
93170
  GenesisDocument: () => GenesisDocument,
93171
93171
  ID_PLACEHOLDER_VALUE: () => ID_PLACEHOLDER_VALUE,
93172
93172
  Identifier: () => Identifier,
93173
+ MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX: () => MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX,
93174
+ MULTIKEY_VERIFICATION_METHOD_TYPE: () => MULTIKEY_VERIFICATION_METHOD_TYPE,
93173
93175
  P2PKH_BEACON_TX_VSIZE: () => P2PKH_BEACON_TX_VSIZE,
93174
93176
  P2TR_BEACON_TX_VSIZE: () => P2TR_BEACON_TX_VSIZE,
93175
93177
  P2WPKH_BEACON_TX_VSIZE: () => P2WPKH_BEACON_TX_VSIZE,
@@ -93187,6 +93189,7 @@ a=end-of-candidates
93187
93189
  deriveSingletonAddress: () => deriveSingletonAddress,
93188
93190
  detectSingletonScriptKind: () => detectSingletonScriptKind,
93189
93191
  extractOpReturnSignal: () => extractOpReturnSignal,
93192
+ isMultikeyVerificationMethod: () => isMultikeyVerificationMethod,
93190
93193
  opReturnScript: () => opReturnScript,
93191
93194
  resolveBtcr2SenderPk: () => resolveBtcr2SenderPk,
93192
93195
  resolveChangeAddress: () => resolveChangeAddress
@@ -118609,9 +118612,18 @@ a=end-of-candidates
118609
118612
  "https://www.w3.org/ns/did/v1.1",
118610
118613
  "https://btcr2.dev/context/v1"
118611
118614
  ];
118615
+ var MULTIKEY_VERIFICATION_METHOD_TYPE = "Multikey";
118616
+ var MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX = "zQ3s";
118612
118617
  var ID_PLACEHOLDER_VALUE = "did:btcr2:_";
118613
118618
  var BECH32M_CHARS = "";
118614
118619
  var DID_REGEX = /did:btcr2:(x1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*)/g;
118620
+ function isMultikeyVerificationMethod(vm) {
118621
+ if (!Appendix.isDidVerificationMethod(vm)) {
118622
+ return false;
118623
+ }
118624
+ const { type, publicKeyMultibase } = vm;
118625
+ return type === MULTIKEY_VERIFICATION_METHOD_TYPE && typeof publicKeyMultibase === "string" && publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX);
118626
+ }
118615
118627
  var DidVerificationMethod = class {
118616
118628
  id;
118617
118629
  type;
@@ -118619,6 +118631,20 @@ a=end-of-candidates
118619
118631
  publicKeyMultibase;
118620
118632
  secretKeyMultibase;
118621
118633
  constructor({ id, type, controller, publicKeyMultibase, secretKeyMultibase }) {
118634
+ if (type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
118635
+ throw new DidDocumentError(
118636
+ `Invalid verification method: type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
118637
+ INVALID_DID_DOCUMENT,
118638
+ { id, type }
118639
+ );
118640
+ }
118641
+ if (typeof publicKeyMultibase !== "string" || !publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
118642
+ throw new DidDocumentError(
118643
+ `Invalid verification method: publicKeyMultibase must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
118644
+ INVALID_DID_DOCUMENT,
118645
+ { id, publicKeyMultibase }
118646
+ );
118647
+ }
118622
118648
  this.id = id;
118623
118649
  this.type = type;
118624
118650
  this.controller = controller;
@@ -118777,10 +118803,8 @@ a=end-of-candidates
118777
118803
  * @returns {boolean} True if the context is valid.
118778
118804
  */
118779
118805
  static isValidContext(context) {
118780
- if (!context) return false;
118781
- if (!Array.isArray(context)) return false;
118782
- if (!context.every((ctx) => typeof ctx === "string" && BTCR2_DID_DOCUMENT_CONTEXT.includes(ctx))) return false;
118783
- return true;
118806
+ if (!Array.isArray(context) || context.length === 0) return false;
118807
+ return BTCR2_DID_DOCUMENT_CONTEXT.every((required) => context.includes(required));
118784
118808
  }
118785
118809
  /**
118786
118810
  * Validates that the DID Document has a valid id.
@@ -118804,7 +118828,7 @@ a=end-of-candidates
118804
118828
  * @returns {boolean} True if the verification methods are valid.
118805
118829
  */
118806
118830
  static isValidVerificationMethods(verificationMethod) {
118807
- return Array.isArray(verificationMethod) && verificationMethod.every(Appendix.isDidVerificationMethod);
118831
+ return Array.isArray(verificationMethod) && verificationMethod.every(isMultikeyVerificationMethod);
118808
118832
  }
118809
118833
  /**
118810
118834
  * Validates that the DID Document has valid services.
@@ -119346,16 +119370,16 @@ a=end-of-candidates
119346
119370
  { sourceDocument, verificationMethodId }
119347
119371
  );
119348
119372
  }
119349
- if (verificationMethod.type !== "Multikey") {
119373
+ if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
119350
119374
  throw new UpdateError(
119351
- 'Invalid verificationMethod: verificationMethod.type must be "Multikey"',
119375
+ `Invalid verificationMethod: verificationMethod.type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
119352
119376
  INVALID_DID_DOCUMENT,
119353
119377
  verificationMethod
119354
119378
  );
119355
119379
  }
119356
- if (verificationMethod.publicKeyMultibase?.slice(0, 4) !== "zQ3s") {
119380
+ if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
119357
119381
  throw new UpdateError(
119358
- 'Invalid verificationMethodId: publicKeyMultibase prefix must start with "zQ3s"',
119382
+ `Invalid verificationMethodId: publicKeyMultibase prefix must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
119359
119383
  INVALID_DID_DOCUMENT,
119360
119384
  verificationMethod
119361
119385
  );
package/dist/browser.mjs CHANGED
@@ -118560,9 +118560,18 @@ var BTCR2_DID_DOCUMENT_CONTEXT = [
118560
118560
  "https://www.w3.org/ns/did/v1.1",
118561
118561
  "https://btcr2.dev/context/v1"
118562
118562
  ];
118563
+ var MULTIKEY_VERIFICATION_METHOD_TYPE = "Multikey";
118564
+ var MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX = "zQ3s";
118563
118565
  var ID_PLACEHOLDER_VALUE = "did:btcr2:_";
118564
118566
  var BECH32M_CHARS = "";
118565
118567
  var DID_REGEX = /did:btcr2:(x1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*)/g;
118568
+ function isMultikeyVerificationMethod(vm) {
118569
+ if (!Appendix.isDidVerificationMethod(vm)) {
118570
+ return false;
118571
+ }
118572
+ const { type, publicKeyMultibase } = vm;
118573
+ return type === MULTIKEY_VERIFICATION_METHOD_TYPE && typeof publicKeyMultibase === "string" && publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX);
118574
+ }
118566
118575
  var DidVerificationMethod = class {
118567
118576
  id;
118568
118577
  type;
@@ -118570,6 +118579,20 @@ var DidVerificationMethod = class {
118570
118579
  publicKeyMultibase;
118571
118580
  secretKeyMultibase;
118572
118581
  constructor({ id, type, controller, publicKeyMultibase, secretKeyMultibase }) {
118582
+ if (type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
118583
+ throw new DidDocumentError(
118584
+ `Invalid verification method: type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
118585
+ INVALID_DID_DOCUMENT,
118586
+ { id, type }
118587
+ );
118588
+ }
118589
+ if (typeof publicKeyMultibase !== "string" || !publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
118590
+ throw new DidDocumentError(
118591
+ `Invalid verification method: publicKeyMultibase must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
118592
+ INVALID_DID_DOCUMENT,
118593
+ { id, publicKeyMultibase }
118594
+ );
118595
+ }
118573
118596
  this.id = id;
118574
118597
  this.type = type;
118575
118598
  this.controller = controller;
@@ -118728,10 +118751,8 @@ var DidDocument = class _DidDocument {
118728
118751
  * @returns {boolean} True if the context is valid.
118729
118752
  */
118730
118753
  static isValidContext(context) {
118731
- if (!context) return false;
118732
- if (!Array.isArray(context)) return false;
118733
- if (!context.every((ctx) => typeof ctx === "string" && BTCR2_DID_DOCUMENT_CONTEXT.includes(ctx))) return false;
118734
- return true;
118754
+ if (!Array.isArray(context) || context.length === 0) return false;
118755
+ return BTCR2_DID_DOCUMENT_CONTEXT.every((required) => context.includes(required));
118735
118756
  }
118736
118757
  /**
118737
118758
  * Validates that the DID Document has a valid id.
@@ -118755,7 +118776,7 @@ var DidDocument = class _DidDocument {
118755
118776
  * @returns {boolean} True if the verification methods are valid.
118756
118777
  */
118757
118778
  static isValidVerificationMethods(verificationMethod) {
118758
- return Array.isArray(verificationMethod) && verificationMethod.every(Appendix.isDidVerificationMethod);
118779
+ return Array.isArray(verificationMethod) && verificationMethod.every(isMultikeyVerificationMethod);
118759
118780
  }
118760
118781
  /**
118761
118782
  * Validates that the DID Document has valid services.
@@ -119297,16 +119318,16 @@ var DidBtcr2 = class {
119297
119318
  { sourceDocument, verificationMethodId }
119298
119319
  );
119299
119320
  }
119300
- if (verificationMethod.type !== "Multikey") {
119321
+ if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
119301
119322
  throw new UpdateError(
119302
- 'Invalid verificationMethod: verificationMethod.type must be "Multikey"',
119323
+ `Invalid verificationMethod: verificationMethod.type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
119303
119324
  INVALID_DID_DOCUMENT,
119304
119325
  verificationMethod
119305
119326
  );
119306
119327
  }
119307
- if (verificationMethod.publicKeyMultibase?.slice(0, 4) !== "zQ3s") {
119328
+ if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
119308
119329
  throw new UpdateError(
119309
- 'Invalid verificationMethodId: publicKeyMultibase prefix must start with "zQ3s"',
119330
+ `Invalid verificationMethodId: publicKeyMultibase prefix must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
119310
119331
  INVALID_DID_DOCUMENT,
119311
119332
  verificationMethod
119312
119333
  );
@@ -119916,6 +119937,8 @@ export {
119916
119937
  GenesisDocument,
119917
119938
  ID_PLACEHOLDER_VALUE,
119918
119939
  Identifier,
119940
+ MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX,
119941
+ MULTIKEY_VERIFICATION_METHOD_TYPE,
119919
119942
  P2PKH_BEACON_TX_VSIZE,
119920
119943
  P2TR_BEACON_TX_VSIZE,
119921
119944
  P2WPKH_BEACON_TX_VSIZE,
@@ -119933,6 +119956,7 @@ export {
119933
119956
  deriveSingletonAddress,
119934
119957
  detectSingletonScriptKind,
119935
119958
  extractOpReturnSignal,
119959
+ isMultikeyVerificationMethod,
119936
119960
  opReturnScript,
119937
119961
  resolveBtcr2SenderPk,
119938
119962
  resolveChangeAddress
package/dist/cjs/index.js CHANGED
@@ -53,6 +53,8 @@ __export(index_exports, {
53
53
  GenesisDocument: () => GenesisDocument,
54
54
  ID_PLACEHOLDER_VALUE: () => ID_PLACEHOLDER_VALUE,
55
55
  Identifier: () => Identifier,
56
+ MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX: () => MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX,
57
+ MULTIKEY_VERIFICATION_METHOD_TYPE: () => MULTIKEY_VERIFICATION_METHOD_TYPE,
56
58
  P2PKH_BEACON_TX_VSIZE: () => P2PKH_BEACON_TX_VSIZE,
57
59
  P2TR_BEACON_TX_VSIZE: () => P2TR_BEACON_TX_VSIZE,
58
60
  P2WPKH_BEACON_TX_VSIZE: () => P2WPKH_BEACON_TX_VSIZE,
@@ -70,6 +72,7 @@ __export(index_exports, {
70
72
  deriveSingletonAddress: () => deriveSingletonAddress,
71
73
  detectSingletonScriptKind: () => detectSingletonScriptKind,
72
74
  extractOpReturnSignal: () => extractOpReturnSignal,
75
+ isMultikeyVerificationMethod: () => isMultikeyVerificationMethod,
73
76
  opReturnScript: () => opReturnScript,
74
77
  resolveBtcr2SenderPk: () => resolveBtcr2SenderPk,
75
78
  resolveChangeAddress: () => resolveChangeAddress
@@ -2233,9 +2236,18 @@ var BTCR2_DID_DOCUMENT_CONTEXT = [
2233
2236
  "https://www.w3.org/ns/did/v1.1",
2234
2237
  "https://btcr2.dev/context/v1"
2235
2238
  ];
2239
+ var MULTIKEY_VERIFICATION_METHOD_TYPE = "Multikey";
2240
+ var MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX = "zQ3s";
2236
2241
  var ID_PLACEHOLDER_VALUE = "did:btcr2:_";
2237
2242
  var BECH32M_CHARS = "";
2238
2243
  var DID_REGEX = /did:btcr2:(x1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*)/g;
2244
+ function isMultikeyVerificationMethod(vm) {
2245
+ if (!Appendix.isDidVerificationMethod(vm)) {
2246
+ return false;
2247
+ }
2248
+ const { type, publicKeyMultibase } = vm;
2249
+ return type === MULTIKEY_VERIFICATION_METHOD_TYPE && typeof publicKeyMultibase === "string" && publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX);
2250
+ }
2239
2251
  var DidVerificationMethod = class {
2240
2252
  id;
2241
2253
  type;
@@ -2243,6 +2255,20 @@ var DidVerificationMethod = class {
2243
2255
  publicKeyMultibase;
2244
2256
  secretKeyMultibase;
2245
2257
  constructor({ id, type, controller, publicKeyMultibase, secretKeyMultibase }) {
2258
+ if (type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
2259
+ throw new import_common9.DidDocumentError(
2260
+ `Invalid verification method: type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
2261
+ import_common9.INVALID_DID_DOCUMENT,
2262
+ { id, type }
2263
+ );
2264
+ }
2265
+ if (typeof publicKeyMultibase !== "string" || !publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
2266
+ throw new import_common9.DidDocumentError(
2267
+ `Invalid verification method: publicKeyMultibase must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
2268
+ import_common9.INVALID_DID_DOCUMENT,
2269
+ { id, publicKeyMultibase }
2270
+ );
2271
+ }
2246
2272
  this.id = id;
2247
2273
  this.type = type;
2248
2274
  this.controller = controller;
@@ -2401,10 +2427,8 @@ var DidDocument = class _DidDocument {
2401
2427
  * @returns {boolean} True if the context is valid.
2402
2428
  */
2403
2429
  static isValidContext(context) {
2404
- if (!context) return false;
2405
- if (!Array.isArray(context)) return false;
2406
- if (!context.every((ctx) => typeof ctx === "string" && BTCR2_DID_DOCUMENT_CONTEXT.includes(ctx))) return false;
2407
- return true;
2430
+ if (!Array.isArray(context) || context.length === 0) return false;
2431
+ return BTCR2_DID_DOCUMENT_CONTEXT.every((required) => context.includes(required));
2408
2432
  }
2409
2433
  /**
2410
2434
  * Validates that the DID Document has a valid id.
@@ -2428,7 +2452,7 @@ var DidDocument = class _DidDocument {
2428
2452
  * @returns {boolean} True if the verification methods are valid.
2429
2453
  */
2430
2454
  static isValidVerificationMethods(verificationMethod) {
2431
- return Array.isArray(verificationMethod) && verificationMethod.every(Appendix.isDidVerificationMethod);
2455
+ return Array.isArray(verificationMethod) && verificationMethod.every(isMultikeyVerificationMethod);
2432
2456
  }
2433
2457
  /**
2434
2458
  * Validates that the DID Document has valid services.
@@ -2970,16 +2994,16 @@ var DidBtcr2 = class {
2970
2994
  { sourceDocument, verificationMethodId }
2971
2995
  );
2972
2996
  }
2973
- if (verificationMethod.type !== "Multikey") {
2997
+ if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
2974
2998
  throw new import_common11.UpdateError(
2975
- 'Invalid verificationMethod: verificationMethod.type must be "Multikey"',
2999
+ `Invalid verificationMethod: verificationMethod.type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
2976
3000
  import_common11.INVALID_DID_DOCUMENT,
2977
3001
  verificationMethod
2978
3002
  );
2979
3003
  }
2980
- if (verificationMethod.publicKeyMultibase?.slice(0, 4) !== "zQ3s") {
3004
+ if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
2981
3005
  throw new import_common11.UpdateError(
2982
- 'Invalid verificationMethodId: publicKeyMultibase prefix must start with "zQ3s"',
3006
+ `Invalid verificationMethodId: publicKeyMultibase prefix must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
2983
3007
  import_common11.INVALID_DID_DOCUMENT,
2984
3008
  verificationMethod
2985
3009
  );
@@ -3587,6 +3611,8 @@ var DidDocumentBuilder = class {
3587
3611
  GenesisDocument,
3588
3612
  ID_PLACEHOLDER_VALUE,
3589
3613
  Identifier,
3614
+ MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX,
3615
+ MULTIKEY_VERIFICATION_METHOD_TYPE,
3590
3616
  P2PKH_BEACON_TX_VSIZE,
3591
3617
  P2TR_BEACON_TX_VSIZE,
3592
3618
  P2WPKH_BEACON_TX_VSIZE,
@@ -3604,6 +3630,7 @@ var DidDocumentBuilder = class {
3604
3630
  deriveSingletonAddress,
3605
3631
  detectSingletonScriptKind,
3606
3632
  extractOpReturnSignal,
3633
+ isMultikeyVerificationMethod,
3607
3634
  opReturnScript,
3608
3635
  resolveBtcr2SenderPk,
3609
3636
  resolveChangeAddress
@@ -4,6 +4,7 @@ import { Identifier } from './core/identifier.js';
4
4
  import { Resolver } from './core/resolver.js';
5
5
  import { Updater } from './core/updater.js';
6
6
  import { Appendix } from './utils/appendix.js';
7
+ import { MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX, MULTIKEY_VERIFICATION_METHOD_TYPE } from './utils/did-document.js';
7
8
  /**
8
9
  * Implements {@link https://dcdpr.github.io/did-btcr2 | did:btcr2 DID Method Specification}.
9
10
  * did:btcr2 is a censorship-resistant Decentralized Identifier (DID) method using
@@ -122,12 +123,12 @@ export class DidBtcr2 {
122
123
  throw new UpdateError('Invalid verificationMethod: not found in source document', INVALID_DID_DOCUMENT, { sourceDocument, verificationMethodId });
123
124
  }
124
125
  // Validate the verificationMethod is of type 'Multikey'
125
- if (verificationMethod.type !== 'Multikey') {
126
- throw new UpdateError('Invalid verificationMethod: verificationMethod.type must be "Multikey"', INVALID_DID_DOCUMENT, verificationMethod);
126
+ if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
127
+ throw new UpdateError(`Invalid verificationMethod: verificationMethod.type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`, INVALID_DID_DOCUMENT, verificationMethod);
127
128
  }
128
129
  // Validate the publicKeyMultibase prefix is 'zQ3s'
129
- if (verificationMethod.publicKeyMultibase?.slice(0, 4) !== 'zQ3s') {
130
- throw new UpdateError('Invalid verificationMethodId: publicKeyMultibase prefix must start with "zQ3s"', INVALID_DID_DOCUMENT, verificationMethod);
130
+ if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
131
+ throw new UpdateError(`Invalid verificationMethodId: publicKeyMultibase prefix must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`, INVALID_DID_DOCUMENT, verificationMethod);
131
132
  }
132
133
  // Find the beacon service matching the given beaconId
133
134
  const beaconService = sourceDocument.service
@@ -1 +1 @@
1
- {"version":3,"file":"did-btcr2.js","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did-btcr2.js","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,42 @@ export const BTCR2_DID_DOCUMENT_CONTEXT = [
9
9
  'https://www.w3.org/ns/did/v1.1',
10
10
  'https://btcr2.dev/context/v1',
11
11
  ];
12
+ /** The `type` every did:btcr2 verification method must declare. */
13
+ export const MULTIKEY_VERIFICATION_METHOD_TYPE = 'Multikey';
14
+ /**
15
+ * The multibase prefix of a did:btcr2 verification method's `publicKeyMultibase`.
16
+ * `zQ3s` is the multibase-base58btc encoding of a Schnorr secp256k1 public key.
17
+ */
18
+ export const MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX = 'zQ3s';
12
19
  export const ID_PLACEHOLDER_VALUE = 'did:btcr2:_';
13
20
  export const BECH32M_CHARS = '';
14
21
  export const DID_REGEX = /did:btcr2:(x1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*)/g;
22
+ /**
23
+ * Determines whether a value is a valid did:btcr2 verification method.
24
+ *
25
+ * Beyond the structural id/type/controller shape, a btcr2 verification method is
26
+ * a {@link MULTIKEY_VERIFICATION_METHOD_TYPE | Multikey} whose public key is a
27
+ * Schnorr secp256k1 key, multibase-encoded with the
28
+ * {@link MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX | zQ3s} prefix. This is the single
29
+ * source of truth for that invariant: it is enforced both when a
30
+ * {@link DidVerificationMethod} is constructed and when a {@link DidDocument}'s
31
+ * `verificationMethod` array is validated, rather than only for the one method
32
+ * being signed with at update time.
33
+ *
34
+ * @param {unknown} vm The value to check.
35
+ * @returns {boolean} True if `vm` is a Multikey verification method with a zQ3s key.
36
+ */
37
+ export function isMultikeyVerificationMethod(vm) {
38
+ if (!Appendix.isDidVerificationMethod(vm)) {
39
+ return false;
40
+ }
41
+ // `vm` is a structurally-valid verification method; check the btcr2 Multikey
42
+ // invariant on the raw fields (the public key is unconstrained by the guard).
43
+ const { type, publicKeyMultibase } = vm;
44
+ return type === MULTIKEY_VERIFICATION_METHOD_TYPE
45
+ && typeof publicKeyMultibase === 'string'
46
+ && publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX);
47
+ }
15
48
  /**
16
49
  * DID BTCR2 Verification Method extends the DidVerificationMethod class adding helper methods and properties
17
50
  * @class DidVerificationMethod
@@ -25,6 +58,15 @@ export class DidVerificationMethod {
25
58
  publicKeyMultibase;
26
59
  secretKeyMultibase;
27
60
  constructor({ id, type, controller, publicKeyMultibase, secretKeyMultibase }) {
61
+ // A btcr2 verification method must be a Multikey carrying a Schnorr secp256k1
62
+ // public key (zQ3s multibase prefix). Enforce it here so the invariant holds
63
+ // wherever a verification method is constructed, not only at update time.
64
+ if (type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
65
+ throw new DidDocumentError(`Invalid verification method: type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`, INVALID_DID_DOCUMENT, { id, type });
66
+ }
67
+ if (typeof publicKeyMultibase !== 'string' || !publicKeyMultibase.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
68
+ throw new DidDocumentError(`Invalid verification method: publicKeyMultibase must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`, INVALID_DID_DOCUMENT, { id, publicKeyMultibase });
69
+ }
28
70
  this.id = id;
29
71
  this.type = type;
30
72
  this.controller = controller;
@@ -214,13 +256,13 @@ export class DidDocument {
214
256
  * @returns {boolean} True if the context is valid.
215
257
  */
216
258
  static isValidContext(context) {
217
- if (!context)
259
+ // "@context" must be a non-empty array of context entries.
260
+ if (!Array.isArray(context) || context.length === 0)
218
261
  return false;
219
- if (!Array.isArray(context))
220
- return false;
221
- if (!context.every(ctx => typeof ctx === 'string' && BTCR2_DID_DOCUMENT_CONTEXT.includes(ctx)))
222
- return false;
223
- return true;
262
+ // The btcr2 base contexts must all be present. Additional proof-suite or
263
+ // extension contexts (string or inline object) are permitted per W3C DID
264
+ // Core 4.1 and are no longer rejected by a strict whitelist.
265
+ return BTCR2_DID_DOCUMENT_CONTEXT.every(required => context.includes(required));
224
266
  }
225
267
  /**
226
268
  * Validates that the DID Document has a valid id.
@@ -246,7 +288,7 @@ export class DidDocument {
246
288
  * @returns {boolean} True if the verification methods are valid.
247
289
  */
248
290
  static isValidVerificationMethods(verificationMethod) {
249
- return Array.isArray(verificationMethod) && verificationMethod.every(Appendix.isDidVerificationMethod);
291
+ return Array.isArray(verificationMethod) && verificationMethod.every(isMultikeyVerificationMethod);
250
292
  }
251
293
  /**
252
294
  * Validates that the DID Document has valid services.
@@ -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 +1 @@
1
- {"version":3,"file":"did-btcr2.d.ts","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAS3C,OAAO,KAAK,EACV,SAAS,EAAC,MAAM,YAAY,CAAC;AAQ/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,YAAW,SAAS;IACxC;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,CAAW;IAEpC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAezF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,MAAM,EACX,iBAAiB,GAAE,iBAAsB,GACxC,QAAQ;IAuBX;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,CAAC,EACZ,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,gBAAgB,CAAC;QACjC,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO;IA2DX;;;;;;;;;OASG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAG,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB;CA0BlG"}
1
+ {"version":3,"file":"did-btcr2.d.ts","sourceRoot":"","sources":["../../src/did-btcr2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAS3C,OAAO,KAAK,EACV,SAAS,EAAC,MAAM,YAAY,CAAC;AAQ/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,YAAW,SAAS;IACxC;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,CAAW;IAEpC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAezF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,MAAM,EACX,iBAAiB,GAAE,iBAAsB,GACxC,QAAQ;IAuBX;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,CAAC,EACZ,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,gBAAgB,CAAC;QACjC,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO;IA2DX;;;;;;;;;OASG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,EAAG,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB;CA0BlG"}
@@ -2,6 +2,13 @@ import type { HashBytes, JSONObject, KeyBytes } from '@did-btcr2/common';
2
2
  import type { DidDocument as W3CDidDocument, DidVerificationMethod as W3CDidVerificationMethod } from '@web5/dids';
3
3
  import type { BeaconService } from '../core/beacon/interfaces.js';
4
4
  export declare const BTCR2_DID_DOCUMENT_CONTEXT: string[];
5
+ /** The `type` every did:btcr2 verification method must declare. */
6
+ export declare const MULTIKEY_VERIFICATION_METHOD_TYPE = "Multikey";
7
+ /**
8
+ * The multibase prefix of a did:btcr2 verification method's `publicKeyMultibase`.
9
+ * `zQ3s` is the multibase-base58btc encoding of a Schnorr secp256k1 public key.
10
+ */
11
+ export declare const MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX = "zQ3s";
5
12
  export declare const ID_PLACEHOLDER_VALUE = "did:btcr2:_";
6
13
  export declare const BECH32M_CHARS = "";
7
14
  export declare const DID_REGEX: RegExp;
@@ -30,6 +37,22 @@ export interface Btcr2VerificationMethod extends W3CDidVerificationMethod {
30
37
  publicKeyMultibase: string;
31
38
  secretKeyMultibase?: string | undefined;
32
39
  }
40
+ /**
41
+ * Determines whether a value is a valid did:btcr2 verification method.
42
+ *
43
+ * Beyond the structural id/type/controller shape, a btcr2 verification method is
44
+ * a {@link MULTIKEY_VERIFICATION_METHOD_TYPE | Multikey} whose public key is a
45
+ * Schnorr secp256k1 key, multibase-encoded with the
46
+ * {@link MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX | zQ3s} prefix. This is the single
47
+ * source of truth for that invariant: it is enforced both when a
48
+ * {@link DidVerificationMethod} is constructed and when a {@link DidDocument}'s
49
+ * `verificationMethod` array is validated, rather than only for the one method
50
+ * being signed with at update time.
51
+ *
52
+ * @param {unknown} vm The value to check.
53
+ * @returns {boolean} True if `vm` is a Multikey verification method with a zQ3s key.
54
+ */
55
+ export declare function isMultikeyVerificationMethod(vm: unknown): boolean;
33
56
  /**
34
57
  * DID BTCR2 Verification Method extends the DidVerificationMethod class adding helper methods and properties
35
58
  * @class DidVerificationMethod
@@ -1 +1 @@
1
- {"version":3,"file":"did-document.d.ts","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did-document.d.ts","sourceRoot":"","sources":["../../../src/utils/did-document.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@did-btcr2/method",
3
- "version": "0.43.0",
3
+ "version": "0.44.0",
4
4
  "type": "module",
5
5
  "description": "Reference implementation for the did:btcr2 DID method written in TypeScript and JavaScript. did:btcr2 is a censorship resistant DID Method using the Bitcoin blockchain as a Verifiable Data Registry to announce changes to the DID document. This is the core method implementation for the did-btcr2-js monorepo.",
6
6
  "main": "./dist/cjs/index.js",
@@ -80,10 +80,10 @@
80
80
  "helia": "^5.5.1",
81
81
  "multiformats": "^13.4.2",
82
82
  "nostr-tools": "^2.23.3",
83
- "@did-btcr2/bitcoin": "^0.8.0",
84
- "@did-btcr2/common": "^9.1.0",
85
83
  "@did-btcr2/keypair": "^0.13.1",
84
+ "@did-btcr2/bitcoin": "^0.8.0",
86
85
  "@did-btcr2/cryptosuite": "^9.0.0",
86
+ "@did-btcr2/common": "^9.1.0",
87
87
  "@did-btcr2/smt": "^0.3.0"
88
88
  },
89
89
  "devDependencies": {
package/src/did-btcr2.ts CHANGED
@@ -23,6 +23,10 @@ import type { ResolutionOptions } from './core/interfaces.js';
23
23
  import { Resolver } from './core/resolver.js';
24
24
  import { Updater } from './core/updater.js';
25
25
  import { Appendix } from './utils/appendix.js';
26
+ import {
27
+ MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX,
28
+ MULTIKEY_VERIFICATION_METHOD_TYPE
29
+ } from './utils/did-document.js';
26
30
  import type { Btcr2DidDocument, DidVerificationMethod } from './utils/did-document.js';
27
31
 
28
32
  export interface DidCreateOptions {
@@ -187,17 +191,17 @@ export class DidBtcr2 implements DidMethod {
187
191
  }
188
192
 
189
193
  // Validate the verificationMethod is of type 'Multikey'
190
- if(verificationMethod.type !== 'Multikey') {
194
+ if(verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
191
195
  throw new UpdateError(
192
- 'Invalid verificationMethod: verificationMethod.type must be "Multikey"',
196
+ `Invalid verificationMethod: verificationMethod.type must be "${MULTIKEY_VERIFICATION_METHOD_TYPE}"`,
193
197
  INVALID_DID_DOCUMENT, verificationMethod
194
198
  );
195
199
  }
196
200
 
197
201
  // Validate the publicKeyMultibase prefix is 'zQ3s'
198
- if(verificationMethod.publicKeyMultibase?.slice(0, 4) !== 'zQ3s') {
202
+ if(!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
199
203
  throw new UpdateError(
200
- 'Invalid verificationMethodId: publicKeyMultibase prefix must start with "zQ3s"',
204
+ `Invalid verificationMethodId: publicKeyMultibase prefix must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
201
205
  INVALID_DID_DOCUMENT, verificationMethod
202
206
  );
203
207
  }