@cheqd/sdk 5.1.0-develop.9 → 5.1.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/build/cjs/index.d.ts +5 -3
- package/build/cjs/index.d.ts.map +1 -1
- package/build/cjs/index.js +40 -2
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/modules/did.d.ts +9 -7
- package/build/cjs/modules/did.d.ts.map +1 -1
- package/build/cjs/modules/did.js +265 -2
- package/build/cjs/modules/did.js.map +1 -1
- package/build/cjs/modules/feeabstraction.d.ts +134 -0
- package/build/cjs/modules/feeabstraction.d.ts.map +1 -0
- package/build/cjs/modules/feeabstraction.js +262 -0
- package/build/cjs/modules/feeabstraction.js.map +1 -0
- package/build/cjs/modules/feemarket.d.ts +14 -4
- package/build/cjs/modules/feemarket.d.ts.map +1 -1
- package/build/cjs/modules/feemarket.js +16 -0
- package/build/cjs/modules/feemarket.js.map +1 -1
- package/build/cjs/modules/resource.d.ts +2 -2
- package/build/cjs/modules/resource.d.ts.map +1 -1
- package/build/cjs/modules/resource.js.map +1 -1
- package/build/cjs/package.json +8 -8
- package/build/cjs/querier.d.ts.map +1 -1
- package/build/cjs/querier.js.map +1 -1
- package/build/cjs/signer.d.ts +2 -2
- package/build/cjs/signer.js +2 -2
- package/build/cjs/types.d.ts +6 -1
- package/build/cjs/types.d.ts.map +1 -1
- package/build/cjs/types.js.map +1 -1
- package/build/cjs/utils.d.ts +3 -3
- package/build/cjs/utils.d.ts.map +1 -1
- package/build/cjs/utils.js +27 -25
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.d.ts +6 -4
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +8 -2
- package/build/esm/index.js.map +1 -1
- package/build/esm/modules/did.d.ts +9 -7
- package/build/esm/modules/did.d.ts.map +1 -1
- package/build/esm/modules/did.js +277 -2
- package/build/esm/modules/did.js.map +1 -1
- package/build/esm/modules/feeabstraction.d.ts +134 -0
- package/build/esm/modules/feeabstraction.d.ts.map +1 -0
- package/build/esm/modules/feeabstraction.js +243 -0
- package/build/esm/modules/feeabstraction.js.map +1 -0
- package/build/esm/modules/feemarket.d.ts +14 -4
- package/build/esm/modules/feemarket.d.ts.map +1 -1
- package/build/esm/modules/feemarket.js +16 -0
- package/build/esm/modules/feemarket.js.map +1 -1
- package/build/esm/modules/resource.d.ts +2 -2
- package/build/esm/modules/resource.d.ts.map +1 -1
- package/build/esm/modules/resource.js.map +1 -1
- package/build/esm/package.json +9 -9
- package/build/esm/signer.d.ts +2 -2
- package/build/esm/signer.js +2 -2
- package/build/esm/types.d.ts +6 -1
- package/build/esm/types.d.ts.map +1 -1
- package/build/esm/types.js.map +1 -1
- package/build/esm/utils.d.ts +3 -3
- package/build/esm/utils.d.ts.map +1 -1
- package/build/esm/utils.js +12 -12
- package/build/esm/utils.js.map +1 -1
- package/build/types/index.d.ts +6 -4
- package/build/types/index.d.ts.map +1 -1
- package/build/types/modules/did.d.ts +9 -7
- package/build/types/modules/did.d.ts.map +1 -1
- package/build/types/modules/feeabstraction.d.ts +134 -0
- package/build/types/modules/feeabstraction.d.ts.map +1 -0
- package/build/types/modules/feemarket.d.ts +14 -4
- package/build/types/modules/feemarket.d.ts.map +1 -1
- package/build/types/modules/resource.d.ts +2 -2
- package/build/types/modules/resource.d.ts.map +1 -1
- package/build/types/signer.d.ts +2 -2
- package/build/types/types.d.ts +6 -1
- package/build/types/types.d.ts.map +1 -1
- package/build/types/utils.d.ts +3 -3
- package/build/types/utils.d.ts.map +1 -1
- package/package.json +131 -128
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DeliverTxResponse, QueryClient } from '@cosmjs/stargate';
|
|
2
2
|
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from './_.js';
|
|
3
3
|
import { CheqdSigningStargateClient } from '../signer.js';
|
|
4
|
-
import { DIDDocument, DidStdFee, IContext, ISignInputs, QueryExtensionSetup, SpecValidationResult, DIDDocumentWithMetadata } from '../types.js';
|
|
4
|
+
import { DIDDocument, DidStdFee, IContext, ISignInputs, QueryExtensionSetup, SpecValidationResult, DIDDocumentWithMetadata, AuthenticationValidationResult } from '../types.js';
|
|
5
5
|
import { MsgCreateDidDoc, MsgCreateDidDocResponse, MsgDeactivateDidDoc, MsgDeactivateDidDocResponse, MsgUpdateDidDoc, MsgUpdateDidDocResponse, SignInfo, QueryAllDidDocVersionsMetadataResponse, DidDocWithMetadata, DidDoc, Metadata } from '@cheqd/ts-proto/cheqd/did/v2/index.js';
|
|
6
6
|
import { EncodeObject, GeneratedType } from '@cosmjs/proto-signing';
|
|
7
7
|
import { CheqdQuerier } from '../querier.js';
|
|
@@ -22,12 +22,12 @@ export declare const protobufLiterals: {
|
|
|
22
22
|
readonly MsgDeactivateDidDoc: "MsgDeactivateDidDoc";
|
|
23
23
|
readonly MsgDeactivateDidDocResponse: "MsgDeactivateDidDocResponse";
|
|
24
24
|
};
|
|
25
|
-
export declare const typeUrlMsgCreateDidDoc:
|
|
26
|
-
export declare const typeUrlMsgCreateDidDocResponse:
|
|
27
|
-
export declare const typeUrlMsgUpdateDidDoc:
|
|
28
|
-
export declare const typeUrlMsgUpdateDidDocResponse:
|
|
29
|
-
export declare const typeUrlMsgDeactivateDidDoc:
|
|
30
|
-
export declare const typeUrlMsgDeactivateDidDocResponse:
|
|
25
|
+
export declare const typeUrlMsgCreateDidDoc: "/cheqd.did.v2.MsgCreateDidDoc";
|
|
26
|
+
export declare const typeUrlMsgCreateDidDocResponse: "/cheqd.did.v2.MsgCreateDidDocResponse";
|
|
27
|
+
export declare const typeUrlMsgUpdateDidDoc: "/cheqd.did.v2.MsgUpdateDidDoc";
|
|
28
|
+
export declare const typeUrlMsgUpdateDidDocResponse: "/cheqd.did.v2.MsgUpdateDidDocResponse";
|
|
29
|
+
export declare const typeUrlMsgDeactivateDidDoc: "/cheqd.did.v2.MsgDeactivateDidDoc";
|
|
30
|
+
export declare const typeUrlMsgDeactivateDidDocResponse: "/cheqd.did.v2.MsgDeactivateDidDocResponse";
|
|
31
31
|
export interface MsgCreateDidDocEncodeObject extends EncodeObject {
|
|
32
32
|
readonly typeUrl: typeof typeUrlMsgCreateDidDoc;
|
|
33
33
|
readonly value: Partial<MsgCreateDidDoc>;
|
|
@@ -103,6 +103,8 @@ export declare class DIDModule extends AbstractCheqdSDKModule {
|
|
|
103
103
|
static validateSpecCompliantPayload(didDocument: DIDDocument): Promise<SpecValidationResult>;
|
|
104
104
|
static toSpecCompliantPayload(protobufDidDocument: DidDoc): Promise<DIDDocument>;
|
|
105
105
|
static toSpecCompliantMetadata(protobufDidDocument: Metadata): Promise<DIDDocumentMetadata>;
|
|
106
|
+
static validateAuthenticationAgainstSignatures(didDocument: DIDDocument, signatures: readonly SignInfo[], querier?: CheqdQuerier & DidExtension, externalControllersDidDocuments?: DIDDocument[]): Promise<AuthenticationValidationResult>;
|
|
107
|
+
static validateAuthenticationAgainstSignaturesKeyRotation(didDocument: DIDDocument, signatures: readonly SignInfo[], querier: CheqdQuerier & DidExtension, previousDidDocument?: DIDDocument, externalControllersDidDocuments?: DIDDocument[]): Promise<AuthenticationValidationResult>;
|
|
106
108
|
static generateCreateDidDocFees(feePayer: string, granter?: string): Promise<DidStdFee>;
|
|
107
109
|
static generateUpdateDidDocFees(feePayer: string, granter?: string): Promise<DidStdFee>;
|
|
108
110
|
static generateDeactivateDidDocFees(feePayer: string, granter?: string): Promise<DidStdFee>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../../esm/src/modules/did.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EAEpB,uBAAuB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,eAAe,EAEf,uBAAuB,EACvB,mBAAmB,EAEnB,2BAA2B,EAC3B,eAAe,EAEf,uBAAuB,EAIvB,QAAQ,EAER,sCAAsC,EACtC,kBAAkB,EAClB,MAAM,EACN,QAAQ,EACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAG,KAAc,CAAC;AAErD,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;;;CAOnB,CAAC;AACX,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../../esm/src/modules/did.ts"],"names":[],"mappings":"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"}
|
package/build/esm/modules/did.js
CHANGED
|
@@ -115,6 +115,9 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
115
115
|
if (!this._signer) {
|
|
116
116
|
this._signer = context.sdk.signer;
|
|
117
117
|
}
|
|
118
|
+
if (!this.querier) {
|
|
119
|
+
this.querier = context.sdk.querier;
|
|
120
|
+
}
|
|
118
121
|
if (!versionId || versionId === '') {
|
|
119
122
|
versionId = v4();
|
|
120
123
|
}
|
|
@@ -122,6 +125,10 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
122
125
|
if (!valid) {
|
|
123
126
|
throw new Error(`DID payload is not spec compliant: ${error}`);
|
|
124
127
|
}
|
|
128
|
+
const { valid: authenticationValid, error: authenticationError } = await DIDModule.validateAuthenticationAgainstSignatures(didPayload, signInputs, this.querier);
|
|
129
|
+
if (!authenticationValid) {
|
|
130
|
+
throw new Error(`DID authentication is not valid: ${authenticationError}`);
|
|
131
|
+
}
|
|
125
132
|
const payload = MsgCreateDidDocPayload.fromPartial({
|
|
126
133
|
context: didPayload?.['@context'],
|
|
127
134
|
id: didPayload.id,
|
|
@@ -138,7 +145,7 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
138
145
|
});
|
|
139
146
|
let signatures;
|
|
140
147
|
if (ISignInputs.isSignInput(signInputs)) {
|
|
141
|
-
signatures = await this._signer.
|
|
148
|
+
signatures = await this._signer.signCreateDidDocTx(signInputs, payload);
|
|
142
149
|
}
|
|
143
150
|
else {
|
|
144
151
|
signatures = signInputs;
|
|
@@ -163,6 +170,9 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
163
170
|
if (!this._signer) {
|
|
164
171
|
this._signer = context.sdk.signer;
|
|
165
172
|
}
|
|
173
|
+
if (!this.querier) {
|
|
174
|
+
this.querier = context.sdk.querier;
|
|
175
|
+
}
|
|
166
176
|
if (!versionId || versionId === '') {
|
|
167
177
|
versionId = v4();
|
|
168
178
|
}
|
|
@@ -170,6 +180,10 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
170
180
|
if (!valid) {
|
|
171
181
|
throw new Error(`DID payload is not spec compliant: ${error}`);
|
|
172
182
|
}
|
|
183
|
+
const { valid: authenticationValid, error: authenticationError } = await DIDModule.validateAuthenticationAgainstSignaturesKeyRotation(didPayload, signInputs, this.querier);
|
|
184
|
+
if (!authenticationValid) {
|
|
185
|
+
throw new Error(`DID authentication is not valid: ${authenticationError}`);
|
|
186
|
+
}
|
|
173
187
|
const payload = MsgUpdateDidDocPayload.fromPartial({
|
|
174
188
|
context: didPayload?.['@context'],
|
|
175
189
|
id: didPayload.id,
|
|
@@ -186,7 +200,7 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
186
200
|
});
|
|
187
201
|
let signatures;
|
|
188
202
|
if (ISignInputs.isSignInput(signInputs)) {
|
|
189
|
-
signatures = await this._signer.
|
|
203
|
+
signatures = await this._signer.signUpdateDidDocTx(signInputs, payload);
|
|
190
204
|
}
|
|
191
205
|
else {
|
|
192
206
|
signatures = signInputs;
|
|
@@ -218,6 +232,10 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
218
232
|
if (!valid) {
|
|
219
233
|
throw new Error(`DID payload is not spec compliant: ${error}`);
|
|
220
234
|
}
|
|
235
|
+
const { valid: authenticationValid, error: authenticationError } = await DIDModule.validateAuthenticationAgainstSignatures(didPayload, signInputs, this.querier);
|
|
236
|
+
if (!authenticationValid) {
|
|
237
|
+
throw new Error(`DID authentication is not valid: ${authenticationError}`);
|
|
238
|
+
}
|
|
221
239
|
const payload = MsgDeactivateDidDocPayload.fromPartial({
|
|
222
240
|
id: didPayload.id,
|
|
223
241
|
versionId: versionId,
|
|
@@ -419,6 +437,263 @@ export class DIDModule extends AbstractCheqdSDKModule {
|
|
|
419
437
|
previousVersionId: protobufDidDocument?.previousVersionId,
|
|
420
438
|
};
|
|
421
439
|
}
|
|
440
|
+
static async validateAuthenticationAgainstSignatures(didDocument, signatures, querier, externalControllersDidDocuments) {
|
|
441
|
+
// validate signatures - case: no signatures
|
|
442
|
+
if (!signatures || !signatures.length)
|
|
443
|
+
return { valid: false, error: 'signatures are required' };
|
|
444
|
+
// validate authentication - case: no authentication when at least one verificationMethod
|
|
445
|
+
if ((!didDocument.authentication || !didDocument.authentication.length) &&
|
|
446
|
+
didDocument.verificationMethod?.length)
|
|
447
|
+
return { valid: false, error: 'authentication is required' };
|
|
448
|
+
// define unique authentication
|
|
449
|
+
const uniqueAuthentication = new Set(didDocument.authentication);
|
|
450
|
+
// validate authentication - case: authentication contains duplicates
|
|
451
|
+
if (uniqueAuthentication.size < didDocument.authentication.length)
|
|
452
|
+
return {
|
|
453
|
+
valid: false,
|
|
454
|
+
error: `authentication contains duplicate key references: duplicate key reference ${Array.from(uniqueAuthentication).find((a) => didDocument.authentication.filter((aa) => aa === a).length > 1)}`,
|
|
455
|
+
};
|
|
456
|
+
// define unique signatures - shallow, only verificationMethodId, no signature
|
|
457
|
+
const uniqueSignatures = new Set(signatures.map((s) => s.verificationMethodId));
|
|
458
|
+
// validate signatures - case: signatures contain duplicates
|
|
459
|
+
if (uniqueSignatures.size < signatures.length)
|
|
460
|
+
return {
|
|
461
|
+
valid: false,
|
|
462
|
+
error: `signatures contain duplicates: duplicate signature for key reference ${Array.from(uniqueSignatures).find((s) => signatures.filter((ss) => ss.verificationMethodId === s).length > 1)}`,
|
|
463
|
+
};
|
|
464
|
+
// validate authentication - case: authentication contains invalid key references
|
|
465
|
+
if (!Array.from(uniqueAuthentication).every((a) => didDocument.verificationMethod?.some((vm) => vm.id === a)))
|
|
466
|
+
return {
|
|
467
|
+
valid: false,
|
|
468
|
+
error: `authentication contains invalid key references: invalid key reference ${Array.from(uniqueAuthentication).find((a) => !didDocument.verificationMethod?.some((vm) => vm.id === a))}`,
|
|
469
|
+
};
|
|
470
|
+
// define whether external controller or not
|
|
471
|
+
const externalController = didDocument.controller.some((c) => c !== didDocument.id);
|
|
472
|
+
// validate authentication - case: authentication matches signatures, unique, if no external controller
|
|
473
|
+
if (!Array.from(uniqueAuthentication).every((a) => uniqueSignatures.has(a)) && !externalController)
|
|
474
|
+
return {
|
|
475
|
+
valid: false,
|
|
476
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueAuthentication).find((a) => !uniqueSignatures.has(a))} is missing`,
|
|
477
|
+
};
|
|
478
|
+
// validate signatures - case: authentication matches signatures, unique, excessive signatures, no external controller
|
|
479
|
+
if (!Array.from(uniqueSignatures).every((s) => uniqueAuthentication.has(s)) && !externalController)
|
|
480
|
+
return {
|
|
481
|
+
valid: false,
|
|
482
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueSignatures).find((s) => !uniqueAuthentication.has(s))} is not required`,
|
|
483
|
+
};
|
|
484
|
+
// return, if no external controller
|
|
485
|
+
if (!externalController)
|
|
486
|
+
return { valid: true };
|
|
487
|
+
// require querier
|
|
488
|
+
if (!querier)
|
|
489
|
+
throw new Error('querier is required for external controller validation');
|
|
490
|
+
// get external controllers
|
|
491
|
+
const externalControllers = didDocument.controller?.filter((c) => c !== didDocument.id);
|
|
492
|
+
// get external controllers' documents
|
|
493
|
+
const externalControllersDocuments = await Promise.all(externalControllers?.map(async (c) => {
|
|
494
|
+
// compute index of external controller's document, if provided
|
|
495
|
+
const externalControllerDocumentIndex = externalControllersDidDocuments?.findIndex((d) => d.id === c);
|
|
496
|
+
// get external controller's document, if provided
|
|
497
|
+
if (externalControllerDocumentIndex !== undefined && externalControllerDocumentIndex !== -1)
|
|
498
|
+
return externalControllersDidDocuments?.[externalControllerDocumentIndex];
|
|
499
|
+
// fetch external controller's document
|
|
500
|
+
const protobufDocument = await querier[defaultDidExtensionKey].didDoc(c);
|
|
501
|
+
// throw, if not found
|
|
502
|
+
if (!protobufDocument || !protobufDocument.didDoc)
|
|
503
|
+
throw new Error(`Document for controller ${c} not found`);
|
|
504
|
+
// convert to spec compliant payload
|
|
505
|
+
return await DIDModule.toSpecCompliantPayload(protobufDocument.didDoc);
|
|
506
|
+
}));
|
|
507
|
+
// define unique required signatures
|
|
508
|
+
const uniqueRequiredSignatures = new Set([
|
|
509
|
+
...didDocument.authentication,
|
|
510
|
+
...externalControllersDocuments.flatMap((d) => d.authentication),
|
|
511
|
+
]);
|
|
512
|
+
// validate authentication - case: authentication matches signatures, unique, if external controller
|
|
513
|
+
if (!Array.from(uniqueRequiredSignatures).every((a) => uniqueSignatures.has(a)))
|
|
514
|
+
return {
|
|
515
|
+
valid: false,
|
|
516
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueRequiredSignatures).find((a) => !uniqueSignatures.has(a))} is missing`,
|
|
517
|
+
};
|
|
518
|
+
// validate authentication - case: authentication matches signatures, unique, excessive signatures, if external controller
|
|
519
|
+
if (uniqueRequiredSignatures.size < uniqueSignatures.size)
|
|
520
|
+
return {
|
|
521
|
+
valid: false,
|
|
522
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueSignatures).find((s) => !uniqueRequiredSignatures.has(s))} is not required`,
|
|
523
|
+
};
|
|
524
|
+
// return valid
|
|
525
|
+
return { valid: true };
|
|
526
|
+
}
|
|
527
|
+
static async validateAuthenticationAgainstSignaturesKeyRotation(didDocument, signatures, querier, previousDidDocument, externalControllersDidDocuments) {
|
|
528
|
+
// validate signatures - case: no signatures
|
|
529
|
+
if (!signatures || !signatures.length)
|
|
530
|
+
return { valid: false, error: 'signatures are required' };
|
|
531
|
+
// validate authentication - case: no authentication when at least one verificationMethod
|
|
532
|
+
if ((!didDocument.authentication || !didDocument.authentication.length) &&
|
|
533
|
+
didDocument.verificationMethod?.length)
|
|
534
|
+
return { valid: false, error: 'authentication is required' };
|
|
535
|
+
// define unique authentication
|
|
536
|
+
const uniqueAuthentication = new Set(didDocument.authentication);
|
|
537
|
+
// validate authentication - case: authentication contains duplicates
|
|
538
|
+
if (uniqueAuthentication.size < didDocument.authentication.length)
|
|
539
|
+
return {
|
|
540
|
+
valid: false,
|
|
541
|
+
error: `authentication contains duplicate key references: duplicate key reference ${Array.from(uniqueAuthentication).find((a) => didDocument.authentication.filter((aa) => aa === a).length > 1)}`,
|
|
542
|
+
};
|
|
543
|
+
// define unique signatures
|
|
544
|
+
const uniqueSignatures = new Set(signatures.map((s) => s.verificationMethodId));
|
|
545
|
+
// validate authentication - case: authentication contains invalid key references
|
|
546
|
+
if (!Array.from(uniqueAuthentication).every((a) => didDocument.verificationMethod?.some((vm) => vm.id === a)))
|
|
547
|
+
return {
|
|
548
|
+
valid: false,
|
|
549
|
+
error: `authentication contains invalid key references: invalid key reference ${Array.from(uniqueAuthentication).find((a) => !didDocument.verificationMethod?.some((vm) => vm.id === a))}`,
|
|
550
|
+
};
|
|
551
|
+
// lookup previous document
|
|
552
|
+
if (!previousDidDocument) {
|
|
553
|
+
// get previous document
|
|
554
|
+
const previousDocument = await querier[defaultDidExtensionKey].didDoc(didDocument.id);
|
|
555
|
+
// throw, if not found
|
|
556
|
+
if (!previousDocument || !previousDocument.didDoc)
|
|
557
|
+
throw new Error('Previous did document not found');
|
|
558
|
+
previousDidDocument = await DIDModule.toSpecCompliantPayload(previousDocument.didDoc);
|
|
559
|
+
}
|
|
560
|
+
// define whether external controller or not
|
|
561
|
+
const externalController = (didDocument?.controller)
|
|
562
|
+
.concat(previousDidDocument.controller)
|
|
563
|
+
.some((c) => c !== didDocument.id);
|
|
564
|
+
// define whether key rotation or not, of any short
|
|
565
|
+
const keyRotation = !!didDocument.verificationMethod?.some((vm) => previousDidDocument?.verificationMethod?.some((pvm) => pvm.id === vm.id &&
|
|
566
|
+
(pvm.publicKeyBase58 !== vm.publicKeyBase58 ||
|
|
567
|
+
pvm.publicKeyMultibase !== vm.publicKeyMultibase ||
|
|
568
|
+
pvm.publicKeyJwk?.x !== vm.publicKeyJwk?.x)));
|
|
569
|
+
// define unique union of authentication
|
|
570
|
+
const uniqueUnionAuthentication = new Set([
|
|
571
|
+
...uniqueAuthentication,
|
|
572
|
+
...previousDidDocument.authentication,
|
|
573
|
+
]);
|
|
574
|
+
// validate authentication - case: authentication matches signatures, unique, if no external controller, no key rotation
|
|
575
|
+
if (!Array.from(uniqueUnionAuthentication).every((a) => uniqueSignatures.has(a)) &&
|
|
576
|
+
!externalController &&
|
|
577
|
+
!keyRotation)
|
|
578
|
+
return {
|
|
579
|
+
valid: false,
|
|
580
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueAuthentication).find((a) => !uniqueSignatures.has(a))} is missing`,
|
|
581
|
+
};
|
|
582
|
+
// define rotated keys
|
|
583
|
+
const rotatedKeys = keyRotation
|
|
584
|
+
? didDocument.verificationMethod?.filter((vm) => previousDidDocument?.verificationMethod?.some((pvm) => pvm.id === vm.id &&
|
|
585
|
+
(pvm.publicKeyBase58 !== vm.publicKeyBase58 ||
|
|
586
|
+
pvm.publicKeyMultibase !== vm.publicKeyMultibase ||
|
|
587
|
+
pvm.publicKeyJwk?.x !== vm.publicKeyJwk?.x)))
|
|
588
|
+
: [];
|
|
589
|
+
// define unique union of signatures required, delimited
|
|
590
|
+
const uniqueUnionSignaturesRequired = new Set([
|
|
591
|
+
...didDocument.authentication
|
|
592
|
+
.filter((a) => rotatedKeys?.find((rk) => a === rk.id))
|
|
593
|
+
.map((a) => `${a}(document0)`),
|
|
594
|
+
...previousDidDocument.authentication.map((a) => `${a}(document1)`),
|
|
595
|
+
]);
|
|
596
|
+
// define frequency of unique union of signatures required
|
|
597
|
+
const uniqueUnionSignaturesRequiredFrequency = new Map([...uniqueUnionSignaturesRequired].map((s) => [s.replace(new RegExp(/\(document\d+\)/), ''), 0]));
|
|
598
|
+
// count frequency of unique union of signatures required
|
|
599
|
+
uniqueUnionSignaturesRequired.forEach((s) => {
|
|
600
|
+
// define key
|
|
601
|
+
const key = s.replace(new RegExp(/\(document\d+\)/), '');
|
|
602
|
+
// increment frequency
|
|
603
|
+
uniqueUnionSignaturesRequiredFrequency.set(key, uniqueUnionSignaturesRequiredFrequency.get(key) + 1);
|
|
604
|
+
});
|
|
605
|
+
// define frequency of signatures provided
|
|
606
|
+
const uniqueSignaturesFrequency = new Map(signatures.map((s) => [s.verificationMethodId, 0]));
|
|
607
|
+
// count frequency of signatures provided
|
|
608
|
+
signatures.forEach((s) => {
|
|
609
|
+
// increment frequency
|
|
610
|
+
uniqueSignaturesFrequency.set(s.verificationMethodId, uniqueSignaturesFrequency.get(s.verificationMethodId) + 1);
|
|
611
|
+
});
|
|
612
|
+
// validate signatures - case: authentication matches signatures, unique, excessive signatures, no external controller
|
|
613
|
+
if (Array.from(uniqueSignaturesFrequency).filter(([k, f]) => uniqueUnionSignaturesRequiredFrequency.get(k) === undefined ||
|
|
614
|
+
(uniqueUnionSignaturesRequiredFrequency.get(k) &&
|
|
615
|
+
uniqueUnionSignaturesRequiredFrequency.get(k) < f)).length &&
|
|
616
|
+
!externalController)
|
|
617
|
+
return {
|
|
618
|
+
valid: false,
|
|
619
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueSignaturesFrequency).find(([k, f]) => uniqueUnionSignaturesRequiredFrequency.get(k) === undefined || uniqueUnionSignaturesRequiredFrequency.get(k) < f)?.[0]} is not required`,
|
|
620
|
+
};
|
|
621
|
+
// validate signatures - case: authentication matches signatures, unique, missing signatures, no external controller
|
|
622
|
+
if (Array.from(uniqueSignaturesFrequency).filter(([k, f]) => uniqueUnionSignaturesRequiredFrequency.get(k) && uniqueUnionSignaturesRequiredFrequency.get(k) > f).length &&
|
|
623
|
+
!externalController)
|
|
624
|
+
return {
|
|
625
|
+
valid: false,
|
|
626
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueSignaturesFrequency).find(([k, f]) => uniqueUnionSignaturesRequiredFrequency.get(k) > f)?.[0]} is missing`,
|
|
627
|
+
};
|
|
628
|
+
// return, if no external controller
|
|
629
|
+
if (!externalController)
|
|
630
|
+
return { valid: true };
|
|
631
|
+
// require querier
|
|
632
|
+
if (!querier)
|
|
633
|
+
throw new Error('querier is required for external controller validation');
|
|
634
|
+
// get external controllers
|
|
635
|
+
const externalControllers = didDocument.controller?.filter((c) => c !== didDocument.id);
|
|
636
|
+
// get external controllers' documents
|
|
637
|
+
const externalControllersDocuments = await Promise.all(externalControllers?.map(async (c) => {
|
|
638
|
+
// compute index of external controller's document, if provided
|
|
639
|
+
const externalControllerDocumentIndex = externalControllersDidDocuments?.findIndex((d) => d.id === c);
|
|
640
|
+
// get external controller's document, if provided
|
|
641
|
+
if (externalControllerDocumentIndex !== undefined && externalControllerDocumentIndex !== -1)
|
|
642
|
+
return externalControllersDidDocuments?.[externalControllerDocumentIndex];
|
|
643
|
+
// fetch external controller's document
|
|
644
|
+
const protobufDocument = await querier[defaultDidExtensionKey].didDoc(c);
|
|
645
|
+
// throw, if not found
|
|
646
|
+
if (!protobufDocument || !protobufDocument.didDoc)
|
|
647
|
+
throw new Error(`Document for controller ${c} not found`);
|
|
648
|
+
// convert to spec compliant payload
|
|
649
|
+
return await DIDModule.toSpecCompliantPayload(protobufDocument.didDoc);
|
|
650
|
+
}));
|
|
651
|
+
// define unique required signatures, delimited, with external controllers
|
|
652
|
+
const uniqueUnionSignaturesRequiredWithExternalControllers = new Set([
|
|
653
|
+
...uniqueUnionSignaturesRequired,
|
|
654
|
+
...externalControllersDocuments
|
|
655
|
+
.flatMap((d) => d.authentication)
|
|
656
|
+
.map((a) => `${a}(document${externalControllersDocuments.findIndex((d) => d?.authentication?.includes(a))})`),
|
|
657
|
+
]);
|
|
658
|
+
// define frequency of unique union of signatures required, with external controllers
|
|
659
|
+
const uniqueUnionSignaturesRequiredWithExternalControllersFrequency = new Map([...uniqueUnionSignaturesRequiredWithExternalControllers].map((s) => [
|
|
660
|
+
s.replace(new RegExp(/\(document\d+\)/), ''),
|
|
661
|
+
0,
|
|
662
|
+
]));
|
|
663
|
+
// count frequency of unique union of signatures required, with external controllers
|
|
664
|
+
uniqueUnionSignaturesRequiredWithExternalControllers.forEach((s) => {
|
|
665
|
+
// define key
|
|
666
|
+
const key = s.replace(new RegExp(/\(document\d+\)/), '');
|
|
667
|
+
// increment frequency
|
|
668
|
+
uniqueUnionSignaturesRequiredWithExternalControllersFrequency.set(key, uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(key) + 1);
|
|
669
|
+
});
|
|
670
|
+
// define frequency of signatures provided, with external controllers
|
|
671
|
+
const uniqueSignaturesFrequencyWithExternalControllers = new Map(signatures.map((s) => [s.verificationMethodId, 0]));
|
|
672
|
+
// count frequency of signatures provided, with external controllers
|
|
673
|
+
signatures.forEach((s) => {
|
|
674
|
+
// increment frequency
|
|
675
|
+
uniqueSignaturesFrequencyWithExternalControllers.set(s.verificationMethodId, uniqueSignaturesFrequencyWithExternalControllers.get(s.verificationMethodId) + 1);
|
|
676
|
+
});
|
|
677
|
+
// validate signatures - case: authentication matches signatures, unique, excessive signatures, with external controllers
|
|
678
|
+
if (Array.from(uniqueSignaturesFrequencyWithExternalControllers).filter(([k, f]) => uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) === undefined ||
|
|
679
|
+
(uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) &&
|
|
680
|
+
uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) < f)).length &&
|
|
681
|
+
externalController)
|
|
682
|
+
return {
|
|
683
|
+
valid: false,
|
|
684
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueSignaturesFrequencyWithExternalControllers).find(([k, f]) => uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) === undefined || uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) < f)?.[0]} is not required`,
|
|
685
|
+
};
|
|
686
|
+
// validate signatures - case: authentication matches signatures, unique, missing signatures, with external controllers
|
|
687
|
+
if (Array.from(uniqueSignaturesFrequencyWithExternalControllers).filter(([k, f]) => uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) &&
|
|
688
|
+
uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) > f).length &&
|
|
689
|
+
externalController)
|
|
690
|
+
return {
|
|
691
|
+
valid: false,
|
|
692
|
+
error: `authentication does not match signatures: signature from key ${Array.from(uniqueSignaturesFrequencyWithExternalControllers).find(([k, f]) => uniqueUnionSignaturesRequiredWithExternalControllersFrequency.get(k) > f)?.[0]} is missing`,
|
|
693
|
+
};
|
|
694
|
+
// return valid
|
|
695
|
+
return { valid: true };
|
|
696
|
+
}
|
|
422
697
|
static async generateCreateDidDocFees(feePayer, granter) {
|
|
423
698
|
return {
|
|
424
699
|
amount: [DIDModule.fees.DefaultCreateDidDocFee],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.js","sourceRoot":"","sources":["../../../esm/src/modules/did.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"did.js","sourceRoot":"","sources":["../../../esm/src/modules/did.ts"],"names":[],"mappings":"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"}
|