@cheqd/sdk 5.3.2 → 5.3.3-develop.2

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 +191 -3
  43. package/build/cjs/utils.d.ts.map +1 -1
  44. package/build/cjs/utils.js +196 -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 +181 -3
  87. package/build/esm/utils.d.ts.map +1 -1
  88. package/build/esm/utils.js +172 -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 +181 -3
  111. package/build/types/utils.d.ts.map +1 -1
  112. package/package.json +4 -4
@@ -6,40 +6,218 @@ import { Service as ProtoService, DidDoc } from '@cheqd/ts-proto/cheqd/did/v2/in
6
6
  import { MsgCreateResourcePayload } from '@cheqd/ts-proto/cheqd/resource/v2/index.js';
7
7
  import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin';
8
8
  import { BackoffOptions } from 'exponential-backoff';
9
+ /**
10
+ * Represents an importable Ed25519 key with hexadecimal encoding.
11
+ * This type ensures type safety for Ed25519 key operations.
12
+ */
9
13
  export type TImportableEd25519Key = {
14
+ /** Public key in hexadecimal format */
10
15
  publicKeyHex: string;
16
+ /** Private key in hexadecimal format */
11
17
  privateKeyHex: string;
18
+ /** Key identifier */
12
19
  kid: string;
20
+ /** Key type, must be 'Ed25519' */
13
21
  type: 'Ed25519';
14
22
  };
23
+ /**
24
+ * Utility object for validating TImportableEd25519Key objects.
25
+ * Provides type guard functionality to ensure key structure integrity.
26
+ */
15
27
  export declare const TImportableEd25519Key: {
28
+ /**
29
+ * Type guard to validate if an object is a valid TImportableEd25519Key.
30
+ *
31
+ * @param key - Object to validate
32
+ * @returns True if the object is a valid TImportableEd25519Key
33
+ */
16
34
  isValid(key: any): key is TImportableEd25519Key;
17
35
  };
36
+ /**
37
+ * Compares two arrays of key-value pairs for equality.
38
+ *
39
+ * @param kv1 - First array of key-value pairs
40
+ * @param kv2 - Second array of key-value pairs
41
+ * @returns True if both arrays contain identical key-value pairs in the same order
42
+ */
18
43
  export declare function isEqualKeyValuePair(kv1: IKeyValuePair[], kv2: IKeyValuePair[]): boolean;
44
+ /**
45
+ * Extended English mnemonic class with additional validation patterns.
46
+ * Provides regex pattern matching for mnemonic phrase validation.
47
+ */
19
48
  export declare class EnglishMnemonic extends _ {
49
+ /** Regular expression pattern for validating English mnemonic phrases */
20
50
  static readonly _mnemonicMatcher: RegExp;
21
51
  }
52
+ /**
53
+ * Creates signing inputs from an importable Ed25519 key by matching it with verification methods.
54
+ * Supports multiple verification method types and key formats.
55
+ *
56
+ * @param key - The Ed25519 key to create signing inputs from
57
+ * @param verificationMethod - Array of verification methods to match against
58
+ * @returns Signing inputs containing verification method ID and private key
59
+ * @throws Error if key validation fails or no matching verification method is found
60
+ */
22
61
  export declare function createSignInputsFromImportableEd25519Key(key: TImportableEd25519Key, verificationMethod: VerificationMethod[]): ISignInputs;
62
+ /**
63
+ * Creates a raw Ed25519 key pair using the StableLib library.
64
+ *
65
+ * @param seed - Optional seed string for deterministic key generation
66
+ * @returns Raw KeyPair object with publicKey and secretKey as Uint8Arrays
67
+ */
23
68
  export declare function createKeyPairRaw(seed?: string): KeyPair;
69
+ /**
70
+ * Creates an Ed25519 key pair with Base64-encoded keys.
71
+ *
72
+ * @param seed - Optional seed string for deterministic key generation
73
+ * @returns Key pair with Base64-encoded public and private keys
74
+ */
24
75
  export declare function createKeyPairBase64(seed?: string): IKeyPair;
76
+ /**
77
+ * Creates an Ed25519 key pair with hexadecimal-encoded keys.
78
+ *
79
+ * @param seed - Optional seed string for deterministic key generation
80
+ * @returns Key pair with hexadecimal-encoded public and private keys
81
+ */
25
82
  export declare function createKeyPairHex(seed?: string): IKeyPair;
83
+ /**
84
+ * Creates verification keys structure with DID URLs and key identifiers.
85
+ * Supports multiple algorithm types and network configurations.
86
+ *
87
+ * @param publicKey - Public key in base64 or hex format
88
+ * @param algo - Algorithm for method-specific ID generation
89
+ * @param keyFragment - Key fragment for the verification key identifier
90
+ * @param network - Cheqd network (defaults to Testnet)
91
+ * @param methodSpecificId - Optional pre-computed method-specific ID
92
+ * @param didUrl - Optional pre-computed DID URL
93
+ * @returns Verification keys structure with all identifiers
94
+ * @throws Error if public key format is invalid
95
+ */
26
96
  export declare function createVerificationKeys(publicKey: string, algo: MethodSpecificIdAlgo, keyFragment: TVerificationKey<TVerificationKeyPrefix, number>, network?: CheqdNetwork, methodSpecificId?: TMethodSpecificId, didUrl?: string): IVerificationKeys;
97
+ /**
98
+ * Creates DID verification methods from verification method types and keys.
99
+ * Supports Ed25519 keys in multiple formats (multibase, base58, JWK).
100
+ *
101
+ * @param verificationMethodTypes - Array of verification method types to create
102
+ * @param verificationKeys - Array of verification keys corresponding to each type
103
+ * @returns Array of formatted verification methods for DID documents
104
+ */
27
105
  export declare function createDidVerificationMethod(verificationMethodTypes: VerificationMethods[], verificationKeys: IVerificationKeys[]): VerificationMethod[];
106
+ /**
107
+ * Creates a complete DID document payload with verification methods and controllers.
108
+ *
109
+ * @param verificationMethods - Array of verification methods for the DID
110
+ * @param verificationKeys - Array of verification keys for authentication
111
+ * @param controller - Optional array of controller DIDs (defaults to self-controlled)
112
+ * @returns Complete DID document with all required fields
113
+ * @throws Error if verification methods or keys are missing
114
+ */
28
115
  export declare function createDidPayload(verificationMethods: VerificationMethod[], verificationKeys: IVerificationKeys[], controller?: string[]): DIDDocument;
116
+ /**
117
+ * Validates a DID document against the Cheqd specification and converts to protobuf format.
118
+ * Ensures all required fields are present and verification methods are supported.
119
+ *
120
+ * @param didDocument - DID document to validate
121
+ * @returns Validation result with protobuf conversion or error details
122
+ */
29
123
  export declare function validateSpecCompliantPayload(didDocument: DIDDocument): SpecValidationResult;
124
+ /**
125
+ * Creates a Cosmos wallet from a seed phrase or private key.
126
+ * Supports both HD wallets from mnemonics and direct key wallets.
127
+ *
128
+ * @param cosmosPayerSeed - Mnemonic phrase or private key hex string
129
+ * @returns Promise resolving to either HD wallet or direct key wallet
130
+ */
30
131
  export declare function createCosmosPayerWallet(cosmosPayerSeed: string): Promise<DirectSecp256k1HdWallet | DirectSecp256k1Wallet>;
132
+ /**
133
+ * Converts a raw Ed25519 public key to multibase format with proper multicodec header.
134
+ *
135
+ * @param key - Raw Ed25519 public key as Uint8Array
136
+ * @returns Multibase-encoded string with Ed25519 multicodec prefix
137
+ */
31
138
  export declare function toMultibaseRaw(key: Uint8Array): string;
32
- export declare function createMsgCreateDidDocPayloadToSign(didPayload: DIDDocument, versionId: string): Promise<Uint8Array<ArrayBufferLike>>;
139
+ /**
140
+ * Creates a MsgCreateDidDoc payload ready for signing.
141
+ * Validates the DID document and converts it to protobuf format.
142
+ *
143
+ * @param didPayload - DID document to create message payload from
144
+ * @param versionId - Version identifier for the DID document
145
+ * @returns Encoded message payload bytes ready for signing
146
+ */
147
+ export declare function createMsgCreateDidDocPayloadToSign(didPayload: DIDDocument, versionId: string): Promise<Uint8Array<ArrayBuffer>>;
148
+ /** Alias for createMsgCreateDidDocPayloadToSign - used for DID document updates */
33
149
  export declare const createMsgUpdateDidDocPayloadToSign: typeof createMsgCreateDidDocPayloadToSign;
34
- export declare function createMsgDeactivateDidDocPayloadToSign(didPayload: DIDDocument, versionId?: string): Uint8Array<ArrayBufferLike>;
35
- export declare function createMsgResourcePayloadToSign(payload: Partial<MsgCreateResourcePayload> | MsgCreateResourcePayload): Uint8Array<ArrayBufferLike>;
150
+ /**
151
+ * Creates a MsgDeactivateDidDoc payload ready for signing.
152
+ *
153
+ * @param didPayload - DID document containing the ID to deactivate
154
+ * @param versionId - Optional version identifier for the DID document
155
+ * @returns Encoded message payload bytes ready for signing
156
+ */
157
+ export declare function createMsgDeactivateDidDocPayloadToSign(didPayload: DIDDocument, versionId?: string): Uint8Array<ArrayBuffer>;
158
+ /**
159
+ * Creates a resource payload ready for signing.
160
+ *
161
+ * @param payload - Resource payload to encode
162
+ * @returns Encoded resource payload bytes ready for signing
163
+ */
164
+ export declare function createMsgResourcePayloadToSign(payload: Partial<MsgCreateResourcePayload> | MsgCreateResourcePayload): Uint8Array<ArrayBuffer>;
165
+ /**
166
+ * Converts a public key to a Cosmos account address.
167
+ *
168
+ * @param publicKeyHex - Public key in hexadecimal format
169
+ * @returns Bech32-encoded Cosmos account address with 'cheqd' prefix
170
+ */
36
171
  export declare function getCosmosAccount(publicKeyHex: string): string;
172
+ /**
173
+ * Checks the balance of all coins for a given address on the blockchain.
174
+ *
175
+ * @param address - Bech32-encoded account address to check balance for
176
+ * @param rpcAddress - RPC endpoint URL of the blockchain node
177
+ * @returns Promise resolving to array of coin balances
178
+ */
37
179
  export declare function checkBalance(address: string, rpcAddress: string): Promise<readonly Coin[]>;
180
+ /**
181
+ * Checks if a given input is valid JSON.
182
+ *
183
+ * @param input - Input to validate as JSON
184
+ * @returns True if the input is a valid JSON string
185
+ */
38
186
  export declare function isJSON(input: any): boolean;
187
+ /** Default configuration options for exponential backoff retry logic */
39
188
  export declare const DefaultBackoffOptions: BackoffOptions;
40
189
  export declare function retry<T>(fn: () => Promise<T>, options?: BackoffOptions): Promise<T | undefined>;
190
+ /**
191
+ * Normalizes the authentication property of a DID document to an array of strings.
192
+ * Extracts authentication method identifiers from mixed string/object format.
193
+ *
194
+ * @param didDocument - DID document to normalize authentication for
195
+ * @returns Array of authentication method identifiers
196
+ * @throws Error if authentication section is missing
197
+ */
41
198
  export declare function normalizeAuthentication(didDocument: DIDDocument): string[];
199
+ /**
200
+ * Normalizes the controller property of a DID document to an array of strings.
201
+ * Defaults to self-controlled if no controller is specified.
202
+ *
203
+ * @param didDocument - DID document to normalize controller for
204
+ * @returns Array of controller DID identifiers
205
+ */
42
206
  export declare function normalizeController(didDocument: DIDDocument): string[];
207
+ /**
208
+ * Normalizes DID document services to protobuf format.
209
+ * Converts service endpoints to arrays and includes optional properties.
210
+ *
211
+ * @param didDocument - DID document containing services to normalize
212
+ * @returns Array of protobuf-formatted services or undefined if no services
213
+ */
43
214
  export declare function normalizeService(didDocument: DIDDocument): ProtoService[] | undefined;
215
+ /**
216
+ * Converts protobuf services back to standard DID document service format.
217
+ * Handles special context requirements for LinkedDomains services.
218
+ *
219
+ * @param didDocument - Protobuf DID document containing services to denormalize
220
+ * @returns Array of standard DID document services
221
+ */
44
222
  export declare function denormalizeService(didDocument: DidDoc): Service[];
45
223
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../esm/src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../esm/src/utils.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,17 @@ import { MsgCreateResourcePayload } from '@cheqd/ts-proto/cheqd/resource/v2/inde
14
14
  import { toBech32 } from '@cosmjs/encoding';
15
15
  import { StargateClient } from '@cosmjs/stargate';
16
16
  import { backOff } from 'exponential-backoff';
17
+ /**
18
+ * Utility object for validating TImportableEd25519Key objects.
19
+ * Provides type guard functionality to ensure key structure integrity.
20
+ */
17
21
  export const TImportableEd25519Key = {
22
+ /**
23
+ * Type guard to validate if an object is a valid TImportableEd25519Key.
24
+ *
25
+ * @param key - Object to validate
26
+ * @returns True if the object is a valid TImportableEd25519Key
27
+ */
18
28
  isValid(key) {
19
29
  return (typeof key === 'object' &&
20
30
  key !== null &&
@@ -26,13 +36,35 @@ export const TImportableEd25519Key = {
26
36
  key.type === 'Ed25519');
27
37
  },
28
38
  };
39
+ /** Multicodec header for Ed25519 public keys */
29
40
  const MULTICODEC_ED25519_HEADER = new Uint8Array([0xed, 0x01]);
41
+ /**
42
+ * Compares two arrays of key-value pairs for equality.
43
+ *
44
+ * @param kv1 - First array of key-value pairs
45
+ * @param kv2 - Second array of key-value pairs
46
+ * @returns True if both arrays contain identical key-value pairs in the same order
47
+ */
30
48
  export function isEqualKeyValuePair(kv1, kv2) {
31
49
  return kv1.every((item, index) => item.key === kv2[index].key && item.value === kv2[index].value);
32
50
  }
51
+ /**
52
+ * Extended English mnemonic class with additional validation patterns.
53
+ * Provides regex pattern matching for mnemonic phrase validation.
54
+ */
33
55
  export class EnglishMnemonic extends _ {
56
+ /** Regular expression pattern for validating English mnemonic phrases */
34
57
  static _mnemonicMatcher = /^[a-z]+( [a-z]+)*$/;
35
58
  }
59
+ /**
60
+ * Creates signing inputs from an importable Ed25519 key by matching it with verification methods.
61
+ * Supports multiple verification method types and key formats.
62
+ *
63
+ * @param key - The Ed25519 key to create signing inputs from
64
+ * @param verificationMethod - Array of verification methods to match against
65
+ * @returns Signing inputs containing verification method ID and private key
66
+ * @throws Error if key validation fails or no matching verification method is found
67
+ */
36
68
  export function createSignInputsFromImportableEd25519Key(key, verificationMethod) {
37
69
  if (!TImportableEd25519Key.isValid(key))
38
70
  throw new Error(`Key validation failed. Expected ${Object.values(TImportableEd25519Key).join(', ')}`);
@@ -72,9 +104,21 @@ export function createSignInputsFromImportableEd25519Key(key, verificationMethod
72
104
  }
73
105
  throw new Error(`No verification method type provided. Expected one of: ${Object.values(VerificationMethods).join(', ')}`);
74
106
  }
107
+ /**
108
+ * Creates a raw Ed25519 key pair using the StableLib library.
109
+ *
110
+ * @param seed - Optional seed string for deterministic key generation
111
+ * @returns Raw KeyPair object with publicKey and secretKey as Uint8Arrays
112
+ */
75
113
  export function createKeyPairRaw(seed) {
76
114
  return seed ? generateKeyPairFromSeed(fromString(seed)) : generateKeyPair();
77
115
  }
116
+ /**
117
+ * Creates an Ed25519 key pair with Base64-encoded keys.
118
+ *
119
+ * @param seed - Optional seed string for deterministic key generation
120
+ * @returns Key pair with Base64-encoded public and private keys
121
+ */
78
122
  export function createKeyPairBase64(seed) {
79
123
  const keyPair = seed ? generateKeyPairFromSeed(fromString(seed)) : generateKeyPair();
80
124
  return {
@@ -82,6 +126,12 @@ export function createKeyPairBase64(seed) {
82
126
  privateKey: toString(keyPair.secretKey, 'base64'),
83
127
  };
84
128
  }
129
+ /**
130
+ * Creates an Ed25519 key pair with hexadecimal-encoded keys.
131
+ *
132
+ * @param seed - Optional seed string for deterministic key generation
133
+ * @returns Key pair with hexadecimal-encoded public and private keys
134
+ */
85
135
  export function createKeyPairHex(seed) {
86
136
  const keyPair = createKeyPairRaw(seed);
87
137
  return {
@@ -89,6 +139,19 @@ export function createKeyPairHex(seed) {
89
139
  privateKey: toString(keyPair.secretKey, 'hex'),
90
140
  };
91
141
  }
142
+ /**
143
+ * Creates verification keys structure with DID URLs and key identifiers.
144
+ * Supports multiple algorithm types and network configurations.
145
+ *
146
+ * @param publicKey - Public key in base64 or hex format
147
+ * @param algo - Algorithm for method-specific ID generation
148
+ * @param keyFragment - Key fragment for the verification key identifier
149
+ * @param network - Cheqd network (defaults to Testnet)
150
+ * @param methodSpecificId - Optional pre-computed method-specific ID
151
+ * @param didUrl - Optional pre-computed DID URL
152
+ * @returns Verification keys structure with all identifiers
153
+ * @throws Error if public key format is invalid
154
+ */
92
155
  export function createVerificationKeys(publicKey, algo, keyFragment, network = CheqdNetwork.Testnet, methodSpecificId, didUrl) {
93
156
  if (isHex(publicKey)) {
94
157
  publicKey = toString(fromString(publicKey, 'hex'), 'base64');
@@ -119,6 +182,14 @@ export function createVerificationKeys(publicKey, algo, keyFragment, network = C
119
182
  };
120
183
  }
121
184
  }
185
+ /**
186
+ * Creates DID verification methods from verification method types and keys.
187
+ * Supports Ed25519 keys in multiple formats (multibase, base58, JWK).
188
+ *
189
+ * @param verificationMethodTypes - Array of verification method types to create
190
+ * @param verificationKeys - Array of verification keys corresponding to each type
191
+ * @returns Array of formatted verification methods for DID documents
192
+ */
122
193
  export function createDidVerificationMethod(verificationMethodTypes, verificationKeys) {
123
194
  return (verificationMethodTypes.map((type, _) => {
124
195
  switch (type) {
@@ -152,6 +223,15 @@ export function createDidVerificationMethod(verificationMethodTypes, verificatio
152
223
  }
153
224
  }) ?? []);
154
225
  }
226
+ /**
227
+ * Creates a complete DID document payload with verification methods and controllers.
228
+ *
229
+ * @param verificationMethods - Array of verification methods for the DID
230
+ * @param verificationKeys - Array of verification keys for authentication
231
+ * @param controller - Optional array of controller DIDs (defaults to self-controlled)
232
+ * @returns Complete DID document with all required fields
233
+ * @throws Error if verification methods or keys are missing
234
+ */
155
235
  export function createDidPayload(verificationMethods, verificationKeys, controller = []) {
156
236
  if (!verificationMethods || verificationMethods.length === 0)
157
237
  throw new Error('No verification methods provided');
@@ -163,8 +243,16 @@ export function createDidPayload(verificationMethods, verificationKeys, controll
163
243
  controller: controller.length ? controller : Array.from(new Set(verificationKeys.map((key) => key.didUrl))),
164
244
  verificationMethod: verificationMethods,
165
245
  authentication: verificationKeys.map((key) => key.keyId),
246
+ assertionMethod: verificationKeys.map((key) => key.keyId),
166
247
  };
167
248
  }
249
+ /**
250
+ * Validates a DID document against the Cheqd specification and converts to protobuf format.
251
+ * Ensures all required fields are present and verification methods are supported.
252
+ *
253
+ * @param didDocument - DID document to validate
254
+ * @returns Validation result with protobuf conversion or error details
255
+ */
168
256
  export function validateSpecCompliantPayload(didDocument) {
169
257
  // id is required, validated on both compile and runtime
170
258
  if (!didDocument?.id)
@@ -212,17 +300,38 @@ export function validateSpecCompliantPayload(didDocument) {
212
300
  const protoService = normalizeService(didDocument);
213
301
  return { valid: true, protobufVerificationMethod: protoVerificationMethod, protobufService: protoService };
214
302
  }
303
+ /**
304
+ * Creates a Cosmos wallet from a seed phrase or private key.
305
+ * Supports both HD wallets from mnemonics and direct key wallets.
306
+ *
307
+ * @param cosmosPayerSeed - Mnemonic phrase or private key hex string
308
+ * @returns Promise resolving to either HD wallet or direct key wallet
309
+ */
215
310
  export function createCosmosPayerWallet(cosmosPayerSeed) {
216
311
  return EnglishMnemonic._mnemonicMatcher.test(cosmosPayerSeed)
217
312
  ? DirectSecp256k1HdWallet.fromMnemonic(cosmosPayerSeed, { prefix: 'cheqd' })
218
313
  : DirectSecp256k1Wallet.fromKey(fromString(cosmosPayerSeed.replace(/^0x/, ''), 'hex'), 'cheqd');
219
314
  }
315
+ /**
316
+ * Converts a raw Ed25519 public key to multibase format with proper multicodec header.
317
+ *
318
+ * @param key - Raw Ed25519 public key as Uint8Array
319
+ * @returns Multibase-encoded string with Ed25519 multicodec prefix
320
+ */
220
321
  export function toMultibaseRaw(key) {
221
322
  const multibase = new Uint8Array(MULTICODEC_ED25519_HEADER.length + key.length);
222
323
  multibase.set(MULTICODEC_ED25519_HEADER);
223
324
  multibase.set(key, MULTICODEC_ED25519_HEADER.length);
224
325
  return bases['base58btc'].encode(multibase);
225
326
  }
327
+ /**
328
+ * Creates a MsgCreateDidDoc payload ready for signing.
329
+ * Validates the DID document and converts it to protobuf format.
330
+ *
331
+ * @param didPayload - DID document to create message payload from
332
+ * @param versionId - Version identifier for the DID document
333
+ * @returns Encoded message payload bytes ready for signing
334
+ */
226
335
  export async function createMsgCreateDidDocPayloadToSign(didPayload, versionId) {
227
336
  const { protobufVerificationMethod, protobufService } = await DIDModule.validateSpecCompliantPayload(didPayload);
228
337
  return MsgCreateDidDocPayload.encode(MsgCreateDidDocPayload.fromPartial({
@@ -240,24 +349,57 @@ export async function createMsgCreateDidDocPayloadToSign(didPayload, versionId)
240
349
  versionId,
241
350
  })).finish();
242
351
  }
352
+ /** Alias for createMsgCreateDidDocPayloadToSign - used for DID document updates */
243
353
  export const createMsgUpdateDidDocPayloadToSign = createMsgCreateDidDocPayloadToSign;
354
+ /**
355
+ * Creates a MsgDeactivateDidDoc payload ready for signing.
356
+ *
357
+ * @param didPayload - DID document containing the ID to deactivate
358
+ * @param versionId - Optional version identifier for the DID document
359
+ * @returns Encoded message payload bytes ready for signing
360
+ */
244
361
  export function createMsgDeactivateDidDocPayloadToSign(didPayload, versionId) {
245
362
  return MsgDeactivateDidDocPayload.encode(MsgDeactivateDidDocPayload.fromPartial({
246
363
  id: didPayload.id,
247
364
  versionId,
248
365
  })).finish();
249
366
  }
367
+ /**
368
+ * Creates a resource payload ready for signing.
369
+ *
370
+ * @param payload - Resource payload to encode
371
+ * @returns Encoded resource payload bytes ready for signing
372
+ */
250
373
  export function createMsgResourcePayloadToSign(payload) {
251
374
  return MsgCreateResourcePayload.encode(MsgCreateResourcePayload.fromPartial(payload)).finish();
252
375
  }
376
+ /**
377
+ * Converts a public key to a Cosmos account address.
378
+ *
379
+ * @param publicKeyHex - Public key in hexadecimal format
380
+ * @returns Bech32-encoded Cosmos account address with 'cheqd' prefix
381
+ */
253
382
  export function getCosmosAccount(publicKeyHex) {
254
383
  const { publicKeyConvert } = pkg;
255
384
  return toBech32('cheqd', rawSecp256k1PubkeyToRawAddress(publicKeyConvert(fromString(publicKeyHex, 'hex'), true)));
256
385
  }
386
+ /**
387
+ * Checks the balance of all coins for a given address on the blockchain.
388
+ *
389
+ * @param address - Bech32-encoded account address to check balance for
390
+ * @param rpcAddress - RPC endpoint URL of the blockchain node
391
+ * @returns Promise resolving to array of coin balances
392
+ */
257
393
  export async function checkBalance(address, rpcAddress) {
258
394
  const client = await StargateClient.connect(rpcAddress);
259
395
  return await client.getAllBalances(address);
260
396
  }
397
+ /**
398
+ * Checks if a given input is valid JSON.
399
+ *
400
+ * @param input - Input to validate as JSON
401
+ * @returns True if the input is a valid JSON string
402
+ */
261
403
  export function isJSON(input) {
262
404
  if (typeof input !== 'string')
263
405
  return false;
@@ -269,6 +411,7 @@ export function isJSON(input) {
269
411
  return false;
270
412
  }
271
413
  }
414
+ /** Default configuration options for exponential backoff retry logic */
272
415
  export const DefaultBackoffOptions = {
273
416
  jitter: 'full',
274
417
  timeMultiple: 1,
@@ -321,6 +464,14 @@ function isHex(str) {
321
464
  return false;
322
465
  }
323
466
  }
467
+ /**
468
+ * Normalizes the authentication property of a DID document to an array of strings.
469
+ * Extracts authentication method identifiers from mixed string/object format.
470
+ *
471
+ * @param didDocument - DID document to normalize authentication for
472
+ * @returns Array of authentication method identifiers
473
+ * @throws Error if authentication section is missing
474
+ */
324
475
  export function normalizeAuthentication(didDocument) {
325
476
  if (!didDocument.authentication)
326
477
  throw new Error('Invalid DID Document: Authentication section is required in DID Document');
@@ -329,11 +480,25 @@ export function normalizeAuthentication(didDocument) {
329
480
  : [didDocument.authentication];
330
481
  return authArray.map((a) => (typeof a === 'string' ? a : a.id));
331
482
  }
483
+ /**
484
+ * Normalizes the controller property of a DID document to an array of strings.
485
+ * Defaults to self-controlled if no controller is specified.
486
+ *
487
+ * @param didDocument - DID document to normalize controller for
488
+ * @returns Array of controller DID identifiers
489
+ */
332
490
  export function normalizeController(didDocument) {
333
491
  if (!didDocument.controller)
334
492
  return [didDocument.id];
335
493
  return Array.isArray(didDocument.controller) ? didDocument.controller : [didDocument.controller];
336
494
  }
495
+ /**
496
+ * Normalizes DID document services to protobuf format.
497
+ * Converts service endpoints to arrays and includes optional properties.
498
+ *
499
+ * @param didDocument - DID document containing services to normalize
500
+ * @returns Array of protobuf-formatted services or undefined if no services
501
+ */
337
502
  export function normalizeService(didDocument) {
338
503
  return didDocument.service?.map((s) => {
339
504
  return ProtoService.fromPartial({
@@ -347,6 +512,13 @@ export function normalizeService(didDocument) {
347
512
  });
348
513
  });
349
514
  }
515
+ /**
516
+ * Converts protobuf services back to standard DID document service format.
517
+ * Handles special context requirements for LinkedDomains services.
518
+ *
519
+ * @param didDocument - Protobuf DID document containing services to denormalize
520
+ * @returns Array of standard DID document services
521
+ */
350
522
  export function denormalizeService(didDocument) {
351
523
  return didDocument.service.map((s) => {
352
524
  if (s.serviceType === ServiceType.LinkedDomains)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../esm/src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../esm/src/utils.ts"],"names":[],"mappings":"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"}