@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/.tsbuildinfo +1 -1
- package/dist/browser.js +33 -9
- package/dist/browser.mjs +33 -9
- package/dist/cjs/index.js +36 -9
- package/dist/esm/did-btcr2.js +5 -4
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/utils/did-document.js +49 -7
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/utils/did-document.d.ts +23 -0
- package/dist/types/utils/did-document.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/did-btcr2.ts +8 -4
- package/src/utils/did-document.ts +58 -5
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
|
-
|
|
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(
|
|
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 !==
|
|
119373
|
+
if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
|
|
119350
119374
|
throw new UpdateError(
|
|
119351
|
-
|
|
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?.
|
|
119380
|
+
if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
|
|
119357
119381
|
throw new UpdateError(
|
|
119358
|
-
|
|
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
|
-
|
|
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(
|
|
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 !==
|
|
119321
|
+
if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
|
|
119301
119322
|
throw new UpdateError(
|
|
119302
|
-
|
|
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?.
|
|
119328
|
+
if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
|
|
119308
119329
|
throw new UpdateError(
|
|
119309
|
-
|
|
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
|
-
|
|
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(
|
|
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 !==
|
|
2997
|
+
if (verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
|
|
2974
2998
|
throw new import_common11.UpdateError(
|
|
2975
|
-
|
|
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?.
|
|
3004
|
+
if (!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
|
|
2981
3005
|
throw new import_common11.UpdateError(
|
|
2982
|
-
|
|
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
|
package/dist/esm/did-btcr2.js
CHANGED
|
@@ -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 !==
|
|
126
|
-
throw new UpdateError(
|
|
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?.
|
|
130
|
-
throw new UpdateError(
|
|
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":"AAIA,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,GAAG,EACH,QAAQ,EACR,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
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
|
-
|
|
259
|
+
// "@context" must be a non-empty array of context entries.
|
|
260
|
+
if (!Array.isArray(context) || context.length === 0)
|
|
218
261
|
return false;
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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(
|
|
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;
|
|
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":"AACA,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAU3B,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,qBAAqB,IAAI,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,eAAO,MAAM,0BAA0B,UAGtC,CAAC;
|
|
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.
|
|
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 !==
|
|
194
|
+
if(verificationMethod.type !== MULTIKEY_VERIFICATION_METHOD_TYPE) {
|
|
191
195
|
throw new UpdateError(
|
|
192
|
-
|
|
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?.
|
|
202
|
+
if(!verificationMethod.publicKeyMultibase?.startsWith(MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX)) {
|
|
199
203
|
throw new UpdateError(
|
|
200
|
-
|
|
204
|
+
`Invalid verificationMethodId: publicKeyMultibase prefix must start with "${MULTIKEY_PUBLIC_KEY_MULTIBASE_PREFIX}"`,
|
|
201
205
|
INVALID_DID_DOCUMENT, verificationMethod
|
|
202
206
|
);
|
|
203
207
|
}
|