@cheqd/sdk-esm 5.3.7 → 5.4.0-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 (179) hide show
  1. package/build/cjs/src/index.d.ts +142 -0
  2. package/build/cjs/src/index.d.ts.map +1 -0
  3. package/build/cjs/src/index.js +184 -0
  4. package/build/cjs/src/index.js.map +1 -0
  5. package/build/cjs/src/modules/_.d.ts +81 -0
  6. package/build/cjs/src/modules/_.d.ts.map +1 -0
  7. package/build/cjs/src/modules/_.js +93 -0
  8. package/build/cjs/src/modules/_.js.map +1 -0
  9. package/build/cjs/src/modules/did.d.ts +488 -0
  10. package/build/cjs/src/modules/did.d.ts.map +1 -0
  11. package/build/cjs/src/modules/did.js +1255 -0
  12. package/build/cjs/src/modules/did.js.map +1 -0
  13. package/build/cjs/src/modules/feeabstraction.d.ts +429 -0
  14. package/build/cjs/src/modules/feeabstraction.d.ts.map +1 -0
  15. package/build/cjs/src/modules/feeabstraction.js +474 -0
  16. package/build/cjs/src/modules/feeabstraction.js.map +1 -0
  17. package/build/cjs/src/modules/feemarket.d.ts +244 -0
  18. package/build/cjs/src/modules/feemarket.d.ts.map +1 -0
  19. package/build/cjs/src/modules/feemarket.js +297 -0
  20. package/build/cjs/src/modules/feemarket.js.map +1 -0
  21. package/build/cjs/src/modules/oracle.d.ts +563 -0
  22. package/build/cjs/src/modules/oracle.d.ts.map +1 -0
  23. package/build/cjs/src/modules/oracle.js +784 -0
  24. package/build/cjs/src/modules/oracle.js.map +1 -0
  25. package/build/cjs/src/modules/resource.d.ts +330 -0
  26. package/build/cjs/src/modules/resource.d.ts.map +1 -0
  27. package/build/cjs/src/modules/resource.js +556 -0
  28. package/build/cjs/src/modules/resource.js.map +1 -0
  29. package/build/cjs/src/querier.d.ts +62 -0
  30. package/build/cjs/src/querier.d.ts.map +1 -0
  31. package/build/cjs/src/querier.js +87 -0
  32. package/build/cjs/src/querier.js.map +1 -0
  33. package/build/cjs/src/registry.d.ts +18 -0
  34. package/build/cjs/src/registry.d.ts.map +1 -0
  35. package/build/cjs/src/registry.js +23 -0
  36. package/build/cjs/src/registry.js.map +1 -0
  37. package/build/cjs/src/signer.d.ts +250 -0
  38. package/build/cjs/src/signer.d.ts.map +1 -0
  39. package/build/cjs/src/signer.js +617 -0
  40. package/build/cjs/src/signer.js.map +1 -0
  41. package/build/cjs/src/types.d.ts +221 -0
  42. package/build/cjs/src/types.d.ts.map +1 -0
  43. package/build/cjs/src/types.js.map +1 -0
  44. package/build/cjs/src/utils.d.ts +233 -0
  45. package/build/cjs/src/utils.d.ts.map +1 -0
  46. package/build/cjs/src/utils.js +571 -0
  47. package/build/cjs/src/utils.js.map +1 -0
  48. package/build/{index.d.ts → esm/src/index.d.ts} +7 -3
  49. package/build/esm/src/index.d.ts.map +1 -0
  50. package/build/{index.js → esm/src/index.js} +3 -1
  51. package/build/esm/src/index.js.map +1 -0
  52. package/build/esm/src/modules/_.d.ts.map +1 -0
  53. package/build/esm/src/modules/_.js.map +1 -0
  54. package/build/{modules → esm/src/modules}/did.d.ts +109 -7
  55. package/build/esm/src/modules/did.d.ts.map +1 -0
  56. package/build/{modules → esm/src/modules}/did.js +220 -8
  57. package/build/esm/src/modules/did.js.map +1 -0
  58. package/build/esm/src/modules/feeabstraction.d.ts.map +1 -0
  59. package/build/esm/src/modules/feeabstraction.js.map +1 -0
  60. package/build/esm/src/modules/feemarket.d.ts.map +1 -0
  61. package/build/esm/src/modules/feemarket.js.map +1 -0
  62. package/build/esm/src/modules/oracle.d.ts +563 -0
  63. package/build/esm/src/modules/oracle.d.ts.map +1 -0
  64. package/build/esm/src/modules/oracle.js +784 -0
  65. package/build/esm/src/modules/oracle.js.map +1 -0
  66. package/build/{modules → esm/src/modules}/resource.d.ts +132 -6
  67. package/build/esm/src/modules/resource.d.ts.map +1 -0
  68. package/build/esm/src/modules/resource.js +556 -0
  69. package/build/esm/src/modules/resource.js.map +1 -0
  70. package/build/esm/src/querier.d.ts.map +1 -0
  71. package/build/esm/src/querier.js.map +1 -0
  72. package/build/esm/src/registry.d.ts.map +1 -0
  73. package/build/esm/src/registry.js.map +1 -0
  74. package/build/esm/src/signer.d.ts.map +1 -0
  75. package/build/esm/src/signer.js.map +1 -0
  76. package/build/{types → esm/src}/types.d.ts +27 -1
  77. package/build/esm/src/types.d.ts.map +1 -0
  78. package/build/esm/src/types.js +43 -0
  79. package/build/esm/src/types.js.map +1 -0
  80. package/build/esm/src/utils.d.ts.map +1 -0
  81. package/build/esm/src/utils.js.map +1 -0
  82. package/build/types/cjs/src/index.d.ts +142 -0
  83. package/build/types/cjs/src/index.d.ts.map +1 -0
  84. package/build/types/cjs/src/modules/_.d.ts +81 -0
  85. package/build/types/cjs/src/modules/_.d.ts.map +1 -0
  86. package/build/types/cjs/src/modules/did.d.ts +488 -0
  87. package/build/types/cjs/src/modules/did.d.ts.map +1 -0
  88. package/build/types/cjs/src/modules/feeabstraction.d.ts +429 -0
  89. package/build/types/cjs/src/modules/feeabstraction.d.ts.map +1 -0
  90. package/build/types/cjs/src/modules/feemarket.d.ts +244 -0
  91. package/build/types/cjs/src/modules/feemarket.d.ts.map +1 -0
  92. package/build/types/cjs/src/modules/oracle.d.ts +563 -0
  93. package/build/types/cjs/src/modules/oracle.d.ts.map +1 -0
  94. package/build/types/cjs/src/modules/resource.d.ts +330 -0
  95. package/build/types/cjs/src/modules/resource.d.ts.map +1 -0
  96. package/build/types/cjs/src/querier.d.ts +62 -0
  97. package/build/types/cjs/src/querier.d.ts.map +1 -0
  98. package/build/types/cjs/src/registry.d.ts +18 -0
  99. package/build/types/cjs/src/registry.d.ts.map +1 -0
  100. package/build/types/cjs/src/signer.d.ts +250 -0
  101. package/build/types/cjs/src/signer.d.ts.map +1 -0
  102. package/build/types/cjs/src/types.d.ts +221 -0
  103. package/build/types/cjs/src/types.d.ts.map +1 -0
  104. package/build/types/cjs/src/utils.d.ts +233 -0
  105. package/build/types/cjs/src/utils.d.ts.map +1 -0
  106. package/build/types/{index.d.ts → esm/src/index.d.ts} +7 -3
  107. package/build/types/esm/src/index.d.ts.map +1 -0
  108. package/build/types/esm/src/modules/_.d.ts.map +1 -0
  109. package/build/types/{modules → esm/src/modules}/did.d.ts +109 -7
  110. package/build/types/esm/src/modules/did.d.ts.map +1 -0
  111. package/build/types/esm/src/modules/feeabstraction.d.ts.map +1 -0
  112. package/build/types/esm/src/modules/feemarket.d.ts.map +1 -0
  113. package/build/types/esm/src/modules/oracle.d.ts +563 -0
  114. package/build/types/esm/src/modules/oracle.d.ts.map +1 -0
  115. package/build/types/{modules → esm/src/modules}/resource.d.ts +132 -6
  116. package/build/types/esm/src/modules/resource.d.ts.map +1 -0
  117. package/build/types/esm/src/querier.d.ts.map +1 -0
  118. package/build/types/esm/src/registry.d.ts.map +1 -0
  119. package/build/types/esm/src/signer.d.ts.map +1 -0
  120. package/build/{types.d.ts → types/esm/src/types.d.ts} +27 -1
  121. package/build/types/esm/src/types.d.ts.map +1 -0
  122. package/build/types/esm/src/utils.d.ts.map +1 -0
  123. package/package.json +2 -2
  124. package/build/index.d.ts.map +0 -1
  125. package/build/index.js.map +0 -1
  126. package/build/modules/_.d.ts.map +0 -1
  127. package/build/modules/_.js.map +0 -1
  128. package/build/modules/did.d.ts.map +0 -1
  129. package/build/modules/did.js.map +0 -1
  130. package/build/modules/feeabstraction.d.ts.map +0 -1
  131. package/build/modules/feeabstraction.js.map +0 -1
  132. package/build/modules/feemarket.d.ts.map +0 -1
  133. package/build/modules/feemarket.js.map +0 -1
  134. package/build/modules/resource.d.ts.map +0 -1
  135. package/build/modules/resource.js +0 -297
  136. package/build/modules/resource.js.map +0 -1
  137. package/build/querier.d.ts.map +0 -1
  138. package/build/querier.js.map +0 -1
  139. package/build/registry.d.ts.map +0 -1
  140. package/build/registry.js.map +0 -1
  141. package/build/signer.d.ts.map +0 -1
  142. package/build/signer.js.map +0 -1
  143. package/build/types/index.d.ts.map +0 -1
  144. package/build/types/modules/_.d.ts.map +0 -1
  145. package/build/types/modules/did.d.ts.map +0 -1
  146. package/build/types/modules/feeabstraction.d.ts.map +0 -1
  147. package/build/types/modules/feemarket.d.ts.map +0 -1
  148. package/build/types/modules/resource.d.ts.map +0 -1
  149. package/build/types/querier.d.ts.map +0 -1
  150. package/build/types/registry.d.ts.map +0 -1
  151. package/build/types/signer.d.ts.map +0 -1
  152. package/build/types/types.d.ts.map +0 -1
  153. package/build/types/utils.d.ts.map +0 -1
  154. package/build/types.d.ts.map +0 -1
  155. package/build/types.js.map +0 -1
  156. package/build/utils.d.ts.map +0 -1
  157. package/build/utils.js.map +0 -1
  158. /package/build/{types.js → cjs/src/types.js} +0 -0
  159. /package/build/{modules → esm/src/modules}/_.d.ts +0 -0
  160. /package/build/{modules → esm/src/modules}/_.js +0 -0
  161. /package/build/{modules → esm/src/modules}/feeabstraction.d.ts +0 -0
  162. /package/build/{modules → esm/src/modules}/feeabstraction.js +0 -0
  163. /package/build/{modules → esm/src/modules}/feemarket.d.ts +0 -0
  164. /package/build/{modules → esm/src/modules}/feemarket.js +0 -0
  165. /package/build/{querier.d.ts → esm/src/querier.d.ts} +0 -0
  166. /package/build/{querier.js → esm/src/querier.js} +0 -0
  167. /package/build/{registry.d.ts → esm/src/registry.d.ts} +0 -0
  168. /package/build/{registry.js → esm/src/registry.js} +0 -0
  169. /package/build/{signer.d.ts → esm/src/signer.d.ts} +0 -0
  170. /package/build/{signer.js → esm/src/signer.js} +0 -0
  171. /package/build/{types → esm/src}/utils.d.ts +0 -0
  172. /package/build/{utils.js → esm/src/utils.js} +0 -0
  173. /package/build/types/{modules → esm/src/modules}/_.d.ts +0 -0
  174. /package/build/types/{modules → esm/src/modules}/feeabstraction.d.ts +0 -0
  175. /package/build/types/{modules → esm/src/modules}/feemarket.d.ts +0 -0
  176. /package/build/types/{querier.d.ts → esm/src/querier.d.ts} +0 -0
  177. /package/build/types/{registry.d.ts → esm/src/registry.d.ts} +0 -0
  178. /package/build/types/{signer.d.ts → esm/src/signer.d.ts} +0 -0
  179. /package/build/{utils.d.ts → types/esm/src/utils.d.ts} +0 -0
@@ -0,0 +1,142 @@
1
+ import { OfflineSigner } from '@cosmjs/proto-signing-cjs';
2
+ import { DIDModule, MinimalImportableDIDModule, DidExtension } from './modules/did';
3
+ import { MinimalImportableResourceModule, ResourceModule, ResourceExtension } from './modules/resource';
4
+ import { AbstractCheqdSDKModule } from './modules/_';
5
+ import { CheqdSigningStargateClient } from './signer';
6
+ import { CheqdNetwork, IModuleMethodMap } from './types';
7
+ import { GasPrice } from '@cosmjs/stargate-cjs';
8
+ import { CheqdQuerier } from './querier';
9
+ import { FeemarketExtension, FeemarketModule, MinimalImportableFeemarketModule } from './modules/feemarket';
10
+ import { FeeabstractionExtension, FeeabstractionModule, MinimalImportableFeeabstractionModule } from './modules/feeabstraction';
11
+ import { OracleExtension, OracleModule } from './modules/oracle';
12
+ /**
13
+ * Configuration options for initializing the CheqdSDK
14
+ */
15
+ export interface ICheqdSDKOptions {
16
+ /** Array of modules to be loaded and registered with the SDK */
17
+ modules: AbstractCheqdSDKModule[];
18
+ /** Optional querier extensions to extend query functionality */
19
+ querierExtensions?: Record<string, any>[];
20
+ /** RPC URL of the blockchain node to connect to */
21
+ rpcUrl: string;
22
+ /** Network configuration (Mainnet, Testnet, etc.) */
23
+ network?: CheqdNetwork;
24
+ /** Gas price configuration for transactions */
25
+ gasPrice?: GasPrice;
26
+ /** List of method names that are authorized for execution */
27
+ authorizedMethods?: string[];
28
+ /** Wallet instance for signing transactions */
29
+ readonly wallet: OfflineSigner;
30
+ }
31
+ /**
32
+ * Default SDK modules that provide core functionality for DID, Resource, Feemarket, and Fee abstraction operations
33
+ */
34
+ export type DefaultCheqdSDKModules = MinimalImportableDIDModule & MinimalImportableResourceModule & MinimalImportableFeemarketModule & MinimalImportableFeeabstractionModule;
35
+ /**
36
+ * Main CheqdSDK class that provides a comprehensive interface for interacting with the Cheqd blockchain.
37
+ * This class orchestrates modules for DID operations, resource management, fee market interactions,
38
+ * and fee abstraction functionality.
39
+ */
40
+ export interface CheqdSDK extends DefaultCheqdSDKModules {
41
+ }
42
+ /**
43
+ * Main CheqdSDK class that provides a comprehensive interface for interacting with the Cheqd blockchain.
44
+ * This class orchestrates modules for DID operations, resource management, fee market interactions,
45
+ * and fee abstraction functionality.
46
+ */
47
+ export declare class CheqdSDK {
48
+ /** Map of available methods from loaded modules */
49
+ methods: IModuleMethodMap;
50
+ /** Signing client for executing transactions on the blockchain */
51
+ signer: CheqdSigningStargateClient;
52
+ /** Query client with extensions for reading blockchain data */
53
+ querier: CheqdQuerier & DidExtension & ResourceExtension & FeemarketExtension & FeeabstractionExtension & OracleExtension;
54
+ /** Configuration options passed during SDK initialization */
55
+ options: ICheqdSDKOptions;
56
+ /** List of method names that are protected from external access */
57
+ private protectedMethods;
58
+ /**
59
+ * Constructs a new CheqdSDK instance with the provided configuration options.
60
+ *
61
+ * @param options - Configuration options for the SDK including wallet, modules, and network settings
62
+ * @throws {Error} Throws an error if no wallet is provided in the options
63
+ */
64
+ constructor(options: ICheqdSDKOptions);
65
+ /**
66
+ * Executes a method from the loaded modules with the provided parameters.
67
+ * Only authorized methods can be executed through this interface.
68
+ *
69
+ * @template P - Type of parameters to pass to the method
70
+ * @template R - Return type of the method
71
+ * @param method - Name of the method to execute
72
+ * @param params - Parameters to pass to the method
73
+ * @returns Promise resolving to the method's return value
74
+ * @throws {Error} Throws an error if the method is not authorized
75
+ */
76
+ execute<P = any, R = any>(method: string, ...params: P[]): Promise<R>;
77
+ /**
78
+ * Loads and instantiates the provided modules, making their methods available for execution.
79
+ * This method also applies mixins to make module methods accessible on the SDK instance.
80
+ *
81
+ * @param modules - Array of modules to load and integrate
82
+ * @returns Promise resolving to the CheqdSDK instance with loaded modules
83
+ * @private
84
+ */
85
+ private loadModules;
86
+ /**
87
+ * Creates and configures a registry with types from all loaded modules.
88
+ * The registry is used for encoding and decoding blockchain messages.
89
+ *
90
+ * @returns Configured Registry instance with all module types
91
+ * @private
92
+ */
93
+ private loadRegistry;
94
+ /**
95
+ * Establishes a connection to the blockchain querier with all necessary extensions.
96
+ * Extensions provide specialized query capabilities for different modules.
97
+ *
98
+ * @returns Promise resolving to a CheqdQuerier instance with all extensions
99
+ * @private
100
+ */
101
+ private loadQuerierExtensions;
102
+ /**
103
+ * Builds and initializes the complete SDK instance by loading all components:
104
+ * registry, querier extensions, modules, gas price configuration, and signing client.
105
+ * This method must be called before the SDK can be used for blockchain operations.
106
+ *
107
+ * @returns Promise resolving to the fully initialized CheqdSDK instance
108
+ */
109
+ build(): Promise<CheqdSDK>;
110
+ }
111
+ /**
112
+ * Filters methods based on authorization rules and protected method restrictions.
113
+ * Returns only methods that are explicitly authorized (if authorization list is provided)
114
+ * and excludes protected methods from external access.
115
+ *
116
+ * @param methods - Map of all available methods from modules
117
+ * @param authorizedMethods - List of method names that are explicitly authorized
118
+ * @param protectedMethods - List of method names that should be protected from external access
119
+ * @returns Filtered map containing only authorized and non-protected methods
120
+ */
121
+ export declare function filterUnauthorizedMethods(methods: IModuleMethodMap, authorizedMethods: string[], protectedMethods: string[]): IModuleMethodMap;
122
+ /**
123
+ * Factory function that creates and builds a fully initialized CheqdSDK instance.
124
+ * This is the recommended way to create an SDK instance as it handles all initialization steps.
125
+ *
126
+ * @param options - Configuration options for the SDK including wallet, modules, and network settings
127
+ * @returns Promise resolving to a fully initialized and ready-to-use CheqdSDK instance
128
+ */
129
+ export declare function createCheqdSDK(options: ICheqdSDKOptions): Promise<CheqdSDK>;
130
+ export { DIDModule, ResourceModule, FeemarketModule, FeeabstractionModule, OracleModule };
131
+ export { AbstractCheqdSDKModule, applyMixins } from './modules/_';
132
+ export { DidExtension, MinimalImportableDIDModule, MsgCreateDidDocEncodeObject, MsgCreateDidDocResponseEncodeObject, MsgUpdateDidDocEncodeObject, MsgUpdateDidDocResponseEncodeObject, MsgDeactivateDidDocEncodeObject, MsgDeactivateDidDocResponseEncodeObject, contexts, defaultDidExtensionKey, protobufLiterals as protobufLiteralsDid, typeUrlMsgCreateDidDoc, typeUrlMsgCreateDidDocResponse, typeUrlMsgUpdateDidDoc, typeUrlMsgUpdateDidDocResponse, typeUrlMsgDeactivateDidDoc, typeUrlMsgDeactivateDidDocResponse, setupDidExtension, isMsgCreateDidDocEncodeObject, isMsgUpdateDidDocEncodeObject, isMsgDeactivateDidDocEncodeObject, } from './modules/did';
133
+ export { ResourceExtension, MinimalImportableResourceModule, defaultResourceExtensionKey, protobufLiterals as protobufLiteralsResource, typeUrlMsgCreateResource, typeUrlMsgCreateResourceResponse, setupResourceExtension, isMsgCreateResourceEncodeObject, } from './modules/resource';
134
+ export { FeemarketExtension, MinimalImportableFeemarketModule, DefaultGasPriceTiers, defaultFeemarketExtensionKey, defaultGasPriceTiers, protobufLiterals as protobufLiteralsFeemarket, typeUrlGasPriceResponse, typeUrlGasPricesResponse, typeUrlParamsResponse, setupFeemarketExtension, isGasPriceEncodeObject, isGasPricesEncodeObject, isParamsEncodeObject, } from './modules/feemarket';
135
+ export { FeeabstractionExtension, MinimalImportableFeeabstractionModule, defaultFeeabstractionExtensionKey, protobufLiterals as protobufLiteralsFeeabstraction, typeUrlMsgAddHostZone, typeUrlMsgAddHostZoneResponse, typeUrlMsgFundFeeAbsModuleAccount, typeUrlMsgFundFeeAbsModuleAccountResponse, typeUrlMsgRemoveHostZone, typeUrlMsgRemoveHostZoneResponse, typeUrlMsgUpdateHostZone, typeUrlMsgUpdateHostZoneResponse, typeUrlMsgSendQueryIbcDenomTWAP, typeUrlMsgSendQueryIbcDenomTWAPResponse, typeUrlMsgSwapCrossChain, typeUrlMsgSwapCrossChainResponse, typeUrlMsgUpdateParams, typeUrlMsgUpdateParamsResponse, setupFeeabstractionExtension, isMsgAddHostZoneEncodeObject, isMsgAddHostZoneResponseEncodeObject, isMsgFundFeeAbsModuleAccountEncodeObject, isMsgFundFeeAbsModuleAccountResponseEncodeObject, isMsgRemoveHostZoneEncodeObject, isMsgRemoveHostZoneResponseEncodeObject, isMsgUpdateHostZoneEncodeObject, isMsgUpdateHostZoneResponseEncodeObject, isMsgSendQueryIbcDenomTWAPEncodeObject, isMsgSendQueryIbcDenomTWAPResponseEncodeObject, isMsgSwapCrossChainEncodeObject, isMsgSwapCrossChainResponseEncodeObject, isMsgUpdateParamsEncodeObject, isMsgUpdateParamsResponseEncodeObject, } from './modules/feeabstraction';
136
+ export { OracleExtension, MinimalImportableOracleModule, OracleGovProposalOptions, MsgAggregateExchangeRatePrevoteEncodeObject, MsgAggregateExchangeRateVoteEncodeObject, MsgDelegateFeedConsentEncodeObject, MsgLegacyGovUpdateParamsEncodeObject, MsgGovUpdateParamsEncodeObject, MsgGovAddDenomsEncodeObject, MsgGovRemoveCurrencyPairProvidersEncodeObject, MsgGovRemoveCurrencyDeviationThresholdsEncodeObject, MsgGovCancelUpdateParamPlanEncodeObject, defaultOracleExtensionKey, protobufLiterals as protobufLiteralsOracle, typeUrlMsgAggregateExchangeRatePrevote, typeUrlMsgAggregateExchangeRatePrevoteResponse, typeUrlMsgAggregateExchangeRateVote, typeUrlMsgAggregateExchangeRateVoteResponse, typeUrlMsgDelegateFeedConsent, typeUrlMsgDelegateFeedConsentResponse, typeUrlMsgLegacyGovUpdateParams, typeUrlMsgLegacyGovUpdateParamsResponse, typeUrlMsgGovUpdateParams, typeUrlMsgGovUpdateParamsResponse, typeUrlMsgGovAddDenoms, typeUrlMsgGovAddDenomsResponse, typeUrlMsgGovRemoveCurrencyPairProviders, typeUrlMsgGovRemoveCurrencyPairProvidersResponse, typeUrlMsgGovRemoveCurrencyDeviationThresholds, typeUrlMsgGovRemoveCurrencyDeviationThresholdsResponse, typeUrlMsgGovCancelUpdateParamPlan, typeUrlMsgGovCancelUpdateParamPlanResponse, isMsgAggregateExchangeRatePrevoteEncodeObject, isMsgAggregateExchangeRateVoteEncodeObject, isMsgDelegateFeedConsentEncodeObject, isMsgLegacyGovUpdateParamsEncodeObject, isMsgGovUpdateParamsEncodeObject, isMsgGovAddDenomsEncodeObject, isMsgGovRemoveCurrencyPairProvidersEncodeObject, isMsgGovRemoveCurrencyDeviationThresholdsEncodeObject, isMsgGovCancelUpdateParamPlanEncodeObject, setupOracleExtension, } from './modules/oracle';
137
+ export * from './signer';
138
+ export * from './querier';
139
+ export * from './registry';
140
+ export * from './types';
141
+ export { TImportableEd25519Key, createKeyPairRaw, createKeyPairBase64, createKeyPairHex, createVerificationKeys, createDidVerificationMethod, createDidPayload, createSignInputsFromImportableEd25519Key, validateSpecCompliantPayload, isEqualKeyValuePair, createCosmosPayerWallet, getCosmosAccount, checkBalance, toMultibaseRaw, } from './utils';
142
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../cjs/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ import { DIDModule } from './modules/did';
2
+ import { ResourceModule } from './modules/resource';
3
+ import { applyMixins, instantiateCheqdSDKModule, instantiateCheqdSDKModuleRegistryTypes, instantiateCheqdSDKModuleQuerierExtensionSetup, } from './modules/_';
4
+ import { createDefaultCheqdRegistry } from './registry';
5
+ import { CheqdSigningStargateClient } from './signer';
6
+ import { CheqdNetwork } from './types';
7
+ import { QueryClient } from '@cosmjs/stargate-cjs';
8
+ import { CheqdQuerier } from './querier';
9
+ import { defaultGasPriceTiers, FeemarketModule, } from './modules/feemarket';
10
+ import { FeeabstractionModule, } from './modules/feeabstraction';
11
+ import { OracleModule } from './modules/oracle';
12
+ /**
13
+ * Main CheqdSDK class that provides a comprehensive interface for interacting with the Cheqd blockchain.
14
+ * This class orchestrates modules for DID operations, resource management, fee market interactions,
15
+ * and fee abstraction functionality.
16
+ */
17
+ export class CheqdSDK {
18
+ /** Map of available methods from loaded modules */
19
+ methods;
20
+ /** Signing client for executing transactions on the blockchain */
21
+ signer;
22
+ /** Query client with extensions for reading blockchain data */
23
+ querier;
24
+ /** Configuration options passed during SDK initialization */
25
+ options;
26
+ /** List of method names that are protected from external access */
27
+ protectedMethods = ['constructor', 'build', 'loadModules', 'loadRegistry'];
28
+ /**
29
+ * Constructs a new CheqdSDK instance with the provided configuration options.
30
+ *
31
+ * @param options - Configuration options for the SDK including wallet, modules, and network settings
32
+ * @throws {Error} Throws an error if no wallet is provided in the options
33
+ */
34
+ constructor(options) {
35
+ if (!options?.wallet) {
36
+ throw new Error('No wallet provided');
37
+ }
38
+ this.options = {
39
+ authorizedMethods: [],
40
+ network: CheqdNetwork.Testnet,
41
+ ...options,
42
+ };
43
+ this.methods = {};
44
+ this.signer = new CheqdSigningStargateClient(undefined, this.options.wallet, {});
45
+ this.querier = new QueryClient({});
46
+ }
47
+ /**
48
+ * Executes a method from the loaded modules with the provided parameters.
49
+ * Only authorized methods can be executed through this interface.
50
+ *
51
+ * @template P - Type of parameters to pass to the method
52
+ * @template R - Return type of the method
53
+ * @param method - Name of the method to execute
54
+ * @param params - Parameters to pass to the method
55
+ * @returns Promise resolving to the method's return value
56
+ * @throws {Error} Throws an error if the method is not authorized
57
+ */
58
+ async execute(method, ...params) {
59
+ if (!Object.keys(this.methods).includes(method)) {
60
+ throw new Error(`Method ${method} is not authorized`);
61
+ }
62
+ return await this.methods[method](...params, { sdk: this });
63
+ }
64
+ /**
65
+ * Loads and instantiates the provided modules, making their methods available for execution.
66
+ * This method also applies mixins to make module methods accessible on the SDK instance.
67
+ *
68
+ * @param modules - Array of modules to load and integrate
69
+ * @returns Promise resolving to the CheqdSDK instance with loaded modules
70
+ * @private
71
+ */
72
+ async loadModules(modules) {
73
+ this.options.modules = this.options.modules.map((module) => instantiateCheqdSDKModule(module, this.signer, this.querier, {
74
+ sdk: this,
75
+ }));
76
+ const methods = applyMixins(this, modules);
77
+ this.methods = {
78
+ ...this.methods,
79
+ ...filterUnauthorizedMethods(methods, this.options.authorizedMethods || [], this.protectedMethods),
80
+ };
81
+ for (const method of Object.keys(this.methods)) {
82
+ // @ts-ignore
83
+ this[method] = async (...params) => {
84
+ return await this.execute(method, ...params);
85
+ };
86
+ }
87
+ return this;
88
+ }
89
+ /**
90
+ * Creates and configures a registry with types from all loaded modules.
91
+ * The registry is used for encoding and decoding blockchain messages.
92
+ *
93
+ * @returns Configured Registry instance with all module types
94
+ * @private
95
+ */
96
+ loadRegistry() {
97
+ const registryTypes = this.options.modules
98
+ .map((module) => instantiateCheqdSDKModuleRegistryTypes(module))
99
+ .reduce((acc, types) => {
100
+ return [...acc, ...types];
101
+ });
102
+ return createDefaultCheqdRegistry(registryTypes);
103
+ }
104
+ /**
105
+ * Establishes a connection to the blockchain querier with all necessary extensions.
106
+ * Extensions provide specialized query capabilities for different modules.
107
+ *
108
+ * @returns Promise resolving to a CheqdQuerier instance with all extensions
109
+ * @private
110
+ */
111
+ async loadQuerierExtensions() {
112
+ const querierExtensions = this.options.modules.map((module) => instantiateCheqdSDKModuleQuerierExtensionSetup(module));
113
+ const querier = await CheqdQuerier.connectWithExtensions(this.options.rpcUrl, ...querierExtensions);
114
+ return querier;
115
+ }
116
+ /**
117
+ * Builds and initializes the complete SDK instance by loading all components:
118
+ * registry, querier extensions, modules, gas price configuration, and signing client.
119
+ * This method must be called before the SDK can be used for blockchain operations.
120
+ *
121
+ * @returns Promise resolving to the fully initialized CheqdSDK instance
122
+ */
123
+ async build() {
124
+ const registry = this.loadRegistry();
125
+ this.querier = await this.loadQuerierExtensions();
126
+ // ensure feemarket module is loaded, if not already
127
+ if (!this.options.modules.find((module) => module instanceof FeemarketModule)) {
128
+ this.options.modules.push(FeemarketModule);
129
+ }
130
+ const sdk = await this.loadModules(this.options.modules);
131
+ // define gas price
132
+ this.options.gasPrice =
133
+ this.options.gasPrice ||
134
+ (await this.generateSafeGasPriceWithExponentialBackoff(DIDModule.baseMinimalDenom, defaultGasPriceTiers.Low, undefined, { sdk }));
135
+ this.signer = await CheqdSigningStargateClient.connectWithSigner(this.options.rpcUrl, this.options.wallet, {
136
+ registry,
137
+ gasPrice: this.options.gasPrice,
138
+ });
139
+ return sdk;
140
+ }
141
+ }
142
+ /**
143
+ * Filters methods based on authorization rules and protected method restrictions.
144
+ * Returns only methods that are explicitly authorized (if authorization list is provided)
145
+ * and excludes protected methods from external access.
146
+ *
147
+ * @param methods - Map of all available methods from modules
148
+ * @param authorizedMethods - List of method names that are explicitly authorized
149
+ * @param protectedMethods - List of method names that should be protected from external access
150
+ * @returns Filtered map containing only authorized and non-protected methods
151
+ */
152
+ export function filterUnauthorizedMethods(methods, authorizedMethods, protectedMethods) {
153
+ let _methods = Object.keys(methods);
154
+ if (authorizedMethods.length === 0)
155
+ return _methods
156
+ .filter((method) => !protectedMethods.includes(method))
157
+ .reduce((acc, method) => ({ ...acc, [method]: methods[method] }), {});
158
+ return _methods
159
+ .filter((method) => authorizedMethods.includes(method) && !protectedMethods.includes(method))
160
+ .reduce((acc, method) => ({ ...acc, [method]: methods[method] }), {});
161
+ }
162
+ /**
163
+ * Factory function that creates and builds a fully initialized CheqdSDK instance.
164
+ * This is the recommended way to create an SDK instance as it handles all initialization steps.
165
+ *
166
+ * @param options - Configuration options for the SDK including wallet, modules, and network settings
167
+ * @returns Promise resolving to a fully initialized and ready-to-use CheqdSDK instance
168
+ */
169
+ export async function createCheqdSDK(options) {
170
+ return await new CheqdSDK(options).build();
171
+ }
172
+ export { DIDModule, ResourceModule, FeemarketModule, FeeabstractionModule, OracleModule };
173
+ export { AbstractCheqdSDKModule, applyMixins } from './modules/_';
174
+ export { MsgCreateDidDocResponseEncodeObject, MsgUpdateDidDocEncodeObject, MsgUpdateDidDocResponseEncodeObject, MsgDeactivateDidDocEncodeObject, contexts, defaultDidExtensionKey, protobufLiterals as protobufLiteralsDid, typeUrlMsgCreateDidDoc, typeUrlMsgCreateDidDocResponse, typeUrlMsgUpdateDidDoc, typeUrlMsgUpdateDidDocResponse, typeUrlMsgDeactivateDidDoc, typeUrlMsgDeactivateDidDocResponse, setupDidExtension, isMsgCreateDidDocEncodeObject, isMsgUpdateDidDocEncodeObject, isMsgDeactivateDidDocEncodeObject, } from './modules/did';
175
+ export { defaultResourceExtensionKey, protobufLiterals as protobufLiteralsResource, typeUrlMsgCreateResource, typeUrlMsgCreateResourceResponse, setupResourceExtension, isMsgCreateResourceEncodeObject, } from './modules/resource';
176
+ export { defaultFeemarketExtensionKey, defaultGasPriceTiers, protobufLiterals as protobufLiteralsFeemarket, typeUrlGasPriceResponse, typeUrlGasPricesResponse, typeUrlParamsResponse, setupFeemarketExtension, isGasPriceEncodeObject, isGasPricesEncodeObject, isParamsEncodeObject, } from './modules/feemarket';
177
+ export { defaultFeeabstractionExtensionKey, protobufLiterals as protobufLiteralsFeeabstraction, typeUrlMsgAddHostZone, typeUrlMsgAddHostZoneResponse, typeUrlMsgFundFeeAbsModuleAccount, typeUrlMsgFundFeeAbsModuleAccountResponse, typeUrlMsgRemoveHostZone, typeUrlMsgRemoveHostZoneResponse, typeUrlMsgUpdateHostZone, typeUrlMsgUpdateHostZoneResponse, typeUrlMsgSendQueryIbcDenomTWAP, typeUrlMsgSendQueryIbcDenomTWAPResponse, typeUrlMsgSwapCrossChain, typeUrlMsgSwapCrossChainResponse, typeUrlMsgUpdateParams, typeUrlMsgUpdateParamsResponse, setupFeeabstractionExtension, isMsgAddHostZoneEncodeObject, isMsgAddHostZoneResponseEncodeObject, isMsgFundFeeAbsModuleAccountEncodeObject, isMsgFundFeeAbsModuleAccountResponseEncodeObject, isMsgRemoveHostZoneEncodeObject, isMsgRemoveHostZoneResponseEncodeObject, isMsgUpdateHostZoneEncodeObject, isMsgUpdateHostZoneResponseEncodeObject, isMsgSendQueryIbcDenomTWAPEncodeObject, isMsgSendQueryIbcDenomTWAPResponseEncodeObject, isMsgSwapCrossChainEncodeObject, isMsgSwapCrossChainResponseEncodeObject, isMsgUpdateParamsEncodeObject, isMsgUpdateParamsResponseEncodeObject, } from './modules/feeabstraction';
178
+ export { defaultOracleExtensionKey, protobufLiterals as protobufLiteralsOracle, typeUrlMsgAggregateExchangeRatePrevote, typeUrlMsgAggregateExchangeRatePrevoteResponse, typeUrlMsgAggregateExchangeRateVote, typeUrlMsgAggregateExchangeRateVoteResponse, typeUrlMsgDelegateFeedConsent, typeUrlMsgDelegateFeedConsentResponse, typeUrlMsgLegacyGovUpdateParams, typeUrlMsgLegacyGovUpdateParamsResponse, typeUrlMsgGovUpdateParams, typeUrlMsgGovUpdateParamsResponse, typeUrlMsgGovAddDenoms, typeUrlMsgGovAddDenomsResponse, typeUrlMsgGovRemoveCurrencyPairProviders, typeUrlMsgGovRemoveCurrencyPairProvidersResponse, typeUrlMsgGovRemoveCurrencyDeviationThresholds, typeUrlMsgGovRemoveCurrencyDeviationThresholdsResponse, typeUrlMsgGovCancelUpdateParamPlan, typeUrlMsgGovCancelUpdateParamPlanResponse, isMsgAggregateExchangeRatePrevoteEncodeObject, isMsgAggregateExchangeRateVoteEncodeObject, isMsgDelegateFeedConsentEncodeObject, isMsgLegacyGovUpdateParamsEncodeObject, isMsgGovUpdateParamsEncodeObject, isMsgGovAddDenomsEncodeObject, isMsgGovRemoveCurrencyPairProvidersEncodeObject, isMsgGovRemoveCurrencyDeviationThresholdsEncodeObject, isMsgGovCancelUpdateParamPlanEncodeObject, setupOracleExtension, } from './modules/oracle';
179
+ export * from './signer';
180
+ export * from './querier';
181
+ export * from './registry';
182
+ export * from './types';
183
+ export { TImportableEd25519Key, createKeyPairRaw, createKeyPairBase64, createKeyPairHex, createVerificationKeys, createDidVerificationMethod, createDidPayload, createSignInputsFromImportableEd25519Key, validateSpecCompliantPayload, isEqualKeyValuePair, createCosmosPayerWallet, getCosmosAccount, checkBalance, toMultibaseRaw, } from './utils';
184
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../cjs/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { GeneratedType } from '@cosmjs/proto-signing-cjs';
2
+ import { CheqdSigningStargateClient } from '../signer';
3
+ import { IModuleMethodMap, QueryExtensionSetup } from '../types';
4
+ import { CheqdQuerier } from '../querier';
5
+ /**
6
+ * Abstract base class for all Cheqd SDK modules.
7
+ * Provides common functionality for module initialization, registry types,
8
+ * and querier extensions. All SDK modules must extend this class.
9
+ */
10
+ export declare abstract class AbstractCheqdSDKModule {
11
+ /** Signing client instance for transaction operations */
12
+ _signer: CheqdSigningStargateClient;
13
+ /** Map of methods exposed by this module */
14
+ methods: IModuleMethodMap;
15
+ /** Querier instance for blockchain data retrieval */
16
+ querier: CheqdQuerier;
17
+ /** List of method names protected from external access */
18
+ readonly _protectedMethods: string[];
19
+ /** Static registry types for message encoding/decoding */
20
+ static readonly registryTypes: Iterable<[string, GeneratedType]>;
21
+ /** Static querier extension setup function */
22
+ static readonly querierExtensionSetup: QueryExtensionSetup<any>;
23
+ /**
24
+ * Constructs a new AbstractCheqdSDKModule instance.
25
+ *
26
+ * @param signer - Signing client for blockchain transactions
27
+ * @param querier - Querier client for blockchain data retrieval
28
+ * @throws Error if signer or querier is not provided
29
+ */
30
+ constructor(signer: CheqdSigningStargateClient, querier: CheqdQuerier);
31
+ /**
32
+ * Abstract method to get registry types for message encoding/decoding.
33
+ * Must be implemented by concrete module classes.
34
+ *
35
+ * @returns Iterable of [typeUrl, GeneratedType] pairs for the registry
36
+ */
37
+ abstract getRegistryTypes(): Iterable<[string, GeneratedType]>;
38
+ }
39
+ /**
40
+ * Type that creates a minimal importable version of a Cheqd SDK module.
41
+ * Removes internal implementation details while preserving public methods and properties.
42
+ * Used for creating clean interfaces for module consumption.
43
+ */
44
+ export type MinimalImportableCheqdSDKModule<T extends AbstractCheqdSDKModule> = Omit<T, '_signer' | '_protectedMethods' | 'registryTypes' | 'querierExtensionSetup' | 'getRegistryTypes' | 'getQuerierExtensionSetup'>;
45
+ /**
46
+ * Factory function for instantiating Cheqd SDK modules.
47
+ * Creates a new instance of the specified module class with the provided arguments.
48
+ *
49
+ * @template T - Type of the module constructor
50
+ * @param module - Module constructor class
51
+ * @param args - Constructor arguments for the module
52
+ * @returns New instance of the module
53
+ */
54
+ export declare function instantiateCheqdSDKModule<T extends new (...args: any[]) => T>(module: T, ...args: ConstructorParameters<T>): T;
55
+ /**
56
+ * Extracts registry types from a module for message encoding/decoding.
57
+ * Safely retrieves the registryTypes static property with fallback to empty array.
58
+ *
59
+ * @param module - Module instance or class to extract registry types from
60
+ * @returns Iterable of [typeUrl, GeneratedType] pairs
61
+ */
62
+ export declare function instantiateCheqdSDKModuleRegistryTypes(module: any): Iterable<[string, GeneratedType]>;
63
+ /**
64
+ * Extracts querier extension setup from a module.
65
+ * Safely retrieves the querierExtensionSetup static property with fallback to empty object.
66
+ *
67
+ * @param module - Module instance or class to extract querier extension setup from
68
+ * @returns Query extension setup function
69
+ */
70
+ export declare function instantiateCheqdSDKModuleQuerierExtensionSetup(module: any): QueryExtensionSetup<any>;
71
+ /**
72
+ * Applies mixin pattern to combine methods from multiple module constructors.
73
+ * Extracts public methods from module prototypes while respecting protected method lists.
74
+ * This enables composition of functionality from multiple modules into a single interface.
75
+ *
76
+ * @param derivedCtor - Target constructor to apply mixins to
77
+ * @param constructors - Array of constructor functions to extract methods from
78
+ * @returns Map of method names to their implementations
79
+ */
80
+ export declare function applyMixins(derivedCtor: any, constructors: any[]): IModuleMethodMap;
81
+ //# sourceMappingURL=_.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_.d.ts","sourceRoot":"","sources":["../../../../../cjs/src/modules/_.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,8BAAsB,sBAAsB;IAC3C,yDAAyD;IACzD,OAAO,EAAE,0BAA0B,CAAC;IACpC,4CAA4C;IAC5C,OAAO,EAAE,gBAAgB,CAAM;IAC/B,qDAAqD;IACrD,OAAO,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAmE;IACvG,0DAA0D;IAC1D,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAM;IACtE,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAA+B;IAE9F;;;;;;OAMG;gBACS,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,YAAY;IAWrE;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9D;AAUD;;;;GAIG;AACH,MAAM,MAAM,+BAA+B,CAAC,CAAC,SAAS,sBAAsB,IAAI,IAAI,CACnF,CAAC,EACC,SAAS,GACT,mBAAmB,GACnB,eAAe,GACf,uBAAuB,GACvB,kBAAkB,GAClB,0BAA0B,CAC5B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC5E,MAAM,EAAE,CAAC,EACT,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC/B,CAAC,CAEH;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CAAC,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAErG;AAED;;;;;;GAMG;AACH,wBAAgB,8CAA8C,CAAC,MAAM,EAAE,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAEpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAmBnF"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Abstract base class for all Cheqd SDK modules.
3
+ * Provides common functionality for module initialization, registry types,
4
+ * and querier extensions. All SDK modules must extend this class.
5
+ */
6
+ export class AbstractCheqdSDKModule {
7
+ /** Signing client instance for transaction operations */
8
+ _signer;
9
+ /** Map of methods exposed by this module */
10
+ methods = {};
11
+ /** Querier instance for blockchain data retrieval */
12
+ querier;
13
+ /** List of method names protected from external access */
14
+ _protectedMethods = ['constructor', 'getRegistryTypes', 'getQuerierExtensionSetup'];
15
+ /** Static registry types for message encoding/decoding */
16
+ static registryTypes = [];
17
+ /** Static querier extension setup function */
18
+ static querierExtensionSetup = (base) => ({});
19
+ /**
20
+ * Constructs a new AbstractCheqdSDKModule instance.
21
+ *
22
+ * @param signer - Signing client for blockchain transactions
23
+ * @param querier - Querier client for blockchain data retrieval
24
+ * @throws Error if signer or querier is not provided
25
+ */
26
+ constructor(signer, querier) {
27
+ if (!signer) {
28
+ throw new Error('signer is required');
29
+ }
30
+ if (!querier) {
31
+ throw new Error('querier is required');
32
+ }
33
+ this._signer = signer;
34
+ this.querier = querier;
35
+ }
36
+ }
37
+ /**
38
+ * Factory function for instantiating Cheqd SDK modules.
39
+ * Creates a new instance of the specified module class with the provided arguments.
40
+ *
41
+ * @template T - Type of the module constructor
42
+ * @param module - Module constructor class
43
+ * @param args - Constructor arguments for the module
44
+ * @returns New instance of the module
45
+ */
46
+ export function instantiateCheqdSDKModule(module, ...args) {
47
+ return new module(...args);
48
+ }
49
+ /**
50
+ * Extracts registry types from a module for message encoding/decoding.
51
+ * Safely retrieves the registryTypes static property with fallback to empty array.
52
+ *
53
+ * @param module - Module instance or class to extract registry types from
54
+ * @returns Iterable of [typeUrl, GeneratedType] pairs
55
+ */
56
+ export function instantiateCheqdSDKModuleRegistryTypes(module) {
57
+ return module.registryTypes ?? [];
58
+ }
59
+ /**
60
+ * Extracts querier extension setup from a module.
61
+ * Safely retrieves the querierExtensionSetup static property with fallback to empty object.
62
+ *
63
+ * @param module - Module instance or class to extract querier extension setup from
64
+ * @returns Query extension setup function
65
+ */
66
+ export function instantiateCheqdSDKModuleQuerierExtensionSetup(module) {
67
+ return module.querierExtensionSetup ?? {};
68
+ }
69
+ /**
70
+ * Applies mixin pattern to combine methods from multiple module constructors.
71
+ * Extracts public methods from module prototypes while respecting protected method lists.
72
+ * This enables composition of functionality from multiple modules into a single interface.
73
+ *
74
+ * @param derivedCtor - Target constructor to apply mixins to
75
+ * @param constructors - Array of constructor functions to extract methods from
76
+ * @returns Map of method names to their implementations
77
+ */
78
+ export function applyMixins(derivedCtor, constructors) {
79
+ let methods = {};
80
+ constructors.forEach((baseCtor) => {
81
+ Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
82
+ const property = baseCtor.prototype[name];
83
+ if (typeof property !== 'function' ||
84
+ derivedCtor.hasOwnProperty(name) ||
85
+ derivedCtor?.protectedMethods.includes(name) ||
86
+ baseCtor.prototype?._protectedMethods?.includes(name))
87
+ return;
88
+ methods = { ...methods, [name]: property };
89
+ });
90
+ });
91
+ return methods;
92
+ }
93
+ //# sourceMappingURL=_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_.js","sourceRoot":"","sources":["../../../../../cjs/src/modules/_.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,OAAgB,sBAAsB;IAC3C,yDAAyD;IACzD,OAAO,CAA6B;IACpC,4CAA4C;IAC5C,OAAO,GAAqB,EAAE,CAAC;IAC/B,qDAAqD;IACrD,OAAO,CAAe;IACtB,0DAA0D;IACjD,iBAAiB,GAAa,CAAC,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;IACvG,0DAA0D;IAC1D,MAAM,CAAU,aAAa,GAAsC,EAAE,CAAC;IACtE,8CAA8C;IAC9C,MAAM,CAAU,qBAAqB,GAA6B,CAAC,IAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,YAAY,MAAkC,EAAE,OAAqB;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;;AAkCF;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACxC,MAAS,EACT,GAAG,IAA8B;IAEjC,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CAAC,MAAW;IACjE,OAAO,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8CAA8C,CAAC,MAAW;IACzE,OAAO,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,WAAgB,EAAE,YAAmB;IAChE,IAAI,OAAO,GAAqB,EAAE,CAAC;IAEnC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,IACC,OAAO,QAAQ,KAAK,UAAU;gBAC9B,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC;gBAChC,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAErD,OAAO;YAER,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AAChB,CAAC"}