@cheqd/sdk 5.3.2 → 5.3.3-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +310 -0
  2. package/build/cjs/index.d.ts +92 -1
  3. package/build/cjs/index.d.ts.map +1 -1
  4. package/build/cjs/index.js +75 -2
  5. package/build/cjs/index.js.map +1 -1
  6. package/build/cjs/modules/_.d.ts +61 -0
  7. package/build/cjs/modules/_.d.ts.map +1 -1
  8. package/build/cjs/modules/_.js +50 -0
  9. package/build/cjs/modules/_.js.map +1 -1
  10. package/build/cjs/modules/did.d.ts +278 -0
  11. package/build/cjs/modules/did.d.ts.map +1 -1
  12. package/build/cjs/modules/did.js +242 -0
  13. package/build/cjs/modules/did.js.map +1 -1
  14. package/build/cjs/modules/feeabstraction.d.ts +297 -2
  15. package/build/cjs/modules/feeabstraction.d.ts.map +1 -1
  16. package/build/cjs/modules/feeabstraction.js +235 -4
  17. package/build/cjs/modules/feeabstraction.js.map +1 -1
  18. package/build/cjs/modules/feemarket.d.ts +154 -21
  19. package/build/cjs/modules/feemarket.d.ts.map +1 -1
  20. package/build/cjs/modules/feemarket.js +133 -22
  21. package/build/cjs/modules/feemarket.js.map +1 -1
  22. package/build/cjs/modules/resource.d.ts +143 -0
  23. package/build/cjs/modules/resource.d.ts.map +1 -1
  24. package/build/cjs/modules/resource.js +131 -0
  25. package/build/cjs/modules/resource.js.map +1 -1
  26. package/build/cjs/querier.d.ts +50 -0
  27. package/build/cjs/querier.d.ts.map +1 -1
  28. package/build/cjs/querier.js +50 -0
  29. package/build/cjs/querier.js.map +1 -1
  30. package/build/cjs/registry.d.ts +14 -0
  31. package/build/cjs/registry.d.ts.map +1 -1
  32. package/build/cjs/registry.js +14 -0
  33. package/build/cjs/registry.js.map +1 -1
  34. package/build/cjs/signer.d.ts +172 -1
  35. package/build/cjs/signer.d.ts.map +1 -1
  36. package/build/cjs/signer.js +172 -1
  37. package/build/cjs/signer.js.map +1 -1
  38. package/build/cjs/types.d.ts +91 -0
  39. package/build/cjs/types.d.ts.map +1 -1
  40. package/build/cjs/types.js +17 -0
  41. package/build/cjs/types.js.map +1 -1
  42. package/build/cjs/utils.d.ts +188 -0
  43. package/build/cjs/utils.d.ts.map +1 -1
  44. package/build/cjs/utils.js +195 -0
  45. package/build/cjs/utils.js.map +1 -1
  46. package/build/esm/index.d.ts +92 -1
  47. package/build/esm/index.d.ts.map +1 -1
  48. package/build/esm/index.js +74 -1
  49. package/build/esm/index.js.map +1 -1
  50. package/build/esm/modules/_.d.ts +42 -0
  51. package/build/esm/modules/_.d.ts.map +1 -1
  52. package/build/esm/modules/_.js +32 -0
  53. package/build/esm/modules/_.js.map +1 -1
  54. package/build/esm/modules/did.d.ts +274 -0
  55. package/build/esm/modules/did.d.ts.map +1 -1
  56. package/build/esm/modules/did.js +242 -0
  57. package/build/esm/modules/did.js.map +1 -1
  58. package/build/esm/modules/feeabstraction.d.ts +277 -2
  59. package/build/esm/modules/feeabstraction.d.ts.map +1 -1
  60. package/build/esm/modules/feeabstraction.js +221 -2
  61. package/build/esm/modules/feeabstraction.js.map +1 -1
  62. package/build/esm/modules/feemarket.d.ts +152 -21
  63. package/build/esm/modules/feemarket.d.ts.map +1 -1
  64. package/build/esm/modules/feemarket.js +131 -21
  65. package/build/esm/modules/feemarket.js.map +1 -1
  66. package/build/esm/modules/resource.d.ts +142 -0
  67. package/build/esm/modules/resource.d.ts.map +1 -1
  68. package/build/esm/modules/resource.js +130 -0
  69. package/build/esm/modules/resource.js.map +1 -1
  70. package/build/esm/querier.d.ts +50 -0
  71. package/build/esm/querier.d.ts.map +1 -1
  72. package/build/esm/querier.js +50 -0
  73. package/build/esm/querier.js.map +1 -1
  74. package/build/esm/registry.d.ts +14 -0
  75. package/build/esm/registry.d.ts.map +1 -1
  76. package/build/esm/registry.js +14 -0
  77. package/build/esm/registry.js.map +1 -1
  78. package/build/esm/signer.d.ts +122 -0
  79. package/build/esm/signer.d.ts.map +1 -1
  80. package/build/esm/signer.js +122 -0
  81. package/build/esm/signer.js.map +1 -1
  82. package/build/esm/types.d.ts +92 -0
  83. package/build/esm/types.d.ts.map +1 -1
  84. package/build/esm/types.js +17 -0
  85. package/build/esm/types.js.map +1 -1
  86. package/build/esm/utils.d.ts +178 -0
  87. package/build/esm/utils.d.ts.map +1 -1
  88. package/build/esm/utils.js +171 -0
  89. package/build/esm/utils.js.map +1 -1
  90. package/build/types/index.d.ts +92 -1
  91. package/build/types/index.d.ts.map +1 -1
  92. package/build/types/modules/_.d.ts +42 -0
  93. package/build/types/modules/_.d.ts.map +1 -1
  94. package/build/types/modules/did.d.ts +274 -0
  95. package/build/types/modules/did.d.ts.map +1 -1
  96. package/build/types/modules/feeabstraction.d.ts +277 -2
  97. package/build/types/modules/feeabstraction.d.ts.map +1 -1
  98. package/build/types/modules/feemarket.d.ts +152 -21
  99. package/build/types/modules/feemarket.d.ts.map +1 -1
  100. package/build/types/modules/resource.d.ts +142 -0
  101. package/build/types/modules/resource.d.ts.map +1 -1
  102. package/build/types/querier.d.ts +50 -0
  103. package/build/types/querier.d.ts.map +1 -1
  104. package/build/types/registry.d.ts +14 -0
  105. package/build/types/registry.d.ts.map +1 -1
  106. package/build/types/signer.d.ts +122 -0
  107. package/build/types/signer.d.ts.map +1 -1
  108. package/build/types/types.d.ts +92 -0
  109. package/build/types/types.d.ts.map +1 -1
  110. package/build/types/utils.d.ts +178 -0
  111. package/build/types/utils.d.ts.map +1 -1
  112. package/package.json +1 -1
@@ -5,52 +5,133 @@ import { MsgCreateDidDoc, MsgCreateDidDocPayload, MsgCreateDidDocResponse, MsgDe
5
5
  import { v4 } from 'uuid';
6
6
  import { assert } from '@cosmjs/utils';
7
7
  import { denormalizeService, normalizeAuthentication, normalizeController, normalizeService } from '../utils.js';
8
+ /** Default extension key for DID-related query operations */
8
9
  export const defaultDidExtensionKey = 'did';
10
+ /**
11
+ * Standard W3C and DID-related context URIs used in DID documents.
12
+ * These contexts define the semantic meaning of properties in DID documents.
13
+ */
9
14
  export const contexts = {
15
+ /** W3C DID Core v1 context */
10
16
  W3CDIDv1: 'https://www.w3.org/ns/did/v1',
17
+ /** Ed25519 Signature Suite 2020 context */
11
18
  W3CSuiteEd255192020: 'https://w3id.org/security/suites/ed25519-2020/v1',
19
+ /** Ed25519 Signature Suite 2018 context */
12
20
  W3CSuiteEd255192018: 'https://w3id.org/security/suites/ed25519-2018/v1',
21
+ /** JSON Web Signature Suite 2020 context */
13
22
  W3CSuiteJws2020: 'https://w3id.org/security/suites/jws-2020/v1',
23
+ /** Linked Domains context for domain verification */
14
24
  LinkedDomainsContext: 'https://identity.foundation/.well-known/did-configuration/v1',
15
25
  };
26
+ /**
27
+ * Protobuf message type literals for DID operations.
28
+ * Used for consistent message type identification across the module.
29
+ */
16
30
  export const protobufLiterals = {
31
+ /** Create DID document message type */
17
32
  MsgCreateDidDoc: 'MsgCreateDidDoc',
33
+ /** Create DID document response message type */
18
34
  MsgCreateDidDocResponse: 'MsgCreateDidDocResponse',
35
+ /** Update DID document message type */
19
36
  MsgUpdateDidDoc: 'MsgUpdateDidDoc',
37
+ /** Update DID document response message type */
20
38
  MsgUpdateDidDocResponse: 'MsgUpdateDidDocResponse',
39
+ /** Deactivate DID document message type */
21
40
  MsgDeactivateDidDoc: 'MsgDeactivateDidDoc',
41
+ /** Deactivate DID document response message type */
22
42
  MsgDeactivateDidDocResponse: 'MsgDeactivateDidDocResponse',
23
43
  };
44
+ /** Type URL for MsgCreateDidDoc messages */
24
45
  export const typeUrlMsgCreateDidDoc = `/${protobufPackage}.${protobufLiterals.MsgCreateDidDoc}`;
46
+ /** Type URL for MsgCreateDidDocResponse messages */
25
47
  export const typeUrlMsgCreateDidDocResponse = `/${protobufPackage}.${protobufLiterals.MsgCreateDidDocResponse}`;
48
+ /** Type URL for MsgUpdateDidDoc messages */
26
49
  export const typeUrlMsgUpdateDidDoc = `/${protobufPackage}.${protobufLiterals.MsgUpdateDidDoc}`;
50
+ /** Type URL for MsgUpdateDidDocResponse messages */
27
51
  export const typeUrlMsgUpdateDidDocResponse = `/${protobufPackage}.${protobufLiterals.MsgUpdateDidDocResponse}`;
52
+ /** Type URL for MsgDeactivateDidDoc messages */
28
53
  export const typeUrlMsgDeactivateDidDoc = `/${protobufPackage}.${protobufLiterals.MsgDeactivateDidDoc}`;
54
+ /** Type URL for MsgDeactivateDidDocResponse messages */
29
55
  export const typeUrlMsgDeactivateDidDocResponse = `/${protobufPackage}.${protobufLiterals.MsgDeactivateDidDocResponse}`;
56
+ /**
57
+ * Type guard function to check if an object is a MsgCreateDidDocEncodeObject.
58
+ *
59
+ * @param obj - EncodeObject to check
60
+ * @returns True if the object is a MsgCreateDidDocEncodeObject
61
+ */
30
62
  export function isMsgCreateDidDocEncodeObject(obj) {
31
63
  return obj.typeUrl === typeUrlMsgCreateDidDoc;
32
64
  }
65
+ /**
66
+ * Type guard function to check if an object is a MsgUpdateDidDocEncodeObject.
67
+ *
68
+ * @param obj - EncodeObject to check
69
+ * @returns True if the object is a MsgUpdateDidDocEncodeObject
70
+ */
33
71
  export function isMsgUpdateDidDocEncodeObject(obj) {
34
72
  return obj.typeUrl === typeUrlMsgUpdateDidDoc;
35
73
  }
74
+ /**
75
+ * Type guard function to check if an object is a MsgDeactivateDidDocEncodeObject.
76
+ *
77
+ * @param obj - EncodeObject to check
78
+ * @returns True if the object is a MsgDeactivateDidDocEncodeObject
79
+ */
36
80
  export function isMsgDeactivateDidDocEncodeObject(obj) {
37
81
  return obj.typeUrl === typeUrlMsgDeactivateDidDoc;
38
82
  }
83
+ /**
84
+ * Type guard function to check if an object is a MsgCreateDidDocResponseEncodeObject.
85
+ *
86
+ * @param obj - EncodeObject to check
87
+ * @returns True if the object is a MsgCreateDidDocResponseEncodeObject
88
+ */
39
89
  export function MsgCreateDidDocResponseEncodeObject(obj) {
40
90
  return obj.typeUrl === typeUrlMsgCreateDidDocResponse;
41
91
  }
92
+ /**
93
+ * Type guard function to check if an object is a MsgUpdateDidDocEncodeObject.
94
+ *
95
+ * @param obj - EncodeObject to check
96
+ * @returns True if the object is a MsgUpdateDidDocEncodeObject
97
+ */
42
98
  export function MsgUpdateDidDocEncodeObject(obj) {
43
99
  return obj.typeUrl === typeUrlMsgUpdateDidDoc;
44
100
  }
101
+ /**
102
+ * Type guard function to check if an object is a MsgUpdateDidDocResponseEncodeObject.
103
+ *
104
+ * @param obj - EncodeObject to check
105
+ * @returns True if the object is a MsgUpdateDidDocResponseEncodeObject
106
+ */
45
107
  export function MsgUpdateDidDocResponseEncodeObject(obj) {
46
108
  return obj.typeUrl === typeUrlMsgUpdateDidDocResponse;
47
109
  }
110
+ /**
111
+ * Type guard function to check if an object is a MsgDeactivateDidDocEncodeObject.
112
+ *
113
+ * @param obj - EncodeObject to check
114
+ * @returns True if the object is a MsgDeactivateDidDocEncodeObject
115
+ */
48
116
  export function MsgDeactivateDidDocEncodeObject(obj) {
49
117
  return obj.typeUrl === typeUrlMsgDeactivateDidDoc;
50
118
  }
119
+ /**
120
+ * Type guard function to check if an object is a MsgDeactivateDidDocResponseEncodeObject.
121
+ *
122
+ * @param obj - EncodeObject to check
123
+ * @returns True if the object is a MsgDeactivateDidDocResponseEncodeObject
124
+ */
51
125
  export function MsgDeactiveDidDocResponseEncodeObject(obj) {
52
126
  return obj.typeUrl === typeUrlMsgUpdateDidDocResponse;
53
127
  }
128
+ /**
129
+ * Sets up the DID extension for the querier client.
130
+ * Creates and configures the DID-specific query methods.
131
+ *
132
+ * @param base - Base QueryClient to extend
133
+ * @returns Configured DID extension with query methods
134
+ */
54
135
  export const setupDidExtension = (base) => {
55
136
  const rpc = createProtobufRpcClient(base);
56
137
  const queryService = new QueryClientImpl(rpc);
@@ -76,6 +157,10 @@ export const setupDidExtension = (base) => {
76
157
  },
77
158
  };
78
159
  };
160
+ /**
161
+ * DID Module class providing comprehensive DID document management functionality.
162
+ * Handles creation, updates, deactivation, and querying of DID documents on the Cheqd blockchain.
163
+ */
79
164
  export class DIDModule extends AbstractCheqdSDKModule {
80
165
  // @ts-expect-error underlying type `GeneratedType` is intentionally wider
81
166
  static registryTypes = [
@@ -86,14 +171,30 @@ export class DIDModule extends AbstractCheqdSDKModule {
86
171
  [typeUrlMsgDeactivateDidDoc, MsgDeactivateDidDoc],
87
172
  [typeUrlMsgDeactivateDidDocResponse, MsgDeactivateDidDocResponse],
88
173
  ];
174
+ /** Base denomination for Cheqd network transactions */
89
175
  static baseMinimalDenom = 'ncheq';
176
+ /**
177
+ * Standard fee amounts for DID operations.
178
+ * These represent the default costs for different DID document operations.
179
+ */
90
180
  static fees = {
181
+ /** Default fee for creating a new DID document */
91
182
  DefaultCreateDidDocFee: { amount: '50000000000', denom: DIDModule.baseMinimalDenom },
183
+ /** Default fee for updating an existing DID document */
92
184
  DefaultUpdateDidDocFee: { amount: '25000000000', denom: DIDModule.baseMinimalDenom },
185
+ /** Default fee for deactivating a DID document */
93
186
  DefaultDeactivateDidDocFee: { amount: '10000000000', denom: DIDModule.baseMinimalDenom },
94
187
  };
188
+ /** Querier extension setup function for DID operations */
95
189
  static querierExtensionSetup = setupDidExtension;
190
+ /** Querier instance with DID extension capabilities */
96
191
  querier;
192
+ /**
193
+ * Constructs a new DID module instance.
194
+ *
195
+ * @param signer - Signing client for blockchain transactions
196
+ * @param querier - Querier client with DID extension for data retrieval
197
+ */
97
198
  constructor(signer, querier) {
98
199
  super(signer, querier);
99
200
  this.querier = querier;
@@ -106,12 +207,36 @@ export class DIDModule extends AbstractCheqdSDKModule {
106
207
  queryAllDidDocVersionsMetadata: this.queryAllDidDocVersionsMetadata.bind(this),
107
208
  };
108
209
  }
210
+ /**
211
+ * Gets the registry types for DID message encoding/decoding.
212
+ *
213
+ * @returns Iterable of [typeUrl, GeneratedType] pairs for the registry
214
+ */
109
215
  getRegistryTypes() {
110
216
  return DIDModule.registryTypes;
111
217
  }
218
+ /**
219
+ * Gets the querier extension setup for DID operations.
220
+ *
221
+ * @returns Query extension setup function for DID functionality
222
+ */
112
223
  getQuerierExtensionSetup() {
113
224
  return DIDModule.querierExtensionSetup;
114
225
  }
226
+ /**
227
+ * Creates a new DID document transaction on the blockchain.
228
+ * Validates the DID payload and authentication before submission.
229
+ *
230
+ * @param signInputs - Signing inputs or pre-computed signatures for the transaction
231
+ * @param didPayload - DID document payload to create
232
+ * @param address - Address of the account submitting the transaction
233
+ * @param fee - Transaction fee configuration or 'auto' for automatic calculation
234
+ * @param memo - Optional transaction memo
235
+ * @param versionId - Optional version identifier for the DID document
236
+ * @param context - Optional SDK context for accessing clients
237
+ * @returns Promise resolving to the transaction response
238
+ * @throws Error if DID payload is not spec compliant or authentication is invalid
239
+ */
115
240
  async createDidDocTx(signInputs, didPayload, address, fee, memo, versionId, context) {
116
241
  if (!this._signer) {
117
242
  this._signer = context.sdk.signer;
@@ -167,6 +292,20 @@ export class DIDModule extends AbstractCheqdSDKModule {
167
292
  }
168
293
  return this._signer.signAndBroadcast(address, [createDidMsg], fee, memo);
169
294
  }
295
+ /**
296
+ * Updates an existing DID document transaction on the blockchain.
297
+ * Validates the updated DID payload and handles key rotation scenarios.
298
+ *
299
+ * @param signInputs - Signing inputs or pre-computed signatures for the transaction
300
+ * @param didPayload - Updated DID document payload
301
+ * @param address - Address of the account submitting the transaction
302
+ * @param fee - Transaction fee configuration or 'auto' for automatic calculation
303
+ * @param memo - Optional transaction memo
304
+ * @param versionId - Optional version identifier for the updated DID document
305
+ * @param context - Optional SDK context for accessing clients
306
+ * @returns Promise resolving to the transaction response
307
+ * @throws Error if DID payload is not spec compliant or authentication is invalid
308
+ */
170
309
  async updateDidDocTx(signInputs, didPayload, address, fee, memo, versionId, context) {
171
310
  if (!this._signer) {
172
311
  this._signer = context.sdk.signer;
@@ -222,6 +361,20 @@ export class DIDModule extends AbstractCheqdSDKModule {
222
361
  }
223
362
  return this._signer.signAndBroadcast(address, [updateDidMsg], fee, memo);
224
363
  }
364
+ /**
365
+ * Deactivates an existing DID document transaction on the blockchain.
366
+ * Validates authentication and creates a deactivation transaction.
367
+ *
368
+ * @param signInputs - Signing inputs or pre-computed signatures for the transaction
369
+ * @param didPayload - DID document payload containing the ID to deactivate
370
+ * @param address - Address of the account submitting the transaction
371
+ * @param fee - Transaction fee configuration or 'auto' for automatic calculation
372
+ * @param memo - Optional transaction memo
373
+ * @param versionId - Optional version identifier for the deactivation
374
+ * @param context - Optional SDK context for accessing clients
375
+ * @returns Promise resolving to the transaction response
376
+ * @throws Error if DID payload is not spec compliant or authentication is invalid
377
+ */
225
378
  async deactivateDidDocTx(signInputs, didPayload, address, fee, memo, versionId, context) {
226
379
  if (!this._signer) {
227
380
  this._signer = context.sdk.signer;
@@ -264,6 +417,14 @@ export class DIDModule extends AbstractCheqdSDKModule {
264
417
  }
265
418
  return this._signer.signAndBroadcast(address, [deactivateDidMsg], fee, memo);
266
419
  }
420
+ /**
421
+ * Queries a DID document by its identifier.
422
+ * Retrieves the latest version of the DID document with metadata.
423
+ *
424
+ * @param id - DID identifier to query
425
+ * @param context - Optional SDK context for accessing clients
426
+ * @returns Promise resolving to the DID document with metadata
427
+ */
267
428
  async queryDidDoc(id, context) {
268
429
  if (!this.querier) {
269
430
  this.querier = context.sdk.querier;
@@ -274,6 +435,14 @@ export class DIDModule extends AbstractCheqdSDKModule {
274
435
  didDocumentMetadata: await DIDModule.toSpecCompliantMetadata(metadata),
275
436
  };
276
437
  }
438
+ /**
439
+ * Queries a specific version of a DID document by its identifier and version ID.
440
+ *
441
+ * @param id - DID identifier to query
442
+ * @param versionId - Specific version identifier to retrieve
443
+ * @param context - Optional SDK context for accessing clients
444
+ * @returns Promise resolving to the DID document version with metadata
445
+ */
277
446
  async queryDidDocVersion(id, versionId, context) {
278
447
  if (!this.querier) {
279
448
  this.querier = context.sdk.querier;
@@ -284,6 +453,14 @@ export class DIDModule extends AbstractCheqdSDKModule {
284
453
  didDocumentMetadata: await DIDModule.toSpecCompliantMetadata(metadata),
285
454
  };
286
455
  }
456
+ /**
457
+ * Queries metadata for all versions of a DID document.
458
+ * Retrieves version history information for a specific DID.
459
+ *
460
+ * @param id - DID identifier to query version metadata for
461
+ * @param context - Optional SDK context for accessing clients
462
+ * @returns Promise resolving to array of version metadata and pagination info
463
+ */
287
464
  async queryAllDidDocVersionsMetadata(id, context) {
288
465
  if (!this.querier) {
289
466
  this.querier = context.sdk.querier;
@@ -294,6 +471,13 @@ export class DIDModule extends AbstractCheqdSDKModule {
294
471
  pagination,
295
472
  };
296
473
  }
474
+ /**
475
+ * Validates a DID document against the Cheqd specification requirements.
476
+ * Ensures all required fields are present and verification methods are supported.
477
+ *
478
+ * @param didDocument - DID document to validate
479
+ * @returns Promise resolving to validation result with protobuf conversion or error details
480
+ */
297
481
  static async validateSpecCompliantPayload(didDocument) {
298
482
  // id is required, validated on both compile and runtime
299
483
  if (!didDocument?.id)
@@ -345,6 +529,13 @@ export class DIDModule extends AbstractCheqdSDKModule {
345
529
  protobufService: protoService,
346
530
  };
347
531
  }
532
+ /**
533
+ * Converts a protobuf DID document to a specification-compliant DID document format.
534
+ * Handles context inclusion, verification method formatting, and service denormalization.
535
+ *
536
+ * @param protobufDidDocument - Protobuf DID document to convert
537
+ * @returns Promise resolving to a spec-compliant DID document
538
+ */
348
539
  static async toSpecCompliantPayload(protobufDidDocument) {
349
540
  const verificationMethod = protobufDidDocument.verificationMethod.map((vm) => {
350
541
  switch (vm.verificationMethodType) {
@@ -432,6 +623,13 @@ export class DIDModule extends AbstractCheqdSDKModule {
432
623
  delete specCompliant.alsoKnownAs;
433
624
  return specCompliant;
434
625
  }
626
+ /**
627
+ * Converts protobuf metadata to specification-compliant DID document metadata format.
628
+ * Handles date formatting and optional field normalization.
629
+ *
630
+ * @param protobufDidDocument - Protobuf metadata to convert
631
+ * @returns Promise resolving to spec-compliant DID document metadata
632
+ */
435
633
  static async toSpecCompliantMetadata(protobufDidDocument) {
436
634
  return {
437
635
  created: protobufDidDocument.created?.toISOString(),
@@ -442,6 +640,16 @@ export class DIDModule extends AbstractCheqdSDKModule {
442
640
  previousVersionId: protobufDidDocument?.previousVersionId,
443
641
  };
444
642
  }
643
+ /**
644
+ * Validates that provided signatures match the authentication requirements in a DID document.
645
+ * Checks signature count, authentication presence, and controller authorization.
646
+ *
647
+ * @param didDocument - DID document containing authentication requirements
648
+ * @param signatures - Array of signatures to validate against authentication
649
+ * @param querier - Optional querier for retrieving external controller documents
650
+ * @param externalControllersDidDocuments - Optional pre-loaded external controller documents
651
+ * @returns Promise resolving to validation result with error details if invalid
652
+ */
445
653
  static async validateAuthenticationAgainstSignatures(didDocument, signatures, querier, externalControllersDidDocuments) {
446
654
  // validate signatures - case: no signatures
447
655
  if (!signatures || !signatures.length)
@@ -527,6 +735,17 @@ export class DIDModule extends AbstractCheqdSDKModule {
527
735
  // return valid
528
736
  return { valid: true };
529
737
  }
738
+ /**
739
+ * Validates authentication against signatures for key rotation scenarios.
740
+ * Handles validation during DID document updates where keys may have changed.
741
+ *
742
+ * @param didDocument - Updated DID document to validate
743
+ * @param signatures - Array of signatures to validate
744
+ * @param querier - Querier for retrieving previous DID document and controllers
745
+ * @param previousDidDocument - Optional previous version of the DID document
746
+ * @param externalControllersDidDocuments - Optional pre-loaded external controller documents
747
+ * @returns Promise resolving to validation result with controller documents and previous document
748
+ */
530
749
  static async validateAuthenticationAgainstSignaturesKeyRotation(didDocument, signatures, querier, previousDidDocument, externalControllersDidDocuments) {
531
750
  // validate signatures - case: no signatures
532
751
  if (!signatures || !signatures.length)
@@ -741,6 +960,13 @@ export class DIDModule extends AbstractCheqdSDKModule {
741
960
  // return valid
742
961
  return { valid: true, previousDidDocument, externalControllersDocuments };
743
962
  }
963
+ /**
964
+ * Generates standard fees for creating a DID document.
965
+ *
966
+ * @param feePayer - Address of the account that will pay the transaction fees
967
+ * @param granter - Optional address of the account granting fee payment permissions
968
+ * @returns Promise resolving to the fee configuration for DID document creation
969
+ */
744
970
  static async generateCreateDidDocFees(feePayer, granter) {
745
971
  return {
746
972
  amount: [DIDModule.fees.DefaultCreateDidDocFee],
@@ -749,6 +975,14 @@ export class DIDModule extends AbstractCheqdSDKModule {
749
975
  granter: granter,
750
976
  };
751
977
  }
978
+ /**
979
+ * Generates fee configuration for DID document update transactions.
980
+ * Uses default update fees and gas requirements.
981
+ *
982
+ * @param feePayer - Address of the account that will pay the transaction fees
983
+ * @param granter - Optional address of the account granting fee payment permissions
984
+ * @returns Promise resolving to the fee configuration for DID document updates
985
+ */
752
986
  static async generateUpdateDidDocFees(feePayer, granter) {
753
987
  return {
754
988
  amount: [DIDModule.fees.DefaultUpdateDidDocFee],
@@ -757,6 +991,14 @@ export class DIDModule extends AbstractCheqdSDKModule {
757
991
  granter: granter,
758
992
  };
759
993
  }
994
+ /**
995
+ * Generates fee configuration for DID document deactivation transactions.
996
+ * Uses default deactivation fees and gas requirements.
997
+ *
998
+ * @param feePayer - Address of the account that will pay the transaction fees
999
+ * @param granter - Optional address of the account granting fee payment permissions
1000
+ * @returns Promise resolving to the fee configuration for DID document deactivation
1001
+ */
760
1002
  static async generateDeactivateDidDocFees(feePayer, granter) {
761
1003
  return {
762
1004
  amount: [DIDModule.fees.DefaultDeactivateDidDocFee],
@@ -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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"}