@ledgerhq/context-module 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/lib/cjs/package.json +2 -2
  2. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  3. package/lib/cjs/src/ContextModuleBuilder.js.map +2 -2
  4. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.test.js.map +2 -2
  6. package/lib/cjs/src/DefaultContextModule.js +1 -1
  7. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  8. package/lib/cjs/src/di.js +1 -1
  9. package/lib/cjs/src/di.js.map +3 -3
  10. package/lib/cjs/src/index.js +1 -1
  11. package/lib/cjs/src/index.js.map +2 -2
  12. package/lib/cjs/src/modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource.test.js +1 -1
  13. package/lib/cjs/src/modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +2 -2
  14. package/lib/cjs/src/modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +1 -1
  15. package/lib/cjs/src/modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +2 -2
  16. package/lib/cjs/src/modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  17. package/lib/cjs/src/modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +2 -2
  18. package/lib/cjs/src/modules/ethereum/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  19. package/lib/cjs/src/modules/ethereum/external-plugin/data/HttpExternalPluginDataSource.test.js.map +2 -2
  20. package/lib/cjs/src/modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource.test.js +1 -1
  21. package/lib/cjs/src/modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource.test.js.map +2 -2
  22. package/lib/cjs/src/modules/ethereum/token/data/HttpTokenDataSource.test.js +1 -1
  23. package/lib/cjs/src/modules/ethereum/token/data/HttpTokenDataSource.test.js.map +2 -2
  24. package/lib/cjs/src/modules/ethereum/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  25. package/lib/cjs/src/modules/ethereum/trusted-name/data/HttpTrustedNameDataSource.test.js.map +2 -2
  26. package/lib/cjs/src/modules/ethereum/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  27. package/lib/cjs/src/modules/ethereum/typed-data/data/HttpTypedDataDataSource.test.js.map +2 -2
  28. package/lib/cjs/src/modules/multichain/pki/model/KeyId.js +1 -1
  29. package/lib/cjs/src/modules/multichain/pki/model/KeyId.js.map +2 -2
  30. package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js +1 -1
  31. package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js.map +3 -3
  32. package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js +1 -1
  33. package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js.map +3 -3
  34. package/lib/cjs/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js +2 -0
  35. package/lib/cjs/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js.map +7 -0
  36. package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js +2 -0
  37. package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js.map +7 -0
  38. package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js +2 -0
  39. package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js.map +7 -0
  40. package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js +2 -0
  41. package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js.map +7 -0
  42. package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionTypes.js +2 -0
  43. package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionTypes.js.map +7 -0
  44. package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js +2 -0
  45. package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js.map +7 -0
  46. package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js +2 -0
  47. package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js.map +7 -0
  48. package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js +2 -0
  49. package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js.map +7 -0
  50. package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantTypes.js +2 -0
  51. package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantTypes.js.map +7 -0
  52. package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js +2 -0
  53. package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js.map +7 -0
  54. package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js +2 -0
  55. package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js.map +7 -0
  56. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js +2 -0
  57. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js.map +7 -0
  58. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +2 -0
  59. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +7 -0
  60. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js +2 -0
  61. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js.map +7 -0
  62. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js +2 -0
  63. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +7 -0
  64. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +2 -0
  65. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +7 -0
  66. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js +2 -0
  67. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js.map +7 -0
  68. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js +2 -0
  69. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js.map +7 -0
  70. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoTypes.js +2 -0
  71. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoTypes.js.map +7 -0
  72. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js +2 -0
  73. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js.map +7 -0
  74. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +2 -0
  75. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +7 -0
  76. package/lib/cjs/src/modules/solana/lifi/data/HttpLifiDataSource.test.js +1 -1
  77. package/lib/cjs/src/modules/solana/lifi/data/HttpLifiDataSource.test.js.map +2 -2
  78. package/lib/cjs/src/modules/solana/lifi/domain/LifiContextLoader.test.js +1 -1
  79. package/lib/cjs/src/modules/solana/lifi/domain/LifiContextLoader.test.js.map +2 -2
  80. package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js +1 -1
  81. package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js.map +3 -3
  82. package/lib/cjs/src/modules/solana/model/SolanaContextTypes.js +1 -1
  83. package/lib/cjs/src/modules/solana/model/SolanaContextTypes.js.map +1 -1
  84. package/lib/cjs/src/modules/solana/model/SolanaPayloads.js +1 -1
  85. package/lib/cjs/src/modules/solana/model/SolanaPayloads.js.map +3 -3
  86. package/lib/cjs/src/modules/solana/model/SolanaTransactionScanChainId.js +1 -1
  87. package/lib/cjs/src/modules/solana/model/SolanaTransactionScanChainId.js.map +2 -2
  88. package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js +1 -1
  89. package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js.map +2 -2
  90. package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js +1 -1
  91. package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js.map +2 -2
  92. package/lib/cjs/src/modules/solana/owner-info/domain/solanaContextTypes.js +1 -1
  93. package/lib/cjs/src/modules/solana/owner-info/domain/solanaContextTypes.js.map +1 -1
  94. package/lib/cjs/src/modules/solana/token/data/HttpTokenDataSource.test.js +2 -2
  95. package/lib/cjs/src/modules/solana/token/data/HttpTokenDataSource.test.js.map +2 -2
  96. package/lib/cjs/src/modules/solana/token/domain/TokenContextLoader.js +1 -1
  97. package/lib/cjs/src/modules/solana/token/domain/TokenContextLoader.js.map +3 -3
  98. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js +2 -0
  99. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js.map +7 -0
  100. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js +2 -0
  101. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js.map +7 -0
  102. package/lib/cjs/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js +2 -0
  103. package/lib/cjs/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js.map +7 -0
  104. package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js +2 -0
  105. package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js.map +7 -0
  106. package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js +2 -0
  107. package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js.map +7 -0
  108. package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js +2 -0
  109. package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js.map +7 -0
  110. package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js +2 -0
  111. package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js.map +7 -0
  112. package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js +2 -0
  113. package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js.map +7 -0
  114. package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js +2 -0
  115. package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js.map +7 -0
  116. package/lib/cjs/src/modules/solana/token-info/data/TokenInfoDataSource.js +2 -0
  117. package/lib/cjs/src/modules/solana/token-info/data/TokenInfoDataSource.js.map +7 -0
  118. package/lib/cjs/src/modules/solana/token-info/di/tokenInfoModuleFactory.js +2 -0
  119. package/lib/cjs/src/modules/solana/token-info/di/tokenInfoModuleFactory.js.map +7 -0
  120. package/lib/cjs/src/modules/solana/token-info/di/tokenInfoTypes.js +2 -0
  121. package/lib/cjs/src/modules/solana/token-info/di/tokenInfoTypes.js.map +7 -0
  122. package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.js +2 -0
  123. package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.js.map +7 -0
  124. package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js +2 -0
  125. package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js.map +7 -0
  126. package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  127. package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  128. package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  129. package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  130. package/lib/cjs/src/modules/solana/trusted-name/data/TrustedNameDataSource.js +2 -0
  131. package/lib/cjs/src/modules/solana/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  132. package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js +2 -0
  133. package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  134. package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameTypes.js +2 -0
  135. package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameTypes.js.map +7 -0
  136. package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  137. package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  138. package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  139. package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  140. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  141. package/lib/cjs/src/shared/model/ClearSignContext.js.map +2 -2
  142. package/lib/cjs/src/shared/utils/HexStringUtils.js +1 -1
  143. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +3 -3
  144. package/lib/cjs/src/shared/utils/HexStringUtils.test.js +1 -1
  145. package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +2 -2
  146. package/lib/cjs/src/shared/utils/certificateCache.js +2 -0
  147. package/lib/cjs/src/shared/utils/certificateCache.js.map +7 -0
  148. package/lib/cjs/src/shared/utils/certificateCache.test.js +2 -0
  149. package/lib/cjs/src/shared/utils/certificateCache.test.js.map +7 -0
  150. package/lib/cjs/src/shared/utils/certificateResult.js +2 -0
  151. package/lib/cjs/src/shared/utils/certificateResult.js.map +7 -0
  152. package/lib/cjs/src/shared/utils/certificateResult.test.js +2 -0
  153. package/lib/cjs/src/shared/utils/certificateResult.test.js.map +7 -0
  154. package/lib/cjs/src/shared/utils/challengeBoundLoader.js +2 -0
  155. package/lib/cjs/src/shared/utils/challengeBoundLoader.js.map +7 -0
  156. package/lib/cjs/src/shared/utils/challengeBoundLoader.test.js +2 -0
  157. package/lib/cjs/src/shared/utils/challengeBoundLoader.test.js.map +7 -0
  158. package/lib/cjs/src/shared/utils/deviceModelIdCodec.js +2 -0
  159. package/lib/cjs/src/shared/utils/deviceModelIdCodec.js.map +7 -0
  160. package/lib/cjs/src/shared/utils/deviceModelIdCodec.test.js +2 -0
  161. package/lib/cjs/src/shared/utils/deviceModelIdCodec.test.js.map +7 -0
  162. package/lib/cjs/src/shared/utils/signedDescriptorDto.js +2 -0
  163. package/lib/cjs/src/shared/utils/signedDescriptorDto.js.map +7 -0
  164. package/lib/cjs/src/shared/utils/signedDescriptorDto.test.js +2 -0
  165. package/lib/cjs/src/shared/utils/signedDescriptorDto.test.js.map +7 -0
  166. package/lib/cjs/src/shared/utils/uIntCodec.js +2 -0
  167. package/lib/cjs/src/shared/utils/uIntCodec.js.map +7 -0
  168. package/lib/cjs/src/shared/utils/uIntCodec.test.js +2 -0
  169. package/lib/cjs/src/shared/utils/uIntCodec.test.js.map +7 -0
  170. package/lib/esm/package.json +2 -2
  171. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  172. package/lib/esm/src/ContextModuleBuilder.js.map +2 -2
  173. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  174. package/lib/esm/src/ContextModuleBuilder.test.js.map +2 -2
  175. package/lib/esm/src/DefaultContextModule.js +1 -1
  176. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  177. package/lib/esm/src/di.js +1 -1
  178. package/lib/esm/src/di.js.map +3 -3
  179. package/lib/esm/src/index.js +1 -1
  180. package/lib/esm/src/index.js.map +2 -2
  181. package/lib/esm/src/modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource.test.js +1 -1
  182. package/lib/esm/src/modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +2 -2
  183. package/lib/esm/src/modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +1 -1
  184. package/lib/esm/src/modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +2 -2
  185. package/lib/esm/src/modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  186. package/lib/esm/src/modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +2 -2
  187. package/lib/esm/src/modules/ethereum/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  188. package/lib/esm/src/modules/ethereum/external-plugin/data/HttpExternalPluginDataSource.test.js.map +2 -2
  189. package/lib/esm/src/modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource.test.js +1 -1
  190. package/lib/esm/src/modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource.test.js.map +2 -2
  191. package/lib/esm/src/modules/ethereum/token/data/HttpTokenDataSource.test.js +1 -1
  192. package/lib/esm/src/modules/ethereum/token/data/HttpTokenDataSource.test.js.map +2 -2
  193. package/lib/esm/src/modules/ethereum/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  194. package/lib/esm/src/modules/ethereum/trusted-name/data/HttpTrustedNameDataSource.test.js.map +2 -2
  195. package/lib/esm/src/modules/ethereum/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  196. package/lib/esm/src/modules/ethereum/typed-data/data/HttpTypedDataDataSource.test.js.map +2 -2
  197. package/lib/esm/src/modules/multichain/pki/model/KeyId.js +1 -1
  198. package/lib/esm/src/modules/multichain/pki/model/KeyId.js.map +2 -2
  199. package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js +1 -1
  200. package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js.map +3 -3
  201. package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js +1 -1
  202. package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js.map +3 -3
  203. package/lib/esm/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js +1 -0
  204. package/lib/esm/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js.map +7 -0
  205. package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js +2 -0
  206. package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js.map +7 -0
  207. package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js +2 -0
  208. package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js.map +7 -0
  209. package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js +2 -0
  210. package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js.map +7 -0
  211. package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionTypes.js +2 -0
  212. package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionTypes.js.map +7 -0
  213. package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js +2 -0
  214. package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js.map +7 -0
  215. package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js +2 -0
  216. package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js.map +7 -0
  217. package/lib/esm/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js +2 -0
  218. package/lib/esm/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js.map +7 -0
  219. package/lib/esm/src/modules/solana/enum-variant/di/enumVariantTypes.js +2 -0
  220. package/lib/esm/src/modules/solana/enum-variant/di/enumVariantTypes.js.map +7 -0
  221. package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js +2 -0
  222. package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js.map +7 -0
  223. package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js +2 -0
  224. package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js.map +7 -0
  225. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js +2 -0
  226. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js.map +7 -0
  227. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +2 -0
  228. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +7 -0
  229. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js +1 -0
  230. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js.map +7 -0
  231. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js +2 -0
  232. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +7 -0
  233. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +2 -0
  234. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +7 -0
  235. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js +2 -0
  236. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js.map +7 -0
  237. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js +2 -0
  238. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js.map +7 -0
  239. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoTypes.js +2 -0
  240. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoTypes.js.map +7 -0
  241. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js +2 -0
  242. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js.map +7 -0
  243. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +2 -0
  244. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +7 -0
  245. package/lib/esm/src/modules/solana/lifi/data/HttpLifiDataSource.test.js +1 -1
  246. package/lib/esm/src/modules/solana/lifi/data/HttpLifiDataSource.test.js.map +2 -2
  247. package/lib/esm/src/modules/solana/lifi/domain/LifiContextLoader.test.js +1 -1
  248. package/lib/esm/src/modules/solana/lifi/domain/LifiContextLoader.test.js.map +2 -2
  249. package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js +1 -1
  250. package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js.map +3 -3
  251. package/lib/esm/src/modules/solana/model/SolanaPayloads.js +1 -0
  252. package/lib/esm/src/modules/solana/model/SolanaPayloads.js.map +4 -4
  253. package/lib/esm/src/modules/solana/model/SolanaTransactionScanChainId.js +1 -1
  254. package/lib/esm/src/modules/solana/model/SolanaTransactionScanChainId.js.map +2 -2
  255. package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js +1 -1
  256. package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js.map +2 -2
  257. package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js +1 -1
  258. package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js.map +2 -2
  259. package/lib/esm/src/modules/solana/token/data/HttpTokenDataSource.test.js +2 -2
  260. package/lib/esm/src/modules/solana/token/data/HttpTokenDataSource.test.js.map +2 -2
  261. package/lib/esm/src/modules/solana/token/domain/TokenContextLoader.js +1 -1
  262. package/lib/esm/src/modules/solana/token/domain/TokenContextLoader.js.map +3 -3
  263. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js +2 -0
  264. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js.map +7 -0
  265. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js +2 -0
  266. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js.map +7 -0
  267. package/lib/esm/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js +1 -0
  268. package/lib/esm/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js.map +7 -0
  269. package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js +2 -0
  270. package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js.map +7 -0
  271. package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js +2 -0
  272. package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js.map +7 -0
  273. package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js +2 -0
  274. package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js.map +7 -0
  275. package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js +2 -0
  276. package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js.map +7 -0
  277. package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js +2 -0
  278. package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js.map +7 -0
  279. package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js +2 -0
  280. package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js.map +7 -0
  281. package/lib/esm/src/modules/solana/token-info/data/TokenInfoDataSource.js +1 -0
  282. package/lib/esm/src/modules/solana/token-info/data/TokenInfoDataSource.js.map +7 -0
  283. package/lib/esm/src/modules/solana/token-info/di/tokenInfoModuleFactory.js +2 -0
  284. package/lib/esm/src/modules/solana/token-info/di/tokenInfoModuleFactory.js.map +7 -0
  285. package/lib/esm/src/modules/solana/token-info/di/tokenInfoTypes.js +2 -0
  286. package/lib/esm/src/modules/solana/token-info/di/tokenInfoTypes.js.map +7 -0
  287. package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.js +2 -0
  288. package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.js.map +7 -0
  289. package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js +2 -0
  290. package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js.map +7 -0
  291. package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  292. package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  293. package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  294. package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  295. package/lib/esm/src/modules/solana/trusted-name/data/TrustedNameDataSource.js +1 -0
  296. package/lib/esm/src/modules/solana/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  297. package/lib/esm/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js +2 -0
  298. package/lib/esm/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  299. package/lib/esm/src/modules/solana/trusted-name/di/trustedNameTypes.js +2 -0
  300. package/lib/esm/src/modules/solana/trusted-name/di/trustedNameTypes.js.map +7 -0
  301. package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  302. package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  303. package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  304. package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  305. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  306. package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
  307. package/lib/esm/src/shared/utils/HexStringUtils.js +1 -1
  308. package/lib/esm/src/shared/utils/HexStringUtils.js.map +3 -3
  309. package/lib/esm/src/shared/utils/HexStringUtils.test.js +1 -1
  310. package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +2 -2
  311. package/lib/esm/src/shared/utils/certificateCache.js +2 -0
  312. package/lib/esm/src/shared/utils/certificateCache.js.map +7 -0
  313. package/lib/esm/src/shared/utils/certificateCache.test.js +2 -0
  314. package/lib/esm/src/shared/utils/certificateCache.test.js.map +7 -0
  315. package/lib/esm/src/shared/utils/certificateResult.js +2 -0
  316. package/lib/esm/src/shared/utils/certificateResult.js.map +7 -0
  317. package/lib/esm/src/shared/utils/certificateResult.test.js +2 -0
  318. package/lib/esm/src/shared/utils/certificateResult.test.js.map +7 -0
  319. package/lib/esm/src/shared/utils/challengeBoundLoader.js +2 -0
  320. package/lib/esm/src/shared/utils/challengeBoundLoader.js.map +7 -0
  321. package/lib/esm/src/shared/utils/challengeBoundLoader.test.js +2 -0
  322. package/lib/esm/src/shared/utils/challengeBoundLoader.test.js.map +7 -0
  323. package/lib/esm/src/shared/utils/deviceModelIdCodec.js +2 -0
  324. package/lib/esm/src/shared/utils/deviceModelIdCodec.js.map +7 -0
  325. package/lib/esm/src/shared/utils/deviceModelIdCodec.test.js +2 -0
  326. package/lib/esm/src/shared/utils/deviceModelIdCodec.test.js.map +7 -0
  327. package/lib/esm/src/shared/utils/signedDescriptorDto.js +2 -0
  328. package/lib/esm/src/shared/utils/signedDescriptorDto.js.map +7 -0
  329. package/lib/esm/src/shared/utils/signedDescriptorDto.test.js +2 -0
  330. package/lib/esm/src/shared/utils/signedDescriptorDto.test.js.map +7 -0
  331. package/lib/esm/src/shared/utils/uIntCodec.js +2 -0
  332. package/lib/esm/src/shared/utils/uIntCodec.js.map +7 -0
  333. package/lib/esm/src/shared/utils/uIntCodec.test.js +2 -0
  334. package/lib/esm/src/shared/utils/uIntCodec.test.js.map +7 -0
  335. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  336. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  337. package/lib/types/src/di.d.ts.map +1 -1
  338. package/lib/types/src/index.d.ts +16 -0
  339. package/lib/types/src/index.d.ts.map +1 -1
  340. package/lib/types/src/modules/multichain/pki/model/KeyId.d.ts +1 -0
  341. package/lib/types/src/modules/multichain/pki/model/KeyId.d.ts.map +1 -1
  342. package/lib/types/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.d.ts +1 -1
  343. package/lib/types/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.d.ts.map +1 -1
  344. package/lib/types/src/modules/solana/alt-resolution/data/AltResolutionDataSource.d.ts +17 -0
  345. package/lib/types/src/modules/solana/alt-resolution/data/AltResolutionDataSource.d.ts.map +1 -0
  346. package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.d.ts +11 -0
  347. package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.d.ts.map +1 -0
  348. package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.d.ts +2 -0
  349. package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.d.ts.map +1 -0
  350. package/lib/types/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.d.ts +3 -0
  351. package/lib/types/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.d.ts.map +1 -0
  352. package/lib/types/src/modules/solana/alt-resolution/di/altResolutionTypes.d.ts +5 -0
  353. package/lib/types/src/modules/solana/alt-resolution/di/altResolutionTypes.d.ts.map +1 -0
  354. package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.d.ts +23 -0
  355. package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.d.ts.map +1 -0
  356. package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.d.ts +2 -0
  357. package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.d.ts.map +1 -0
  358. package/lib/types/src/modules/solana/enum-variant/di/enumVariantModuleFactory.d.ts +3 -0
  359. package/lib/types/src/modules/solana/enum-variant/di/enumVariantModuleFactory.d.ts.map +1 -0
  360. package/lib/types/src/modules/solana/enum-variant/di/enumVariantTypes.d.ts +4 -0
  361. package/lib/types/src/modules/solana/enum-variant/di/enumVariantTypes.d.ts.map +1 -0
  362. package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.d.ts +45 -0
  363. package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.d.ts.map +1 -0
  364. package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.d.ts +2 -0
  365. package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.d.ts.map +1 -0
  366. package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.d.ts +11 -0
  367. package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.d.ts.map +1 -0
  368. package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.d.ts +2 -0
  369. package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.d.ts.map +1 -0
  370. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDataSource.d.ts +32 -0
  371. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDataSource.d.ts.map +1 -0
  372. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts +129 -0
  373. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts.map +1 -0
  374. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts +26 -0
  375. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts.map +1 -0
  376. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.d.ts +2 -0
  377. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.d.ts.map +1 -0
  378. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.d.ts +3 -0
  379. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.d.ts.map +1 -0
  380. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoTypes.d.ts +5 -0
  381. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoTypes.d.ts.map +1 -0
  382. package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.d.ts +39 -0
  383. package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.d.ts.map +1 -0
  384. package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.d.ts +2 -0
  385. package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.d.ts.map +1 -0
  386. package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts +33 -2
  387. package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts.map +1 -1
  388. package/lib/types/src/modules/solana/model/SolanaContextTypes.d.ts +8 -1
  389. package/lib/types/src/modules/solana/model/SolanaContextTypes.d.ts.map +1 -1
  390. package/lib/types/src/modules/solana/model/SolanaPayloads.d.ts +124 -0
  391. package/lib/types/src/modules/solana/model/SolanaPayloads.d.ts.map +1 -1
  392. package/lib/types/src/modules/solana/model/SolanaTransactionScanChainId.d.ts +6 -5
  393. package/lib/types/src/modules/solana/model/SolanaTransactionScanChainId.d.ts.map +1 -1
  394. package/lib/types/src/modules/solana/owner-info/domain/solanaContextTypes.d.ts +2 -5
  395. package/lib/types/src/modules/solana/owner-info/domain/solanaContextTypes.d.ts.map +1 -1
  396. package/lib/types/src/modules/solana/token/domain/TokenContextLoader.d.ts.map +1 -1
  397. package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.d.ts +11 -0
  398. package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.d.ts.map +1 -0
  399. package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.d.ts +2 -0
  400. package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.d.ts.map +1 -0
  401. package/lib/types/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.d.ts +15 -0
  402. package/lib/types/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.d.ts.map +1 -0
  403. package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.d.ts +3 -0
  404. package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.d.ts.map +1 -0
  405. package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateTypes.d.ts +5 -0
  406. package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateTypes.d.ts.map +1 -0
  407. package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.d.ts +26 -0
  408. package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.d.ts.map +1 -0
  409. package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.d.ts +2 -0
  410. package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.d.ts.map +1 -0
  411. package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.d.ts +11 -0
  412. package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.d.ts.map +1 -0
  413. package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.d.ts +2 -0
  414. package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.d.ts.map +1 -0
  415. package/lib/types/src/modules/solana/token-info/data/TokenInfoDataSource.d.ts +24 -0
  416. package/lib/types/src/modules/solana/token-info/data/TokenInfoDataSource.d.ts.map +1 -0
  417. package/lib/types/src/modules/solana/token-info/di/tokenInfoModuleFactory.d.ts +3 -0
  418. package/lib/types/src/modules/solana/token-info/di/tokenInfoModuleFactory.d.ts.map +1 -0
  419. package/lib/types/src/modules/solana/token-info/di/tokenInfoTypes.d.ts +5 -0
  420. package/lib/types/src/modules/solana/token-info/di/tokenInfoTypes.d.ts.map +1 -0
  421. package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.d.ts +26 -0
  422. package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.d.ts.map +1 -0
  423. package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.d.ts +2 -0
  424. package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.d.ts.map +1 -0
  425. package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.d.ts +11 -0
  426. package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -0
  427. package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.d.ts +2 -0
  428. package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.d.ts.map +1 -0
  429. package/lib/types/src/modules/solana/trusted-name/data/TrustedNameDataSource.d.ts +17 -0
  430. package/lib/types/src/modules/solana/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -0
  431. package/lib/types/src/modules/solana/trusted-name/di/trustedNameModuleFactory.d.ts +3 -0
  432. package/lib/types/src/modules/solana/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -0
  433. package/lib/types/src/modules/solana/trusted-name/di/trustedNameTypes.d.ts +5 -0
  434. package/lib/types/src/modules/solana/trusted-name/di/trustedNameTypes.d.ts.map +1 -0
  435. package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.d.ts +28 -0
  436. package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -0
  437. package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.d.ts +2 -0
  438. package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.d.ts.map +1 -0
  439. package/lib/types/src/shared/model/ClearSignContext.d.ts +7 -1
  440. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  441. package/lib/types/src/shared/utils/HexStringUtils.d.ts +7 -0
  442. package/lib/types/src/shared/utils/HexStringUtils.d.ts.map +1 -1
  443. package/lib/types/src/shared/utils/certificateCache.d.ts +23 -0
  444. package/lib/types/src/shared/utils/certificateCache.d.ts.map +1 -0
  445. package/lib/types/src/shared/utils/certificateCache.test.d.ts +2 -0
  446. package/lib/types/src/shared/utils/certificateCache.test.d.ts.map +1 -0
  447. package/lib/types/src/shared/utils/certificateResult.d.ts +26 -0
  448. package/lib/types/src/shared/utils/certificateResult.d.ts.map +1 -0
  449. package/lib/types/src/shared/utils/certificateResult.test.d.ts +2 -0
  450. package/lib/types/src/shared/utils/certificateResult.test.d.ts.map +1 -0
  451. package/lib/types/src/shared/utils/challengeBoundLoader.d.ts +43 -0
  452. package/lib/types/src/shared/utils/challengeBoundLoader.d.ts.map +1 -0
  453. package/lib/types/src/shared/utils/challengeBoundLoader.test.d.ts +2 -0
  454. package/lib/types/src/shared/utils/challengeBoundLoader.test.d.ts.map +1 -0
  455. package/lib/types/src/shared/utils/deviceModelIdCodec.d.ts +7 -0
  456. package/lib/types/src/shared/utils/deviceModelIdCodec.d.ts.map +1 -0
  457. package/lib/types/src/shared/utils/deviceModelIdCodec.test.d.ts +2 -0
  458. package/lib/types/src/shared/utils/deviceModelIdCodec.test.d.ts.map +1 -0
  459. package/lib/types/src/shared/utils/signedDescriptorDto.d.ts +15 -0
  460. package/lib/types/src/shared/utils/signedDescriptorDto.d.ts.map +1 -0
  461. package/lib/types/src/shared/utils/signedDescriptorDto.test.d.ts +2 -0
  462. package/lib/types/src/shared/utils/signedDescriptorDto.test.d.ts.map +1 -0
  463. package/lib/types/src/shared/utils/uIntCodec.d.ts +20 -0
  464. package/lib/types/src/shared/utils/uIntCodec.d.ts.map +1 -0
  465. package/lib/types/src/shared/utils/uIntCodec.test.d.ts +2 -0
  466. package/lib/types/src/shared/utils/uIntCodec.test.d.ts.map +1 -0
  467. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  468. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ContextModuleBuilder.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\n\nimport { configTypes } from \"./config/di/configTypes\";\nimport { type ContextModuleConstructorArgs } from \"./config/model/ContextModuleBuildArgs\";\nimport {\n type ContextModuleCalConfig,\n type ContextModuleDatasourceConfig,\n type ContextModuleMetadataServiceConfig,\n type ContextModuleServiceConfig,\n} from \"./config/model/ContextModuleConfig\";\nimport { HttpProxyDataSource } from \"./modules/ethereum/proxy/data/HttpProxyDataSource\";\nimport { HttpSafeProxyDataSource } from \"./modules/ethereum/proxy/data/HttpSafeProxyDataSource\";\nimport { proxyTypes } from \"./modules/ethereum/proxy/di/proxyTypes\";\nimport { HttpTrustedNameDataSource } from \"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource\";\nimport { type TrustedNameDataSource } from \"./modules/ethereum/trusted-name/data/TrustedNameDataSource\";\nimport { trustedNameTypes } from \"./modules/ethereum/trusted-name/di/trustedNameTypes\";\nimport { type ContextLoader } from \"./shared/domain/ContextLoader\";\nimport { ContextModuleChainID } from \"./shared/domain/ContextModuleChainID\";\nimport { ContextModuleBuilder } from \"./ContextModuleBuilder\";\nimport { DefaultContextModule } from \"./DefaultContextModule\";\n\ndescribe(\"ContextModuleBuilder\", () => {\n const defaultCalConfig: ContextModuleCalConfig = {\n url: \"https://cal/v1\",\n mode: \"prod\",\n branch: \"main\",\n };\n const defaultWeb3ChecksConfig = {\n url: \"https://web3checks/v1\",\n };\n const mockLoggerFactory = () => ({\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n });\n\n const defaultBuilderArgs: ContextModuleConstructorArgs = {\n originToken: \"test\",\n loggerFactory: mockLoggerFactory,\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return a default context module\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n });\n\n it(\"should return a custom context module\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customLoader: ContextLoader = {\n load: vi.fn(),\n canHandle: vi.fn() as unknown as ContextLoader[\"canHandle\"],\n };\n\n const res = contextModuleBuilder\n .removeDefaultLoaders()\n .addLoader(customLoader)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n });\n\n it(\"should return a custom context module with a custom typed data loader\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customLoader = { load: vi.fn() };\n\n const res = contextModuleBuilder\n .removeDefaultLoaders()\n .addTypedDataLoader(customLoader)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n // @ts-expect-error _typedDataLoader is private\n expect(res[\"_typedDataLoader\"]).toBe(customLoader);\n });\n\n it(\"should return a custom context module with a custom config\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setCalConfig(defaultCalConfig)\n .setWeb3ChecksConfig(defaultWeb3ChecksConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.cal).toEqual(defaultCalConfig);\n expect(config.web3checks).toEqual(defaultWeb3ChecksConfig);\n });\n\n it(\"should not throw when setChain is called before build\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n expect(() =>\n contextModuleBuilder.setChain(ContextModuleChainID.Ethereum).build(),\n ).not.toThrow();\n });\n\n it(\"should throw when setChain is not called before build\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n expect(() => contextModuleBuilder.build()).toThrow(\n \"[ContextModuleBuilder] setChain() must be called before build()\",\n );\n });\n\n describe(\"setMetadataServiceConfig\", () => {\n it(\"should set the metadata service configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customMetadataConfig: ContextModuleMetadataServiceConfig = {\n url: \"https://custom-metadata-service.com/v3\",\n };\n\n const res = contextModuleBuilder\n .setMetadataServiceConfig(customMetadataConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.metadataServiceDomain).toEqual(customMetadataConfig);\n });\n\n it(\"should override the default metadata service configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customMetadataConfig: ContextModuleMetadataServiceConfig = {\n url: \"https://override-metadata-service.com/v1\",\n };\n\n const res = contextModuleBuilder\n .setMetadataServiceConfig(customMetadataConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(config.metadataServiceDomain.url).toBe(customMetadataConfig.url);\n expect(config.metadataServiceDomain.url).not.toBe(\n \"https://nft.api.live.ledger.com/v2\",\n );\n });\n });\n\n describe(\"setCalConfig\", () => {\n it(\"should set the CAL configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customCalConfig: ContextModuleCalConfig = {\n url: \"https://custom-cal-service.com/v2\",\n mode: \"test\",\n branch: \"next\",\n };\n\n const res = contextModuleBuilder\n .setCalConfig(customCalConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.cal).toEqual(customCalConfig);\n });\n\n it(\"should override the default CAL configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customCalConfig: ContextModuleCalConfig = {\n url: \"https://override-cal-service.com/v1\",\n mode: \"prod\",\n branch: \"demo\",\n };\n\n const res = contextModuleBuilder\n .setCalConfig(customCalConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(config.cal.url).toBe(customCalConfig.url);\n expect(config.cal.mode).toBe(customCalConfig.mode);\n expect(config.cal.branch).toBe(customCalConfig.branch);\n expect(config.cal.url).not.toBe(\n \"https://crypto-assets-service.api.ledger.com/v1\",\n );\n });\n });\n\n describe(\"setWeb3ChecksConfig\", () => {\n it(\"should set the web3 checks configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customWeb3ChecksConfig = {\n url: \"https://custom-web3checks-service.com/v4\",\n };\n\n const res = contextModuleBuilder\n .setWeb3ChecksConfig(customWeb3ChecksConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.web3checks).toEqual(customWeb3ChecksConfig);\n });\n\n it(\"should override the default web3 checks configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customWeb3ChecksConfig = {\n url: \"https://override-web3checks-service.com/v2\",\n };\n\n const res = contextModuleBuilder\n .setWeb3ChecksConfig(customWeb3ChecksConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(config.web3checks.url).toBe(customWeb3ChecksConfig.url);\n expect(config.web3checks.url).not.toBe(\n \"https://web3checks-backend.api.ledger.com/v3\",\n );\n });\n });\n\n describe(\"setDatasourceConfig\", () => {\n it(\"should bind HttpSafeProxyDataSource when proxy is 'safe'\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDatasourceConfig: ContextModuleDatasourceConfig = {\n proxy: \"safe\",\n };\n\n const res = contextModuleBuilder\n .setDatasourceConfig(customDatasourceConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const proxyDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<unknown>(proxyTypes.ProxyDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(proxyDataSource).toBeInstanceOf(HttpSafeProxyDataSource);\n });\n\n it(\"should bind HttpProxyDataSource when proxy is 'default'\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDatasourceConfig: ContextModuleDatasourceConfig = {\n proxy: \"default\",\n };\n\n const res = contextModuleBuilder\n .setDatasourceConfig(customDatasourceConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const proxyDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<unknown>(proxyTypes.ProxyDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(proxyDataSource).toBeInstanceOf(HttpProxyDataSource);\n });\n\n it(\"should bind HttpProxyDataSource when datasource config is empty\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDatasourceConfig: ContextModuleDatasourceConfig = {};\n\n const res = contextModuleBuilder\n .setDatasourceConfig(customDatasourceConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const proxyDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<unknown>(proxyTypes.ProxyDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(proxyDataSource).toBeInstanceOf(HttpProxyDataSource);\n });\n });\n\n describe(\"loggerFactory\", () => {\n it(\"should use the default empty logger when loggerFactory is not provided\", () => {\n const contextModuleBuilder = new ContextModuleBuilder({\n originToken: \"test\",\n });\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const loggerFactory = (res as DefaultContextModule)[\"_container\"].get<\n (tag: string) => LoggerPublisherService\n >(configTypes.ContextModuleLoggerFactory);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(loggerFactory).toBeDefined();\n\n const logger = loggerFactory(\"test\");\n expect(logger.debug).toBeDefined();\n expect(logger.info).toBeDefined();\n expect(logger.warn).toBeDefined();\n expect(logger.error).toBeDefined();\n expect(logger.subscribers).toEqual([]);\n\n expect(() => logger.debug(\"test\")).not.toThrow();\n expect(() => logger.info(\"test\")).not.toThrow();\n expect(() => logger.warn(\"test\")).not.toThrow();\n expect(() => logger.error(\"test\")).not.toThrow();\n });\n\n it(\"should set the loggerFactory when provided in the constructor\", () => {\n const loggerFactory: (tag: string) => LoggerPublisherService = vi.fn();\n\n const contextModuleBuilder = new ContextModuleBuilder({\n ...defaultBuilderArgs,\n loggerFactory,\n });\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const boundLoggerFactory = (res as DefaultContextModule)[\n \"_container\"\n ].get<(tag: string) => LoggerPublisherService>(\n configTypes.ContextModuleLoggerFactory,\n );\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(boundLoggerFactory).toBe(loggerFactory);\n });\n\n it(\"should set the loggerFactory via setLoggerFactory\", () => {\n const loggerFactory: (tag: string) => LoggerPublisherService = vi.fn();\n\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setLoggerFactory(loggerFactory)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const boundLoggerFactory = (res as DefaultContextModule)[\n \"_container\"\n ].get<(tag: string) => LoggerPublisherService>(\n configTypes.ContextModuleLoggerFactory,\n );\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(boundLoggerFactory).toBe(loggerFactory);\n });\n\n it(\"should override constructor loggerFactory with setLoggerFactory\", () => {\n const constructorLoggerFactory: (tag: string) => LoggerPublisherService =\n vi.fn();\n const overrideLoggerFactory: (tag: string) => LoggerPublisherService =\n vi.fn();\n\n const contextModuleBuilder = new ContextModuleBuilder({\n ...defaultBuilderArgs,\n loggerFactory: constructorLoggerFactory,\n });\n\n const res = contextModuleBuilder\n .setLoggerFactory(overrideLoggerFactory)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const boundLoggerFactory = (res as DefaultContextModule)[\n \"_container\"\n ].get<(tag: string) => LoggerPublisherService>(\n configTypes.ContextModuleLoggerFactory,\n );\n\n expect(boundLoggerFactory).toBe(overrideLoggerFactory);\n expect(boundLoggerFactory).not.toBe(constructorLoggerFactory);\n });\n });\n\n describe(\"instance isolation\", () => {\n it(\"should not share customLoaders arrays between builder instances\", () => {\n const builder1 = new ContextModuleBuilder(defaultBuilderArgs);\n const builder2 = new ContextModuleBuilder(defaultBuilderArgs);\n const customLoader: ContextLoader = {\n load: vi.fn(),\n canHandle: vi.fn() as unknown as ContextLoader[\"canHandle\"],\n };\n\n builder1.addLoader(customLoader);\n\n const res1 = builder1\n .removeDefaultLoaders()\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const res2 = builder2\n .removeDefaultLoaders()\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n // @ts-expect-error _loaders is private\n expect(res1[\"_loaders\"]).toHaveLength(1);\n // @ts-expect-error _loaders is private\n expect(res2[\"_loaders\"]).toHaveLength(0);\n });\n });\n\n describe(\"setTrustedNameDataSource\", () => {\n it(\"should inject the custom data source into the container\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDataSource: TrustedNameDataSource = {\n getDomainNamePayload: vi.fn(),\n getTrustedNamePayload: vi.fn(),\n };\n\n const res = contextModuleBuilder\n .setTrustedNameDataSource(customDataSource)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const injectedDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<TrustedNameDataSource>(trustedNameTypes.TrustedNameDataSource);\n\n expect(injectedDataSource).toBe(customDataSource);\n });\n\n it(\"should use HttpTrustedNameDataSource when no custom data source is set\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const injectedDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<TrustedNameDataSource>(trustedNameTypes.TrustedNameDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(injectedDataSource).toBeInstanceOf(HttpTrustedNameDataSource);\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\n\nimport { configTypes } from \"./config/di/configTypes\";\nimport { type ContextModuleConstructorArgs } from \"./config/model/ContextModuleBuildArgs\";\nimport {\n type ContextModuleCalConfig,\n type ContextModuleDatasourceConfig,\n type ContextModuleMetadataServiceConfig,\n type ContextModuleServiceConfig,\n} from \"./config/model/ContextModuleConfig\";\nimport { HttpProxyDataSource } from \"./modules/ethereum/proxy/data/HttpProxyDataSource\";\nimport { HttpSafeProxyDataSource } from \"./modules/ethereum/proxy/data/HttpSafeProxyDataSource\";\nimport { proxyTypes } from \"./modules/ethereum/proxy/di/proxyTypes\";\nimport { HttpTrustedNameDataSource } from \"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource\";\nimport { type TrustedNameDataSource } from \"./modules/ethereum/trusted-name/data/TrustedNameDataSource\";\nimport { trustedNameTypes } from \"./modules/ethereum/trusted-name/di/trustedNameTypes\";\nimport { type ContextLoader } from \"./shared/domain/ContextLoader\";\nimport { ContextModuleChainID } from \"./shared/domain/ContextModuleChainID\";\nimport { ContextModuleBuilder } from \"./ContextModuleBuilder\";\nimport { DefaultContextModule } from \"./DefaultContextModule\";\n\ndescribe(\"ContextModuleBuilder\", () => {\n const defaultCalConfig: ContextModuleCalConfig = {\n url: \"https://cal/v1\",\n mode: \"prod\",\n branch: \"main\",\n };\n const defaultWeb3ChecksConfig = {\n url: \"https://web3checks/v1\",\n };\n const mockLoggerFactory = () => ({\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n });\n\n const defaultBuilderArgs: ContextModuleConstructorArgs = {\n originToken: \"test\",\n loggerFactory: mockLoggerFactory,\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return a default context module\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n });\n\n it(\"should return a custom context module\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customLoader: ContextLoader = {\n load: vi.fn(),\n canHandle: vi.fn() as unknown as ContextLoader[\"canHandle\"],\n };\n\n const res = contextModuleBuilder\n .removeDefaultLoaders()\n .addLoader(customLoader)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n });\n\n it(\"should return a custom context module with a custom typed data loader\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customLoader = { load: vi.fn() };\n\n const res = contextModuleBuilder\n .removeDefaultLoaders()\n .addTypedDataLoader(customLoader)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n // @ts-expect-error _typedDataLoader is private\n expect(res[\"_typedDataLoader\"]).toBe(customLoader);\n });\n\n it(\"should return a custom context module with a custom config\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setCalConfig(defaultCalConfig)\n .setWeb3ChecksConfig(defaultWeb3ChecksConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.cal).toEqual(defaultCalConfig);\n expect(config.web3checks).toEqual(defaultWeb3ChecksConfig);\n });\n\n it(\"should not throw when setChain is called before build\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n expect(() =>\n contextModuleBuilder.setChain(ContextModuleChainID.Ethereum).build(),\n ).not.toThrow();\n });\n\n it(\"should throw when setChain is not called before build\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n expect(() => contextModuleBuilder.build()).toThrow(\n \"[ContextModuleBuilder] setChain() must be called before build()\",\n );\n });\n\n describe(\"setMetadataServiceConfig\", () => {\n it(\"should set the metadata service configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customMetadataConfig: ContextModuleMetadataServiceConfig = {\n url: \"https://custom-metadata-service.com/v3\",\n };\n\n const res = contextModuleBuilder\n .setMetadataServiceConfig(customMetadataConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.metadataServiceDomain).toEqual(customMetadataConfig);\n });\n\n it(\"should override the default metadata service configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customMetadataConfig: ContextModuleMetadataServiceConfig = {\n url: \"https://override-metadata-service.com/v1\",\n };\n\n const res = contextModuleBuilder\n .setMetadataServiceConfig(customMetadataConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(config.metadataServiceDomain.url).toBe(customMetadataConfig.url);\n expect(config.metadataServiceDomain.url).not.toBe(\n \"https://nft.api.live.ledger.com/v2\",\n );\n });\n });\n\n describe(\"setCalConfig\", () => {\n it(\"should set the CAL configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customCalConfig: ContextModuleCalConfig = {\n url: \"https://custom-cal-service.com/v2\",\n mode: \"test\",\n branch: \"next\",\n };\n\n const res = contextModuleBuilder\n .setCalConfig(customCalConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.cal).toEqual(customCalConfig);\n });\n\n it(\"should override the default CAL configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customCalConfig: ContextModuleCalConfig = {\n url: \"https://override-cal-service.com/v1\",\n mode: \"prod\",\n branch: \"demo\",\n };\n\n const res = contextModuleBuilder\n .setCalConfig(customCalConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(config.cal.url).toBe(customCalConfig.url);\n expect(config.cal.mode).toBe(customCalConfig.mode);\n expect(config.cal.branch).toBe(customCalConfig.branch);\n expect(config.cal.url).not.toBe(\n \"https://global.api.prd.ledger.com/cal/v1\",\n );\n });\n });\n\n describe(\"setWeb3ChecksConfig\", () => {\n it(\"should set the web3 checks configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customWeb3ChecksConfig = {\n url: \"https://custom-web3checks-service.com/v4\",\n };\n\n const res = contextModuleBuilder\n .setWeb3ChecksConfig(customWeb3ChecksConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(config.web3checks).toEqual(customWeb3ChecksConfig);\n });\n\n it(\"should override the default web3 checks configuration\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customWeb3ChecksConfig = {\n url: \"https://override-web3checks-service.com/v2\",\n };\n\n const res = contextModuleBuilder\n .setWeb3ChecksConfig(customWeb3ChecksConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const config = (res as DefaultContextModule)[\n \"_container\"\n ].get<ContextModuleServiceConfig>(configTypes.Config);\n\n expect(config.web3checks.url).toBe(customWeb3ChecksConfig.url);\n expect(config.web3checks.url).not.toBe(\n \"https://global.api.prd.ledger.com/transaction-checks/v3\",\n );\n });\n });\n\n describe(\"setDatasourceConfig\", () => {\n it(\"should bind HttpSafeProxyDataSource when proxy is 'safe'\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDatasourceConfig: ContextModuleDatasourceConfig = {\n proxy: \"safe\",\n };\n\n const res = contextModuleBuilder\n .setDatasourceConfig(customDatasourceConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const proxyDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<unknown>(proxyTypes.ProxyDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(proxyDataSource).toBeInstanceOf(HttpSafeProxyDataSource);\n });\n\n it(\"should bind HttpProxyDataSource when proxy is 'default'\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDatasourceConfig: ContextModuleDatasourceConfig = {\n proxy: \"default\",\n };\n\n const res = contextModuleBuilder\n .setDatasourceConfig(customDatasourceConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const proxyDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<unknown>(proxyTypes.ProxyDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(proxyDataSource).toBeInstanceOf(HttpProxyDataSource);\n });\n\n it(\"should bind HttpProxyDataSource when datasource config is empty\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDatasourceConfig: ContextModuleDatasourceConfig = {};\n\n const res = contextModuleBuilder\n .setDatasourceConfig(customDatasourceConfig)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const proxyDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<unknown>(proxyTypes.ProxyDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(proxyDataSource).toBeInstanceOf(HttpProxyDataSource);\n });\n });\n\n describe(\"loggerFactory\", () => {\n it(\"should use the default empty logger when loggerFactory is not provided\", () => {\n const contextModuleBuilder = new ContextModuleBuilder({\n originToken: \"test\",\n });\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const loggerFactory = (res as DefaultContextModule)[\"_container\"].get<\n (tag: string) => LoggerPublisherService\n >(configTypes.ContextModuleLoggerFactory);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(loggerFactory).toBeDefined();\n\n const logger = loggerFactory(\"test\");\n expect(logger.debug).toBeDefined();\n expect(logger.info).toBeDefined();\n expect(logger.warn).toBeDefined();\n expect(logger.error).toBeDefined();\n expect(logger.subscribers).toEqual([]);\n\n expect(() => logger.debug(\"test\")).not.toThrow();\n expect(() => logger.info(\"test\")).not.toThrow();\n expect(() => logger.warn(\"test\")).not.toThrow();\n expect(() => logger.error(\"test\")).not.toThrow();\n });\n\n it(\"should set the loggerFactory when provided in the constructor\", () => {\n const loggerFactory: (tag: string) => LoggerPublisherService = vi.fn();\n\n const contextModuleBuilder = new ContextModuleBuilder({\n ...defaultBuilderArgs,\n loggerFactory,\n });\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const boundLoggerFactory = (res as DefaultContextModule)[\n \"_container\"\n ].get<(tag: string) => LoggerPublisherService>(\n configTypes.ContextModuleLoggerFactory,\n );\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(boundLoggerFactory).toBe(loggerFactory);\n });\n\n it(\"should set the loggerFactory via setLoggerFactory\", () => {\n const loggerFactory: (tag: string) => LoggerPublisherService = vi.fn();\n\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setLoggerFactory(loggerFactory)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const boundLoggerFactory = (res as DefaultContextModule)[\n \"_container\"\n ].get<(tag: string) => LoggerPublisherService>(\n configTypes.ContextModuleLoggerFactory,\n );\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(boundLoggerFactory).toBe(loggerFactory);\n });\n\n it(\"should override constructor loggerFactory with setLoggerFactory\", () => {\n const constructorLoggerFactory: (tag: string) => LoggerPublisherService =\n vi.fn();\n const overrideLoggerFactory: (tag: string) => LoggerPublisherService =\n vi.fn();\n\n const contextModuleBuilder = new ContextModuleBuilder({\n ...defaultBuilderArgs,\n loggerFactory: constructorLoggerFactory,\n });\n\n const res = contextModuleBuilder\n .setLoggerFactory(overrideLoggerFactory)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const boundLoggerFactory = (res as DefaultContextModule)[\n \"_container\"\n ].get<(tag: string) => LoggerPublisherService>(\n configTypes.ContextModuleLoggerFactory,\n );\n\n expect(boundLoggerFactory).toBe(overrideLoggerFactory);\n expect(boundLoggerFactory).not.toBe(constructorLoggerFactory);\n });\n });\n\n describe(\"instance isolation\", () => {\n it(\"should not share customLoaders arrays between builder instances\", () => {\n const builder1 = new ContextModuleBuilder(defaultBuilderArgs);\n const builder2 = new ContextModuleBuilder(defaultBuilderArgs);\n const customLoader: ContextLoader = {\n load: vi.fn(),\n canHandle: vi.fn() as unknown as ContextLoader[\"canHandle\"],\n };\n\n builder1.addLoader(customLoader);\n\n const res1 = builder1\n .removeDefaultLoaders()\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const res2 = builder2\n .removeDefaultLoaders()\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n\n // @ts-expect-error _loaders is private\n expect(res1[\"_loaders\"]).toHaveLength(1);\n // @ts-expect-error _loaders is private\n expect(res2[\"_loaders\"]).toHaveLength(0);\n });\n });\n\n describe(\"setTrustedNameDataSource\", () => {\n it(\"should inject the custom data source into the container\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n const customDataSource: TrustedNameDataSource = {\n getDomainNamePayload: vi.fn(),\n getTrustedNamePayload: vi.fn(),\n };\n\n const res = contextModuleBuilder\n .setTrustedNameDataSource(customDataSource)\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const injectedDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<TrustedNameDataSource>(trustedNameTypes.TrustedNameDataSource);\n\n expect(injectedDataSource).toBe(customDataSource);\n });\n\n it(\"should use HttpTrustedNameDataSource when no custom data source is set\", () => {\n const contextModuleBuilder = new ContextModuleBuilder(defaultBuilderArgs);\n\n const res = contextModuleBuilder\n .setChain(ContextModuleChainID.Ethereum)\n .build();\n const injectedDataSource = (res as DefaultContextModule)[\n \"_container\"\n ].get<TrustedNameDataSource>(trustedNameTypes.TrustedNameDataSource);\n\n expect(res).toBeInstanceOf(DefaultContextModule);\n expect(injectedDataSource).toBeInstanceOf(HttpTrustedNameDataSource);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["configTypes", "HttpProxyDataSource", "HttpSafeProxyDataSource", "proxyTypes", "HttpTrustedNameDataSource", "trustedNameTypes", "ContextModuleChainID", "ContextModuleBuilder", "DefaultContextModule", "defaultCalConfig", "defaultWeb3ChecksConfig", "defaultBuilderArgs", "res", "contextModuleBuilder", "customLoader", "config", "customMetadataConfig", "customCalConfig", "customWeb3ChecksConfig", "customDatasourceConfig", "proxyDataSource", "loggerFactory", "logger", "boundLoggerFactory", "constructorLoggerFactory", "overrideLoggerFactory", "builder1", "builder2", "res1", "res2", "customDataSource", "injectedDataSource"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{makeContainer as g}from"./di";import{accountOwnershipTypes as x}from"./modules/concordium/account-ownership/di/accountOwnershipTypes";import{calldataTypes as u}from"./modules/ethereum/calldata/di/calldataTypes";import{dynamicNetworkTypes as f}from"./modules/ethereum/dynamic-network/di/dynamicNetworkTypes";import{externalPluginTypes as L}from"./modules/ethereum/external-plugin/di/externalPluginTypes";import{gatedSigningTypes as p}from"./modules/ethereum/gated-signing/di/gatedSigningTypes";import{nftTypes as l}from"./modules/ethereum/nft/di/nftTypes";import{proxyTypes as y}from"./modules/ethereum/proxy/di/proxyTypes";import{safeTypes as h}from"./modules/ethereum/safe/di/safeTypes";import{tokenTypes as C}from"./modules/ethereum/token/di/tokenTypes";import{trustedNameTypes as m}from"./modules/ethereum/trusted-name/di/trustedNameTypes";import{typedDataTypes as _}from"./modules/ethereum/typed-data/di/typedDataTypes";import{reporterTypes as c}from"./modules/multichain/reporter/di/reporterTypes";import{transactionCheckTypes as s}from"./modules/multichain/transaction-check/di/transactionCheckTypes";import{lifiTypes as T}from"./modules/solana/lifi/di/lifiTypes";import{ownerInfoTypes as D}from"./modules/solana/owner-info/di/ownerInfoTypes";import{tokenTypes as S}from"./modules/solana/token/di/tokenTypes";import{ContextModuleChainID as o}from"./shared/domain/ContextModuleChainID";import{ClearSignContextType as i}from"./shared/model/ClearSignContext";class K{_container;_config;_loaders;_typedDataLoader;_fieldLoaders;_blindSigningReporter;constructor(e){this._config=e,this._container=g({config:e}),this._loaders=e.defaultLoaders?this._getDefaultLoaders():[],this._loaders.push(...e.customLoaders),this._fieldLoaders=e.defaultFieldLoaders?this._getDefaultFieldLoaders():[],this._fieldLoaders.push(...e.customFieldLoaders),this._typedDataLoader=e.customTypedDataLoader??this._getDefaultTypedDataLoader(),this._blindSigningReporter=e.customBlindSigningReporter??this._getBlindSigningReporter()}_getDefaultFieldLoaders(){return this._config.chain!==o.Ethereum?[]:[this._container.get(l.NftContextFieldLoader),this._container.get(C.TokenContextFieldLoader),this._container.get(m.TrustedNameContextFieldLoader),this._container.get(y.ProxyContextFieldLoader)]}_getDefaultLoaders(){const{chain:e}=this._config;switch(e){case o.Ethereum:return[this._container.get(L.ExternalPluginContextLoader),this._container.get(m.TrustedNameContextLoader),this._container.get(l.NftContextLoader),this._container.get(C.TokenContextLoader),this._container.get(u.CalldataContextLoader),this._container.get(f.DynamicNetworkContextLoader),this._container.get(h.SafeAddressLoader),this._container.get(p.GatedSigningContextLoader),this._container.get(p.GatedSigningTypedDataContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(s.TypedDataCheckLoader)];case o.Solana:return[this._container.get(S.TokenContextLoader),this._container.get(T.LifiContextLoader),this._container.get(D.OwnerInfoContextLoader),this._container.get(s.TransactionCheckLoader)];case o.Concordium:return[this._container.get(x.AccountOwnershipContextLoader)];default:{const t=e;return[]}}}_getDefaultTypedDataLoader(){return this._config.chain!==o.Ethereum?{load:()=>Promise.reject(new Error("[ContextModule] getTypedDataFilters is not supported for this chain"))}:this._container.get(_.TypedDataContextLoader)}_getBlindSigningReporter(){return this._container.isBound(c.BlindSigningReporter)?this._container.get(c.BlindSigningReporter):null}async getContexts(e,t){const r=Object.values(i),a=this._loaders.filter(d=>d.canHandle(e,t??r)).map(d=>d.load(e));return(await Promise.all(a)).flat()}async getFieldContext(e,t){const r=this._fieldLoaders.filter(n=>n.canHandle(e,t));if(r.length===0)return Promise.resolve({type:i.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)});for(const n of r){const a=await n.loadField(e);if(a.type!==i.ERROR)return a}return{type:i.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)}}async getTypedDataFilters(e){return this._typedDataLoader.load(e)}async report(e){await this._blindSigningReporter?.report(e)}}export{K as DefaultContextModule};
1
+ import{makeContainer as x}from"./di";import{accountOwnershipTypes as g}from"./modules/concordium/account-ownership/di/accountOwnershipTypes";import{calldataTypes as u}from"./modules/ethereum/calldata/di/calldataTypes";import{dynamicNetworkTypes as f}from"./modules/ethereum/dynamic-network/di/dynamicNetworkTypes";import{externalPluginTypes as L}from"./modules/ethereum/external-plugin/di/externalPluginTypes";import{gatedSigningTypes as p}from"./modules/ethereum/gated-signing/di/gatedSigningTypes";import{nftTypes as l}from"./modules/ethereum/nft/di/nftTypes";import{proxyTypes as y}from"./modules/ethereum/proxy/di/proxyTypes";import{safeTypes as h}from"./modules/ethereum/safe/di/safeTypes";import{tokenTypes as C}from"./modules/ethereum/token/di/tokenTypes";import{trustedNameTypes as m}from"./modules/ethereum/trusted-name/di/trustedNameTypes";import{typedDataTypes as T}from"./modules/ethereum/typed-data/di/typedDataTypes";import{reporterTypes as c}from"./modules/multichain/reporter/di/reporterTypes";import{transactionCheckTypes as s}from"./modules/multichain/transaction-check/di/transactionCheckTypes";import{altResolutionTypes as _}from"./modules/solana/alt-resolution/di/altResolutionTypes";import{enumVariantTypes as S}from"./modules/solana/enum-variant/di/enumVariantTypes";import{instructionInfoTypes as D}from"./modules/solana/instruction-info/di/instructionInfoTypes";import{lifiTypes as R}from"./modules/solana/lifi/di/lifiTypes";import{ownerInfoTypes as k}from"./modules/solana/owner-info/di/ownerInfoTypes";import{tokenTypes as v}from"./modules/solana/token/di/tokenTypes";import{tokenAccountStateTypes as F}from"./modules/solana/token-account-state/di/tokenAccountStateTypes";import{tokenInfoTypes as w}from"./modules/solana/token-info/di/tokenInfoTypes";import{solanaTrustedNameTypes as B}from"./modules/solana/trusted-name/di/trustedNameTypes";import{ContextModuleChainID as o}from"./shared/domain/ContextModuleChainID";import{ClearSignContextType as i}from"./shared/model/ClearSignContext";class ne{_container;_config;_loaders;_typedDataLoader;_fieldLoaders;_blindSigningReporter;constructor(e){this._config=e,this._container=x({config:e}),this._loaders=e.defaultLoaders?this._getDefaultLoaders():[],this._loaders.push(...e.customLoaders),this._fieldLoaders=e.defaultFieldLoaders?this._getDefaultFieldLoaders():[],this._fieldLoaders.push(...e.customFieldLoaders),this._typedDataLoader=e.customTypedDataLoader??this._getDefaultTypedDataLoader(),this._blindSigningReporter=e.customBlindSigningReporter??this._getBlindSigningReporter()}_getDefaultFieldLoaders(){return this._config.chain!==o.Ethereum?[]:[this._container.get(l.NftContextFieldLoader),this._container.get(C.TokenContextFieldLoader),this._container.get(m.TrustedNameContextFieldLoader),this._container.get(y.ProxyContextFieldLoader)]}_getDefaultLoaders(){const{chain:e}=this._config;switch(e){case o.Ethereum:return[this._container.get(L.ExternalPluginContextLoader),this._container.get(m.TrustedNameContextLoader),this._container.get(l.NftContextLoader),this._container.get(C.TokenContextLoader),this._container.get(u.CalldataContextLoader),this._container.get(f.DynamicNetworkContextLoader),this._container.get(h.SafeAddressLoader),this._container.get(p.GatedSigningContextLoader),this._container.get(p.GatedSigningTypedDataContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(s.TypedDataCheckLoader)];case o.Solana:return[this._container.get(v.TokenContextLoader),this._container.get(R.LifiContextLoader),this._container.get(k.OwnerInfoContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(D.InstructionInfoContextLoader),this._container.get(S.EnumVariantContextLoader),this._container.get(w.TokenInfoContextLoader),this._container.get(F.TokenAccountStateContextLoader),this._container.get(_.AltResolutionContextLoader),this._container.get(B.SolanaTrustedNameContextLoader)];case o.Concordium:return[this._container.get(g.AccountOwnershipContextLoader)];default:{const t=e;return[]}}}_getDefaultTypedDataLoader(){return this._config.chain!==o.Ethereum?{load:()=>Promise.reject(new Error("[ContextModule] getTypedDataFilters is not supported for this chain"))}:this._container.get(T.TypedDataContextLoader)}_getBlindSigningReporter(){return this._container.isBound(c.BlindSigningReporter)?this._container.get(c.BlindSigningReporter):null}async getContexts(e,t){const r=Object.values(i),a=this._loaders.filter(d=>d.canHandle(e,t??r)).map(d=>d.load(e));return(await Promise.all(a)).flat()}async getFieldContext(e,t){const r=this._fieldLoaders.filter(n=>n.canHandle(e,t));if(r.length===0)return Promise.resolve({type:i.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)});for(const n of r){const a=await n.loadField(e);if(a.type!==i.ERROR)return a}return{type:i.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)}}async getTypedDataFilters(e){return this._typedDataLoader.load(e)}async report(e){await this._blindSigningReporter?.report(e)}}export{ne as DefaultContextModule};
2
2
  //# sourceMappingURL=DefaultContextModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/DefaultContextModule.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\n\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { type ContextModule } from \"@/ContextModule\";\nimport { makeContainer } from \"@/di\";\nimport { accountOwnershipTypes } from \"@/modules/concordium/account-ownership/di/accountOwnershipTypes\";\nimport { calldataTypes } from \"@/modules/ethereum/calldata/di/calldataTypes\";\nimport { dynamicNetworkTypes } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkTypes\";\nimport { externalPluginTypes } from \"@/modules/ethereum/external-plugin/di/externalPluginTypes\";\nimport { gatedSigningTypes } from \"@/modules/ethereum/gated-signing/di/gatedSigningTypes\";\nimport type { TypedDataClearSignContext } from \"@/modules/ethereum/model/TypedDataClearSignContext\";\nimport type { TypedDataContext } from \"@/modules/ethereum/model/TypedDataContext\";\nimport { nftTypes } from \"@/modules/ethereum/nft/di/nftTypes\";\nimport { proxyTypes } from \"@/modules/ethereum/proxy/di/proxyTypes\";\nimport { safeTypes } from \"@/modules/ethereum/safe/di/safeTypes\";\nimport { tokenTypes as ethereumTokenTypes } from \"@/modules/ethereum/token/di/tokenTypes\";\nimport { trustedNameTypes } from \"@/modules/ethereum/trusted-name/di/trustedNameTypes\";\nimport { typedDataTypes } from \"@/modules/ethereum/typed-data/di/typedDataTypes\";\nimport type { TypedDataContextLoader } from \"@/modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nimport { type BlindSigningReportParams } from \"@/modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nimport { reporterTypes } from \"@/modules/multichain/reporter/di/reporterTypes\";\nimport { type BlindSigningReporter } from \"@/modules/multichain/reporter/domain/BlindSigningReporter\";\nimport { transactionCheckTypes } from \"@/modules/multichain/transaction-check/di/transactionCheckTypes\";\nimport { lifiTypes } from \"@/modules/solana/lifi/di/lifiTypes\";\nimport { ownerInfoTypes } from \"@/modules/solana/owner-info/di/ownerInfoTypes\";\nimport { tokenTypes as solanaTokenTypes } from \"@/modules/solana/token/di/tokenTypes\";\nimport { type ContextFieldLoader } from \"@/shared/domain/ContextFieldLoader\";\nimport { type ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport {\n type ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport class DefaultContextModule implements ContextModule {\n private _container: Container;\n private _config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n private _loaders: ContextLoader<unknown>[];\n private _typedDataLoader: TypedDataContextLoader;\n private _fieldLoaders: ContextFieldLoader<unknown>[];\n private _blindSigningReporter: BlindSigningReporter | null;\n\n constructor(args: ContextModuleServiceConfig & ContextModuleLoaderConfig) {\n this._config = args;\n this._container = makeContainer({ config: args });\n\n this._loaders = args.defaultLoaders ? this._getDefaultLoaders() : [];\n this._loaders.push(...args.customLoaders);\n\n this._fieldLoaders = args.defaultFieldLoaders\n ? this._getDefaultFieldLoaders()\n : [];\n this._fieldLoaders.push(...args.customFieldLoaders);\n\n this._typedDataLoader =\n args.customTypedDataLoader ?? this._getDefaultTypedDataLoader();\n this._blindSigningReporter =\n args.customBlindSigningReporter ?? this._getBlindSigningReporter();\n }\n\n private _getDefaultFieldLoaders(): ContextFieldLoader[] {\n if (this._config.chain !== ContextModuleChainID.Ethereum) return [];\n return [\n this._container.get<ContextFieldLoader>(nftTypes.NftContextFieldLoader),\n this._container.get<ContextFieldLoader>(\n ethereumTokenTypes.TokenContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n trustedNameTypes.TrustedNameContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n proxyTypes.ProxyContextFieldLoader,\n ),\n ];\n }\n\n private _getDefaultLoaders(): ContextLoader<unknown>[] {\n const { chain } = this._config;\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n return [\n this._container.get<ContextLoader>(\n externalPluginTypes.ExternalPluginContextLoader,\n ),\n this._container.get<ContextLoader>(\n trustedNameTypes.TrustedNameContextLoader,\n ),\n this._container.get<ContextLoader>(nftTypes.NftContextLoader),\n this._container.get<ContextLoader>(\n ethereumTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(\n calldataTypes.CalldataContextLoader,\n ),\n this._container.get<ContextLoader>(\n dynamicNetworkTypes.DynamicNetworkContextLoader,\n ),\n this._container.get<ContextLoader>(safeTypes.SafeAddressLoader),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningContextLoader,\n ),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningTypedDataContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TypedDataCheckLoader,\n ),\n ];\n case ContextModuleChainID.Solana:\n return [\n this._container.get<ContextLoader>(\n solanaTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(lifiTypes.LifiContextLoader),\n this._container.get<ContextLoader>(\n ownerInfoTypes.OwnerInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n ];\n case ContextModuleChainID.Concordium:\n return [\n this._container.get<ContextLoader>(\n accountOwnershipTypes.AccountOwnershipContextLoader,\n ),\n ];\n default: {\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n return [];\n }\n }\n }\n\n private _getDefaultTypedDataLoader(): TypedDataContextLoader {\n if (this._config.chain !== ContextModuleChainID.Ethereum) {\n return {\n load: () =>\n Promise.reject(\n new Error(\n \"[ContextModule] getTypedDataFilters is not supported for this chain\",\n ),\n ),\n };\n }\n return this._container.get<TypedDataContextLoader>(\n typedDataTypes.TypedDataContextLoader,\n );\n }\n\n private _getBlindSigningReporter(): BlindSigningReporter | null {\n if (this._container.isBound(reporterTypes.BlindSigningReporter)) {\n return this._container.get<BlindSigningReporter>(\n reporterTypes.BlindSigningReporter,\n );\n }\n return null;\n }\n\n public async getContexts(\n input: unknown,\n expectedTypes?: ClearSignContextType[],\n ): Promise<ClearSignContext[]> {\n const allContextTypes = Object.values(ClearSignContextType);\n const loaders = this._loaders.filter((l) =>\n l.canHandle(input, expectedTypes ?? allContextTypes),\n );\n const promises = loaders.map((fetcher) => fetcher.load(input));\n const responses = await Promise.all(promises);\n return responses.flat();\n }\n\n public async getFieldContext<TInput>(\n field: TInput,\n expectedType: ClearSignContextType,\n ): Promise<ClearSignContext> {\n const loaders = this._fieldLoaders.filter((l) =>\n l.canHandle(field, expectedType),\n );\n if (loaders.length === 0) {\n return Promise.resolve({\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n });\n }\n\n for (const loader of loaders) {\n const context = await loader.loadField(field);\n if (context.type !== ClearSignContextType.ERROR) {\n return context;\n }\n }\n\n return {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n };\n }\n\n public async getTypedDataFilters(\n typedData: TypedDataContext,\n ): Promise<TypedDataClearSignContext> {\n return this._typedDataLoader.load(typedData);\n }\n\n public async report(params: BlindSigningReportParams): Promise<void> {\n await this._blindSigningReporter?.report(params);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["makeContainer", "accountOwnershipTypes", "calldataTypes", "dynamicNetworkTypes", "externalPluginTypes", "gatedSigningTypes", "nftTypes", "proxyTypes", "safeTypes", "ethereumTokenTypes", "trustedNameTypes", "typedDataTypes", "reporterTypes", "transactionCheckTypes", "lifiTypes", "ownerInfoTypes", "solanaTokenTypes", "ContextModuleChainID", "ClearSignContextType", "DefaultContextModule", "args", "chain", "exhaustiveCheck", "input", "expectedTypes", "allContextTypes", "promises", "l", "fetcher", "field", "expectedType", "loaders", "loader", "context", "typedData", "params"]
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\n\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { type ContextModule } from \"@/ContextModule\";\nimport { makeContainer } from \"@/di\";\nimport { accountOwnershipTypes } from \"@/modules/concordium/account-ownership/di/accountOwnershipTypes\";\nimport { calldataTypes } from \"@/modules/ethereum/calldata/di/calldataTypes\";\nimport { dynamicNetworkTypes } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkTypes\";\nimport { externalPluginTypes } from \"@/modules/ethereum/external-plugin/di/externalPluginTypes\";\nimport { gatedSigningTypes } from \"@/modules/ethereum/gated-signing/di/gatedSigningTypes\";\nimport type { TypedDataClearSignContext } from \"@/modules/ethereum/model/TypedDataClearSignContext\";\nimport type { TypedDataContext } from \"@/modules/ethereum/model/TypedDataContext\";\nimport { nftTypes } from \"@/modules/ethereum/nft/di/nftTypes\";\nimport { proxyTypes } from \"@/modules/ethereum/proxy/di/proxyTypes\";\nimport { safeTypes } from \"@/modules/ethereum/safe/di/safeTypes\";\nimport { tokenTypes as ethereumTokenTypes } from \"@/modules/ethereum/token/di/tokenTypes\";\nimport { trustedNameTypes } from \"@/modules/ethereum/trusted-name/di/trustedNameTypes\";\nimport { typedDataTypes } from \"@/modules/ethereum/typed-data/di/typedDataTypes\";\nimport type { TypedDataContextLoader } from \"@/modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nimport { type BlindSigningReportParams } from \"@/modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nimport { reporterTypes } from \"@/modules/multichain/reporter/di/reporterTypes\";\nimport { type BlindSigningReporter } from \"@/modules/multichain/reporter/domain/BlindSigningReporter\";\nimport { transactionCheckTypes } from \"@/modules/multichain/transaction-check/di/transactionCheckTypes\";\nimport { altResolutionTypes } from \"@/modules/solana/alt-resolution/di/altResolutionTypes\";\nimport { enumVariantTypes } from \"@/modules/solana/enum-variant/di/enumVariantTypes\";\nimport { instructionInfoTypes } from \"@/modules/solana/instruction-info/di/instructionInfoTypes\";\nimport { lifiTypes } from \"@/modules/solana/lifi/di/lifiTypes\";\nimport { ownerInfoTypes } from \"@/modules/solana/owner-info/di/ownerInfoTypes\";\nimport { tokenTypes as solanaTokenTypes } from \"@/modules/solana/token/di/tokenTypes\";\nimport { tokenAccountStateTypes } from \"@/modules/solana/token-account-state/di/tokenAccountStateTypes\";\nimport { tokenInfoTypes } from \"@/modules/solana/token-info/di/tokenInfoTypes\";\nimport { solanaTrustedNameTypes } from \"@/modules/solana/trusted-name/di/trustedNameTypes\";\nimport { type ContextFieldLoader } from \"@/shared/domain/ContextFieldLoader\";\nimport { type ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport {\n type ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport class DefaultContextModule implements ContextModule {\n private _container: Container;\n private _config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n private _loaders: ContextLoader<unknown>[];\n private _typedDataLoader: TypedDataContextLoader;\n private _fieldLoaders: ContextFieldLoader<unknown>[];\n private _blindSigningReporter: BlindSigningReporter | null;\n\n constructor(args: ContextModuleServiceConfig & ContextModuleLoaderConfig) {\n this._config = args;\n this._container = makeContainer({ config: args });\n\n this._loaders = args.defaultLoaders ? this._getDefaultLoaders() : [];\n this._loaders.push(...args.customLoaders);\n\n this._fieldLoaders = args.defaultFieldLoaders\n ? this._getDefaultFieldLoaders()\n : [];\n this._fieldLoaders.push(...args.customFieldLoaders);\n\n this._typedDataLoader =\n args.customTypedDataLoader ?? this._getDefaultTypedDataLoader();\n this._blindSigningReporter =\n args.customBlindSigningReporter ?? this._getBlindSigningReporter();\n }\n\n private _getDefaultFieldLoaders(): ContextFieldLoader[] {\n if (this._config.chain !== ContextModuleChainID.Ethereum) return [];\n return [\n this._container.get<ContextFieldLoader>(nftTypes.NftContextFieldLoader),\n this._container.get<ContextFieldLoader>(\n ethereumTokenTypes.TokenContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n trustedNameTypes.TrustedNameContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n proxyTypes.ProxyContextFieldLoader,\n ),\n ];\n }\n\n private _getDefaultLoaders(): ContextLoader<unknown>[] {\n const { chain } = this._config;\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n return [\n this._container.get<ContextLoader>(\n externalPluginTypes.ExternalPluginContextLoader,\n ),\n this._container.get<ContextLoader>(\n trustedNameTypes.TrustedNameContextLoader,\n ),\n this._container.get<ContextLoader>(nftTypes.NftContextLoader),\n this._container.get<ContextLoader>(\n ethereumTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(\n calldataTypes.CalldataContextLoader,\n ),\n this._container.get<ContextLoader>(\n dynamicNetworkTypes.DynamicNetworkContextLoader,\n ),\n this._container.get<ContextLoader>(safeTypes.SafeAddressLoader),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningContextLoader,\n ),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningTypedDataContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TypedDataCheckLoader,\n ),\n ];\n case ContextModuleChainID.Solana:\n return [\n this._container.get<ContextLoader>(\n solanaTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(lifiTypes.LifiContextLoader),\n this._container.get<ContextLoader>(\n ownerInfoTypes.OwnerInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n instructionInfoTypes.InstructionInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n enumVariantTypes.EnumVariantContextLoader,\n ),\n this._container.get<ContextLoader>(\n tokenInfoTypes.TokenInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n tokenAccountStateTypes.TokenAccountStateContextLoader,\n ),\n this._container.get<ContextLoader>(\n altResolutionTypes.AltResolutionContextLoader,\n ),\n this._container.get<ContextLoader>(\n solanaTrustedNameTypes.SolanaTrustedNameContextLoader,\n ),\n ];\n case ContextModuleChainID.Concordium:\n return [\n this._container.get<ContextLoader>(\n accountOwnershipTypes.AccountOwnershipContextLoader,\n ),\n ];\n default: {\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n return [];\n }\n }\n }\n\n private _getDefaultTypedDataLoader(): TypedDataContextLoader {\n if (this._config.chain !== ContextModuleChainID.Ethereum) {\n return {\n load: () =>\n Promise.reject(\n new Error(\n \"[ContextModule] getTypedDataFilters is not supported for this chain\",\n ),\n ),\n };\n }\n return this._container.get<TypedDataContextLoader>(\n typedDataTypes.TypedDataContextLoader,\n );\n }\n\n private _getBlindSigningReporter(): BlindSigningReporter | null {\n if (this._container.isBound(reporterTypes.BlindSigningReporter)) {\n return this._container.get<BlindSigningReporter>(\n reporterTypes.BlindSigningReporter,\n );\n }\n return null;\n }\n\n public async getContexts(\n input: unknown,\n expectedTypes?: ClearSignContextType[],\n ): Promise<ClearSignContext[]> {\n const allContextTypes = Object.values(ClearSignContextType);\n const loaders = this._loaders.filter((l) =>\n l.canHandle(input, expectedTypes ?? allContextTypes),\n );\n const promises = loaders.map((fetcher) => fetcher.load(input));\n const responses = await Promise.all(promises);\n return responses.flat();\n }\n\n public async getFieldContext<TInput>(\n field: TInput,\n expectedType: ClearSignContextType,\n ): Promise<ClearSignContext> {\n const loaders = this._fieldLoaders.filter((l) =>\n l.canHandle(field, expectedType),\n );\n if (loaders.length === 0) {\n return Promise.resolve({\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n });\n }\n\n for (const loader of loaders) {\n const context = await loader.loadField(field);\n if (context.type !== ClearSignContextType.ERROR) {\n return context;\n }\n }\n\n return {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n };\n }\n\n public async getTypedDataFilters(\n typedData: TypedDataContext,\n ): Promise<TypedDataClearSignContext> {\n return this._typedDataLoader.load(typedData);\n }\n\n public async report(params: BlindSigningReportParams): Promise<void> {\n await this._blindSigningReporter?.report(params);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["makeContainer", "accountOwnershipTypes", "calldataTypes", "dynamicNetworkTypes", "externalPluginTypes", "gatedSigningTypes", "nftTypes", "proxyTypes", "safeTypes", "ethereumTokenTypes", "trustedNameTypes", "typedDataTypes", "reporterTypes", "transactionCheckTypes", "altResolutionTypes", "enumVariantTypes", "instructionInfoTypes", "lifiTypes", "ownerInfoTypes", "solanaTokenTypes", "tokenAccountStateTypes", "tokenInfoTypes", "solanaTrustedNameTypes", "ContextModuleChainID", "ClearSignContextType", "DefaultContextModule", "args", "chain", "exhaustiveCheck", "input", "expectedTypes", "allContextTypes", "promises", "l", "fetcher", "field", "expectedType", "loaders", "loader", "context", "typedData", "params"]
7
7
  }
package/lib/esm/src/di.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Container as n}from"inversify";import{configModuleFactory as i}from"./config/di/configModuleFactory";import{configTypes as c}from"./config/di/configTypes";import{accountOwnershipModuleFactory as u}from"./modules/concordium/account-ownership/di/accountOwnershipModuleFactory";import{calldataModuleFactory as d}from"./modules/ethereum/calldata/di/calldataModuleFactory";import{dynamicNetworkModuleFactory as l}from"./modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory";import{externalPluginModuleFactory as p}from"./modules/ethereum/external-plugin/di/externalPluginModuleFactory";import{gatedSigningModuleFactory as y}from"./modules/ethereum/gated-signing/di/gatedSigningModuleFactory";import{nftModuleFactory as f}from"./modules/ethereum/nft/di/nftModuleFactory";import{proxyModuleFactory as M}from"./modules/ethereum/proxy/di/proxyModuleFactory";import{safeModuleFactory as s}from"./modules/ethereum/safe/di/safeModuleFactory";import{tokenModuleFactory as F}from"./modules/ethereum/token/di/tokenModuleFactory";import{trustedNameModuleFactory as C}from"./modules/ethereum/trusted-name/di/trustedNameModuleFactory";import{typedDataModuleFactory as g}from"./modules/ethereum/typed-data/di/typedDataModuleFactory";import{uniswapModuleFactory as k}from"./modules/ethereum/uniswap/di/uniswapModuleFactory";import{nanoPkiModuleFactory as e}from"./modules/multichain/pki/di/pkiModuleFactory";import{reporterModuleFactory as h}from"./modules/multichain/reporter/di/reporterModuleFactory";import{ethereumTransactionCheckModuleFactory as S}from"./modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory";import{solanaTransactionCheckModuleFactory as x}from"./modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory";import{lifiModuleFactory as v}from"./modules/solana/lifi/di/lifiModuleFactory";import{ownerInfoModuleFactory as w}from"./modules/solana/owner-info/di/ownerInfoModuleFactory";import{tokenModuleFactory as b}from"./modules/solana/token/di/tokenModuleFactory";import{ContextModuleChainID as t}from"./shared/domain/ContextModuleChainID";import{networkModuleFactory as T}from"./shared/network/di/networkModuleFactory";const _=({config:o})=>{const r=new n;r.bind(c.ContextModuleLoggerFactory).toConstantValue(o.loggerFactory);const{chain:a}=o;switch(r.loadSync(i(o),T(o)),a){case t.Ethereum:r.loadSync(e(),h(),C(o.customTrustedNameDataSource),p(),l(),f(),M(o.datasource),s(),y(),F(),d(),g(),k(),S());break;case t.Solana:r.loadSync(e(),w(),b(),v(),x());break;case t.Concordium:r.loadSync(e(),u());break;default:{const m=a}}return r};export{_ as makeContainer};
1
+ import{Container as n}from"inversify";import{configModuleFactory as i}from"./config/di/configModuleFactory";import{configTypes as c}from"./config/di/configTypes";import{accountOwnershipModuleFactory as u}from"./modules/concordium/account-ownership/di/accountOwnershipModuleFactory";import{calldataModuleFactory as l}from"./modules/ethereum/calldata/di/calldataModuleFactory";import{dynamicNetworkModuleFactory as d}from"./modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory";import{externalPluginModuleFactory as p}from"./modules/ethereum/external-plugin/di/externalPluginModuleFactory";import{gatedSigningModuleFactory as y}from"./modules/ethereum/gated-signing/di/gatedSigningModuleFactory";import{nftModuleFactory as f}from"./modules/ethereum/nft/di/nftModuleFactory";import{proxyModuleFactory as M}from"./modules/ethereum/proxy/di/proxyModuleFactory";import{safeModuleFactory as s}from"./modules/ethereum/safe/di/safeModuleFactory";import{tokenModuleFactory as F}from"./modules/ethereum/token/di/tokenModuleFactory";import{trustedNameModuleFactory as C}from"./modules/ethereum/trusted-name/di/trustedNameModuleFactory";import{typedDataModuleFactory as g}from"./modules/ethereum/typed-data/di/typedDataModuleFactory";import{uniswapModuleFactory as k}from"./modules/ethereum/uniswap/di/uniswapModuleFactory";import{nanoPkiModuleFactory as t}from"./modules/multichain/pki/di/pkiModuleFactory";import{reporterModuleFactory as h}from"./modules/multichain/reporter/di/reporterModuleFactory";import{ethereumTransactionCheckModuleFactory as S}from"./modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory";import{solanaTransactionCheckModuleFactory as x}from"./modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory";import{altResolutionModuleFactory as v}from"./modules/solana/alt-resolution/di/altResolutionModuleFactory";import{enumVariantModuleFactory as w}from"./modules/solana/enum-variant/di/enumVariantModuleFactory";import{instructionInfoModuleFactory as T}from"./modules/solana/instruction-info/di/instructionInfoModuleFactory";import{lifiModuleFactory as b}from"./modules/solana/lifi/di/lifiModuleFactory";import{ownerInfoModuleFactory as L}from"./modules/solana/owner-info/di/ownerInfoModuleFactory";import{tokenModuleFactory as I}from"./modules/solana/token/di/tokenModuleFactory";import{tokenAccountStateModuleFactory as N}from"./modules/solana/token-account-state/di/tokenAccountStateModuleFactory";import{tokenInfoModuleFactory as P}from"./modules/solana/token-info/di/tokenInfoModuleFactory";import{solanaTrustedNameModuleFactory as A}from"./modules/solana/trusted-name/di/trustedNameModuleFactory";import{ContextModuleChainID as e}from"./shared/domain/ContextModuleChainID";import{networkModuleFactory as D}from"./shared/network/di/networkModuleFactory";const lo=({config:o})=>{const r=new n;r.bind(c.ContextModuleLoggerFactory).toConstantValue(o.loggerFactory);const{chain:a}=o;switch(r.loadSync(i(o),D(o)),a){case e.Ethereum:r.loadSync(t(),h(),C(o.customTrustedNameDataSource),p(),d(),f(),M(o.datasource),s(),y(),F(),l(),g(),k(),S());break;case e.Solana:r.loadSync(t(),L(),I(),b(),x(),T(),w(),P(),N(),v(),A());break;case e.Concordium:r.loadSync(t(),u());break;default:{const m=a}}return r};export{lo as makeContainer};
2
2
  //# sourceMappingURL=di.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/di.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { configModuleFactory } from \"@/config/di/configModuleFactory\";\nimport { configTypes } from \"@/config/di/configTypes\";\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { accountOwnershipModuleFactory } from \"@/modules/concordium/account-ownership/di/accountOwnershipModuleFactory\";\nimport { calldataModuleFactory } from \"@/modules/ethereum/calldata/di/calldataModuleFactory\";\nimport { dynamicNetworkModuleFactory } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory\";\nimport { externalPluginModuleFactory } from \"@/modules/ethereum/external-plugin/di/externalPluginModuleFactory\";\nimport { gatedSigningModuleFactory } from \"@/modules/ethereum/gated-signing/di/gatedSigningModuleFactory\";\nimport { nftModuleFactory } from \"@/modules/ethereum/nft/di/nftModuleFactory\";\nimport { proxyModuleFactory } from \"@/modules/ethereum/proxy/di/proxyModuleFactory\";\nimport { safeModuleFactory } from \"@/modules/ethereum/safe/di/safeModuleFactory\";\nimport { tokenModuleFactory as ethereumTokenModuleFactory } from \"@/modules/ethereum/token/di/tokenModuleFactory\";\nimport { trustedNameModuleFactory } from \"@/modules/ethereum/trusted-name/di/trustedNameModuleFactory\";\nimport { typedDataModuleFactory } from \"@/modules/ethereum/typed-data/di/typedDataModuleFactory\";\nimport { uniswapModuleFactory } from \"@/modules/ethereum/uniswap/di/uniswapModuleFactory\";\nimport { nanoPkiModuleFactory } from \"@/modules/multichain/pki/di/pkiModuleFactory\";\nimport { reporterModuleFactory } from \"@/modules/multichain/reporter/di/reporterModuleFactory\";\nimport { ethereumTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory\";\nimport { solanaTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory\";\nimport { lifiModuleFactory } from \"@/modules/solana/lifi/di/lifiModuleFactory\";\nimport { ownerInfoModuleFactory } from \"@/modules/solana/owner-info/di/ownerInfoModuleFactory\";\nimport { tokenModuleFactory as solanaTokenModuleFactory } from \"@/modules/solana/token/di/tokenModuleFactory\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport { networkModuleFactory } from \"@/shared/network/di/networkModuleFactory\";\n\ntype MakeContainerArgs = {\n config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n};\n\nexport const makeContainer = ({ config }: MakeContainerArgs) => {\n const container = new Container();\n\n container\n .bind<\n (tag: string) => LoggerPublisherService\n >(configTypes.ContextModuleLoggerFactory)\n .toConstantValue(config.loggerFactory);\n\n const { chain } = config;\n\n // infrastructure modules needed by all chains\n container.loadSync(configModuleFactory(config), networkModuleFactory(config));\n\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n container.loadSync(\n nanoPkiModuleFactory(),\n reporterModuleFactory(),\n trustedNameModuleFactory(config.customTrustedNameDataSource),\n externalPluginModuleFactory(),\n dynamicNetworkModuleFactory(),\n nftModuleFactory(),\n proxyModuleFactory(config.datasource),\n safeModuleFactory(),\n gatedSigningModuleFactory(),\n ethereumTokenModuleFactory(),\n calldataModuleFactory(),\n typedDataModuleFactory(),\n uniswapModuleFactory(),\n ethereumTransactionCheckModuleFactory(),\n );\n break;\n case ContextModuleChainID.Solana:\n container.loadSync(\n nanoPkiModuleFactory(),\n ownerInfoModuleFactory(),\n solanaTokenModuleFactory(),\n lifiModuleFactory(),\n solanaTransactionCheckModuleFactory(),\n );\n break;\n case ContextModuleChainID.Concordium:\n container.loadSync(\n nanoPkiModuleFactory(),\n accountOwnershipModuleFactory(),\n );\n break;\n default: {\n // ensure exhaustive check at compile time when new chains are added\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n }\n }\n\n return container;\n};\n"],
5
- "mappings": "AACA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,uBAAAC,MAA2B,kCACpC,OAAS,eAAAC,MAAmB,0BAK5B,OAAS,iCAAAC,MAAqC,0EAC9C,OAAS,yBAAAC,MAA6B,uDACtC,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,6BAAAC,MAAiC,gEAC1C,OAAS,oBAAAC,MAAwB,6CACjC,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,qBAAAC,MAAyB,+CAClC,OAAS,sBAAsBC,MAAkC,iDACjE,OAAS,4BAAAC,MAAgC,8DACzC,OAAS,0BAAAC,MAA8B,0DACvC,OAAS,wBAAAC,MAA4B,qDACrC,OAAS,wBAAAC,MAA4B,+CACrC,OAAS,yBAAAC,MAA6B,yDACtC,OAAS,yCAAAC,MAA6C,kFACtD,OAAS,uCAAAC,MAA2C,gFACpD,OAAS,qBAAAC,MAAyB,6CAClC,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,sBAAsBC,MAAgC,+CAC/D,OAAS,wBAAAC,MAA4B,uCACrC,OAAS,wBAAAC,MAA4B,2CAM9B,MAAMC,EAAgB,CAAC,CAAE,OAAAC,CAAO,IAAyB,CAC9D,MAAMC,EAAY,IAAI1B,EAEtB0B,EACG,KAECxB,EAAY,0BAA0B,EACvC,gBAAgBuB,EAAO,aAAa,EAEvC,KAAM,CAAE,MAAAE,CAAM,EAAIF,EAKlB,OAFAC,EAAU,SAASzB,EAAoBwB,CAAM,EAAGF,EAAqBE,CAAM,CAAC,EAEpEE,EAAO,CACb,KAAKL,EAAqB,SACxBI,EAAU,SACRX,EAAqB,EACrBC,EAAsB,EACtBJ,EAAyBa,EAAO,2BAA2B,EAC3DnB,EAA4B,EAC5BD,EAA4B,EAC5BG,EAAiB,EACjBC,EAAmBgB,EAAO,UAAU,EACpCf,EAAkB,EAClBH,EAA0B,EAC1BI,EAA2B,EAC3BP,EAAsB,EACtBS,EAAuB,EACvBC,EAAqB,EACrBG,EAAsC,CACxC,EACA,MACF,KAAKK,EAAqB,OACxBI,EAAU,SACRX,EAAqB,EACrBK,EAAuB,EACvBC,EAAyB,EACzBF,EAAkB,EAClBD,EAAoC,CACtC,EACA,MACF,KAAKI,EAAqB,WACxBI,EAAU,SACRX,EAAqB,EACrBZ,EAA8B,CAChC,EACA,MACF,QAAS,CAEP,MAAMyB,EAAyBD,CAEjC,CACF,CAEA,OAAOD,CACT",
6
- "names": ["Container", "configModuleFactory", "configTypes", "accountOwnershipModuleFactory", "calldataModuleFactory", "dynamicNetworkModuleFactory", "externalPluginModuleFactory", "gatedSigningModuleFactory", "nftModuleFactory", "proxyModuleFactory", "safeModuleFactory", "ethereumTokenModuleFactory", "trustedNameModuleFactory", "typedDataModuleFactory", "uniswapModuleFactory", "nanoPkiModuleFactory", "reporterModuleFactory", "ethereumTransactionCheckModuleFactory", "solanaTransactionCheckModuleFactory", "lifiModuleFactory", "ownerInfoModuleFactory", "solanaTokenModuleFactory", "ContextModuleChainID", "networkModuleFactory", "makeContainer", "config", "container", "chain", "exhaustiveCheck"]
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { configModuleFactory } from \"@/config/di/configModuleFactory\";\nimport { configTypes } from \"@/config/di/configTypes\";\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { accountOwnershipModuleFactory } from \"@/modules/concordium/account-ownership/di/accountOwnershipModuleFactory\";\nimport { calldataModuleFactory } from \"@/modules/ethereum/calldata/di/calldataModuleFactory\";\nimport { dynamicNetworkModuleFactory } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory\";\nimport { externalPluginModuleFactory } from \"@/modules/ethereum/external-plugin/di/externalPluginModuleFactory\";\nimport { gatedSigningModuleFactory } from \"@/modules/ethereum/gated-signing/di/gatedSigningModuleFactory\";\nimport { nftModuleFactory } from \"@/modules/ethereum/nft/di/nftModuleFactory\";\nimport { proxyModuleFactory } from \"@/modules/ethereum/proxy/di/proxyModuleFactory\";\nimport { safeModuleFactory } from \"@/modules/ethereum/safe/di/safeModuleFactory\";\nimport { tokenModuleFactory as ethereumTokenModuleFactory } from \"@/modules/ethereum/token/di/tokenModuleFactory\";\nimport { trustedNameModuleFactory } from \"@/modules/ethereum/trusted-name/di/trustedNameModuleFactory\";\nimport { typedDataModuleFactory } from \"@/modules/ethereum/typed-data/di/typedDataModuleFactory\";\nimport { uniswapModuleFactory } from \"@/modules/ethereum/uniswap/di/uniswapModuleFactory\";\nimport { nanoPkiModuleFactory } from \"@/modules/multichain/pki/di/pkiModuleFactory\";\nimport { reporterModuleFactory } from \"@/modules/multichain/reporter/di/reporterModuleFactory\";\nimport { ethereumTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory\";\nimport { solanaTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory\";\nimport { altResolutionModuleFactory } from \"@/modules/solana/alt-resolution/di/altResolutionModuleFactory\";\nimport { enumVariantModuleFactory } from \"@/modules/solana/enum-variant/di/enumVariantModuleFactory\";\nimport { instructionInfoModuleFactory } from \"@/modules/solana/instruction-info/di/instructionInfoModuleFactory\";\nimport { lifiModuleFactory } from \"@/modules/solana/lifi/di/lifiModuleFactory\";\nimport { ownerInfoModuleFactory } from \"@/modules/solana/owner-info/di/ownerInfoModuleFactory\";\nimport { tokenModuleFactory as solanaTokenModuleFactory } from \"@/modules/solana/token/di/tokenModuleFactory\";\nimport { tokenAccountStateModuleFactory } from \"@/modules/solana/token-account-state/di/tokenAccountStateModuleFactory\";\nimport { tokenInfoModuleFactory } from \"@/modules/solana/token-info/di/tokenInfoModuleFactory\";\nimport { solanaTrustedNameModuleFactory } from \"@/modules/solana/trusted-name/di/trustedNameModuleFactory\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport { networkModuleFactory } from \"@/shared/network/di/networkModuleFactory\";\n\ntype MakeContainerArgs = {\n config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n};\n\nexport const makeContainer = ({ config }: MakeContainerArgs) => {\n const container = new Container();\n\n container\n .bind<\n (tag: string) => LoggerPublisherService\n >(configTypes.ContextModuleLoggerFactory)\n .toConstantValue(config.loggerFactory);\n\n const { chain } = config;\n\n // infrastructure modules needed by all chains\n container.loadSync(configModuleFactory(config), networkModuleFactory(config));\n\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n container.loadSync(\n nanoPkiModuleFactory(),\n reporterModuleFactory(),\n trustedNameModuleFactory(config.customTrustedNameDataSource),\n externalPluginModuleFactory(),\n dynamicNetworkModuleFactory(),\n nftModuleFactory(),\n proxyModuleFactory(config.datasource),\n safeModuleFactory(),\n gatedSigningModuleFactory(),\n ethereumTokenModuleFactory(),\n calldataModuleFactory(),\n typedDataModuleFactory(),\n uniswapModuleFactory(),\n ethereumTransactionCheckModuleFactory(),\n );\n break;\n case ContextModuleChainID.Solana:\n container.loadSync(\n nanoPkiModuleFactory(),\n ownerInfoModuleFactory(),\n solanaTokenModuleFactory(),\n lifiModuleFactory(),\n solanaTransactionCheckModuleFactory(),\n instructionInfoModuleFactory(),\n enumVariantModuleFactory(),\n tokenInfoModuleFactory(),\n tokenAccountStateModuleFactory(),\n altResolutionModuleFactory(),\n solanaTrustedNameModuleFactory(),\n );\n break;\n case ContextModuleChainID.Concordium:\n container.loadSync(\n nanoPkiModuleFactory(),\n accountOwnershipModuleFactory(),\n );\n break;\n default: {\n // ensure exhaustive check at compile time when new chains are added\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n }\n }\n\n return container;\n};\n"],
5
+ "mappings": "AACA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,uBAAAC,MAA2B,kCACpC,OAAS,eAAAC,MAAmB,0BAK5B,OAAS,iCAAAC,MAAqC,0EAC9C,OAAS,yBAAAC,MAA6B,uDACtC,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,6BAAAC,MAAiC,gEAC1C,OAAS,oBAAAC,MAAwB,6CACjC,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,qBAAAC,MAAyB,+CAClC,OAAS,sBAAsBC,MAAkC,iDACjE,OAAS,4BAAAC,MAAgC,8DACzC,OAAS,0BAAAC,MAA8B,0DACvC,OAAS,wBAAAC,MAA4B,qDACrC,OAAS,wBAAAC,MAA4B,+CACrC,OAAS,yBAAAC,MAA6B,yDACtC,OAAS,yCAAAC,MAA6C,kFACtD,OAAS,uCAAAC,MAA2C,gFACpD,OAAS,8BAAAC,MAAkC,gEAC3C,OAAS,4BAAAC,MAAgC,4DACzC,OAAS,gCAAAC,MAAoC,oEAC7C,OAAS,qBAAAC,MAAyB,6CAClC,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,sBAAsBC,MAAgC,+CAC/D,OAAS,kCAAAC,MAAsC,yEAC/C,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,kCAAAC,MAAsC,4DAC/C,OAAS,wBAAAC,MAA4B,uCACrC,OAAS,wBAAAC,MAA4B,2CAM9B,MAAMC,GAAgB,CAAC,CAAE,OAAAC,CAAO,IAAyB,CAC9D,MAAMC,EAAY,IAAIhC,EAEtBgC,EACG,KAEC9B,EAAY,0BAA0B,EACvC,gBAAgB6B,EAAO,aAAa,EAEvC,KAAM,CAAE,MAAAE,CAAM,EAAIF,EAKlB,OAFAC,EAAU,SAAS/B,EAAoB8B,CAAM,EAAGF,EAAqBE,CAAM,CAAC,EAEpEE,EAAO,CACb,KAAKL,EAAqB,SACxBI,EAAU,SACRjB,EAAqB,EACrBC,EAAsB,EACtBJ,EAAyBmB,EAAO,2BAA2B,EAC3DzB,EAA4B,EAC5BD,EAA4B,EAC5BG,EAAiB,EACjBC,EAAmBsB,EAAO,UAAU,EACpCrB,EAAkB,EAClBH,EAA0B,EAC1BI,EAA2B,EAC3BP,EAAsB,EACtBS,EAAuB,EACvBC,EAAqB,EACrBG,EAAsC,CACxC,EACA,MACF,KAAKW,EAAqB,OACxBI,EAAU,SACRjB,EAAqB,EACrBQ,EAAuB,EACvBC,EAAyB,EACzBF,EAAkB,EAClBJ,EAAoC,EACpCG,EAA6B,EAC7BD,EAAyB,EACzBM,EAAuB,EACvBD,EAA+B,EAC/BN,EAA2B,EAC3BQ,EAA+B,CACjC,EACA,MACF,KAAKC,EAAqB,WACxBI,EAAU,SACRjB,EAAqB,EACrBZ,EAA8B,CAChC,EACA,MACF,QAAS,CAEP,MAAM+B,EAAyBD,CAEjC,CACF,CAEA,OAAOD,CACT",
6
+ "names": ["Container", "configModuleFactory", "configTypes", "accountOwnershipModuleFactory", "calldataModuleFactory", "dynamicNetworkModuleFactory", "externalPluginModuleFactory", "gatedSigningModuleFactory", "nftModuleFactory", "proxyModuleFactory", "safeModuleFactory", "ethereumTokenModuleFactory", "trustedNameModuleFactory", "typedDataModuleFactory", "uniswapModuleFactory", "nanoPkiModuleFactory", "reporterModuleFactory", "ethereumTransactionCheckModuleFactory", "solanaTransactionCheckModuleFactory", "altResolutionModuleFactory", "enumVariantModuleFactory", "instructionInfoModuleFactory", "lifiModuleFactory", "ownerInfoModuleFactory", "solanaTokenModuleFactory", "tokenAccountStateModuleFactory", "tokenInfoModuleFactory", "solanaTrustedNameModuleFactory", "ContextModuleChainID", "networkModuleFactory", "makeContainer", "config", "container", "chain", "exhaustiveCheck"]
7
7
  }
@@ -1,2 +1,2 @@
1
- export*from"./ContextModule";export*from"./ContextModuleBuilder";export*from"./DefaultContextModule";export*from"./modules/concordium/account-ownership/data/AccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/data/AccountOwnershipError";export*from"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader";export*from"./modules/ethereum/calldata/data/CalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/domain/CalldataContextLoader";export*from"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader";export*from"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration";export*from"./modules/ethereum/external-plugin/data/ExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader";export*from"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader";export*from"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader";export*from"./modules/ethereum/model/EthereumClearSignContext";export*from"./modules/ethereum/model/TypedDataClearSignContext";export*from"./modules/ethereum/model/TypedDataContext";export*from"./modules/ethereum/nft/data/HttpNftDataSource";export*from"./modules/ethereum/nft/data/NftDataSource";export*from"./modules/ethereum/nft/domain/NftContextFieldLoader";export*from"./modules/ethereum/nft/domain/NftContextLoader";export*from"./modules/ethereum/proxy/data/HttpProxyDataSource";export*from"./modules/ethereum/proxy/data/HttpSafeProxyDataSource";export*from"./modules/ethereum/proxy/data/ProxyDataSource";export*from"./modules/ethereum/proxy/domain/ProxyContextFieldLoader";export*from"./modules/ethereum/token/data/HttpTokenDataSource";export*from"./modules/ethereum/token/data/TokenDataSource";export*from"./modules/ethereum/token/domain/TokenContextFieldLoader";export*from"./modules/ethereum/token/domain/TokenContextLoader";export*from"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/ethereum/trusted-name/data/TrustedNameDataSource";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader";export*from"./modules/ethereum/typed-data/data/HttpTypedDataDataSource";export*from"./modules/ethereum/typed-data/data/TypedDataDataSource";export*from"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader";export*from"./modules/ethereum/typed-data/domain/TypedDataContextLoader";export*from"./modules/ethereum/typed-data/utils/getSchemaHash";export*from"./modules/ethereum/uniswap/data/AbiDecoderDataSource";export*from"./modules/ethereum/uniswap/data/CommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource";export*from"./modules/ethereum/uniswap/domain/UniswapContextLoader";export*from"./modules/multichain/pki/data/HttpPkiCertificateDataSource";export*from"./modules/multichain/pki/data/PkiCertificateDataSource";export*from"./modules/multichain/pki/domain/DefaultPkiCertificateLoader";export*from"./modules/multichain/pki/domain/PkiCertificateLoader";export*from"./modules/multichain/pki/model/KeyId";export*from"./modules/multichain/pki/model/KeyUsage";export*from"./modules/multichain/pki/model/PkiCertificate";export*from"./modules/multichain/pki/model/PkiCertificateInfo";export*from"./modules/multichain/reporter/data/BlindSigningReporterDatasource";export*from"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource";export*from"./modules/multichain/reporter/domain/BlindSigningReporter";export*from"./modules/multichain/reporter/domain/DefaultBlindSigningReporter";export*from"./modules/multichain/reporter/model/BlindSigningEvent";export*from"./modules/multichain/reporter/model/BlindSigningModelId";export*from"./modules/multichain/transaction-check/utils/constants";export*from"./modules/solana/model/SolanaClearSignContext";export*from"./modules/solana/model/SolanaContextTypes";export*from"./modules/solana/model/SolanaTransactionScanChainId";export*from"./modules/solana/owner-info/data/HttpOwnerInfoDataSource";export*from"./modules/solana/owner-info/data/OwnerInfoDataSource";export*from"./modules/solana/owner-info/domain/OwnerInfoContextLoader";export*from"./modules/solana/owner-info/domain/solanaContextTypes";export*from"./shared/domain/ContextFieldLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/domain/ContextModuleChainID";export*from"./shared/model/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionSubset";
1
+ export*from"./ContextModule";export*from"./ContextModuleBuilder";export*from"./DefaultContextModule";export*from"./modules/concordium/account-ownership/data/AccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/data/AccountOwnershipError";export*from"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader";export*from"./modules/ethereum/calldata/data/CalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/domain/CalldataContextLoader";export*from"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader";export*from"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration";export*from"./modules/ethereum/external-plugin/data/ExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader";export*from"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader";export*from"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader";export*from"./modules/ethereum/model/EthereumClearSignContext";export*from"./modules/ethereum/model/TypedDataClearSignContext";export*from"./modules/ethereum/model/TypedDataContext";export*from"./modules/ethereum/nft/data/HttpNftDataSource";export*from"./modules/ethereum/nft/data/NftDataSource";export*from"./modules/ethereum/nft/domain/NftContextFieldLoader";export*from"./modules/ethereum/nft/domain/NftContextLoader";export*from"./modules/ethereum/proxy/data/HttpProxyDataSource";export*from"./modules/ethereum/proxy/data/HttpSafeProxyDataSource";export*from"./modules/ethereum/proxy/data/ProxyDataSource";export*from"./modules/ethereum/proxy/domain/ProxyContextFieldLoader";export*from"./modules/ethereum/token/data/HttpTokenDataSource";export*from"./modules/ethereum/token/data/TokenDataSource";export*from"./modules/ethereum/token/domain/TokenContextFieldLoader";export*from"./modules/ethereum/token/domain/TokenContextLoader";export*from"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/ethereum/trusted-name/data/TrustedNameDataSource";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader";export*from"./modules/ethereum/typed-data/data/HttpTypedDataDataSource";export*from"./modules/ethereum/typed-data/data/TypedDataDataSource";export*from"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader";export*from"./modules/ethereum/typed-data/domain/TypedDataContextLoader";export*from"./modules/ethereum/typed-data/utils/getSchemaHash";export*from"./modules/ethereum/uniswap/data/AbiDecoderDataSource";export*from"./modules/ethereum/uniswap/data/CommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource";export*from"./modules/ethereum/uniswap/domain/UniswapContextLoader";export*from"./modules/multichain/pki/data/HttpPkiCertificateDataSource";export*from"./modules/multichain/pki/data/PkiCertificateDataSource";export*from"./modules/multichain/pki/domain/DefaultPkiCertificateLoader";export*from"./modules/multichain/pki/domain/PkiCertificateLoader";export*from"./modules/multichain/pki/model/KeyId";export*from"./modules/multichain/pki/model/KeyUsage";export*from"./modules/multichain/pki/model/PkiCertificate";export*from"./modules/multichain/pki/model/PkiCertificateInfo";export*from"./modules/multichain/reporter/data/BlindSigningReporterDatasource";export*from"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource";export*from"./modules/multichain/reporter/domain/BlindSigningReporter";export*from"./modules/multichain/reporter/domain/DefaultBlindSigningReporter";export*from"./modules/multichain/reporter/model/BlindSigningEvent";export*from"./modules/multichain/reporter/model/BlindSigningModelId";export*from"./modules/multichain/transaction-check/utils/constants";export*from"./modules/solana/alt-resolution/data/AltResolutionDataSource";export*from"./modules/solana/alt-resolution/data/HttpAltResolutionDataSource";export*from"./modules/solana/alt-resolution/domain/AltResolutionContextLoader";export*from"./modules/solana/enum-variant/domain/EnumVariantContextLoader";export*from"./modules/solana/instruction-info/data/HttpInstructionInfoDataSource";export*from"./modules/solana/instruction-info/data/InstructionInfoDataSource";export*from"./modules/solana/instruction-info/domain/InstructionInfoContextLoader";export*from"./modules/solana/model/SolanaClearSignContext";export*from"./modules/solana/model/SolanaContextTypes";export*from"./modules/solana/model/SolanaTransactionScanChainId";export*from"./modules/solana/owner-info/data/HttpOwnerInfoDataSource";export*from"./modules/solana/owner-info/data/OwnerInfoDataSource";export*from"./modules/solana/owner-info/domain/OwnerInfoContextLoader";export*from"./modules/solana/owner-info/domain/solanaContextTypes";export*from"./modules/solana/token-account-state/data/HttpTokenAccountStateDataSource";export*from"./modules/solana/token-account-state/data/TokenAccountStateDataSource";export*from"./modules/solana/token-account-state/domain/TokenAccountStateContextLoader";export*from"./modules/solana/token-info/data/HttpTokenInfoDataSource";export*from"./modules/solana/token-info/data/TokenInfoDataSource";export*from"./modules/solana/token-info/domain/TokenInfoContextLoader";export*from"./modules/solana/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/solana/trusted-name/data/TrustedNameDataSource";export*from"./modules/solana/trusted-name/domain/TrustedNameContextLoader";export*from"./shared/domain/ContextFieldLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/domain/ContextModuleChainID";export*from"./shared/model/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionSubset";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts"],
4
- "sourcesContent": ["export type {\n ContextModuleCalBranch,\n ContextModuleCalConfig,\n ContextModuleCalMode,\n ContextModuleConfig,\n ContextModuleDatasourceConfig,\n ContextModuleMetadataServiceConfig,\n ContextModuleReporterConfig,\n ContextModuleWeb3ChecksConfig,\n} from \"./config/model/ContextModuleConfig\";\nexport * from \"./ContextModule\";\nexport * from \"./ContextModuleBuilder\";\nexport * from \"./DefaultContextModule\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipError\";\nexport * from \"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader\";\nexport * from \"./modules/ethereum/calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/domain/CalldataContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./modules/ethereum/external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader\";\nexport * from \"./modules/ethereum/model/EthereumClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataContext\";\nexport * from \"./modules/ethereum/nft/data/HttpNftDataSource\";\nexport * from \"./modules/ethereum/nft/data/NftDataSource\";\nexport * from \"./modules/ethereum/nft/domain/NftContextFieldLoader\";\nexport * from \"./modules/ethereum/nft/domain/NftContextLoader\";\nexport * from \"./modules/ethereum/proxy/data/HttpProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/ProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./modules/ethereum/token/data/HttpTokenDataSource\";\nexport * from \"./modules/ethereum/token/data/TokenDataSource\";\nexport * from \"./modules/ethereum/token/domain/TokenContextFieldLoader\";\nexport * from \"./modules/ethereum/token/domain/TokenContextLoader\";\nexport * from \"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./modules/ethereum/typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/data/TypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/utils/getSchemaHash\";\nexport * from \"./modules/ethereum/uniswap/data/AbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/CommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/domain/UniswapContextLoader\";\nexport * from \"./modules/multichain/pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/data/PkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/domain/PkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/model/KeyId\";\nexport * from \"./modules/multichain/pki/model/KeyUsage\";\nexport * from \"./modules/multichain/pki/model/PkiCertificate\";\nexport * from \"./modules/multichain/pki/model/PkiCertificateInfo\";\nexport * from \"./modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/domain/BlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/domain/DefaultBlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/model/BlindSigningEvent\";\nexport * from \"./modules/multichain/reporter/model/BlindSigningModelId\";\nexport * from \"./modules/multichain/transaction-check/utils/constants\";\nexport * from \"./modules/solana/model/SolanaClearSignContext\";\nexport * from \"./modules/solana/model/SolanaContextTypes\";\nexport * from \"./modules/solana/model/SolanaTransactionScanChainId\";\nexport * from \"./modules/solana/owner-info/data/HttpOwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/data/OwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/domain/OwnerInfoContextLoader\";\nexport * from \"./modules/solana/owner-info/domain/solanaContextTypes\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/domain/ContextModuleChainID\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/TransactionSubset\";\n"],
5
- "mappings": "AAUA,WAAc,kBACd,WAAc,yBACd,WAAc,yBACd,WAAc,yEACd,WAAc,oEACd,WAAc,6EACd,WAAc,8EACd,WAAc,gEACd,WAAc,oEACd,WAAc,2DACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,uEACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,kEACd,WAAc,sEACd,WAAc,oEACd,WAAc,6EACd,WAAc,oDACd,WAAc,qDACd,WAAc,4CACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,iDACd,WAAc,oDACd,WAAc,wDACd,WAAc,gDACd,WAAc,0DACd,WAAc,oDACd,WAAc,gDACd,WAAc,0DACd,WAAc,qDACd,WAAc,iEACd,WAAc,6DACd,WAAc,uEACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,qEACd,WAAc,8DACd,WAAc,oDACd,WAAc,uDACd,WAAc,2DACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,6DACd,WAAc,yDACd,WAAc,8DACd,WAAc,uDACd,WAAc,uCACd,WAAc,0CACd,WAAc,gDACd,WAAc,oDACd,WAAc,oEACd,WAAc,wEACd,WAAc,4DACd,WAAc,mEACd,WAAc,wDACd,WAAc,0DACd,WAAc,yDACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,wDACd,WAAc,qCACd,WAAc,gCACd,WAAc,uCACd,WAAc,kCACd,WAAc,6BACd,WAAc",
4
+ "sourcesContent": ["export type {\n ContextModuleCalBranch,\n ContextModuleCalConfig,\n ContextModuleCalMode,\n ContextModuleConfig,\n ContextModuleDatasourceConfig,\n ContextModuleMetadataServiceConfig,\n ContextModuleReporterConfig,\n ContextModuleWeb3ChecksConfig,\n} from \"./config/model/ContextModuleConfig\";\nexport * from \"./ContextModule\";\nexport * from \"./ContextModuleBuilder\";\nexport * from \"./DefaultContextModule\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipError\";\nexport * from \"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader\";\nexport * from \"./modules/ethereum/calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/domain/CalldataContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./modules/ethereum/external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader\";\nexport * from \"./modules/ethereum/model/EthereumClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataContext\";\nexport * from \"./modules/ethereum/nft/data/HttpNftDataSource\";\nexport * from \"./modules/ethereum/nft/data/NftDataSource\";\nexport * from \"./modules/ethereum/nft/domain/NftContextFieldLoader\";\nexport * from \"./modules/ethereum/nft/domain/NftContextLoader\";\nexport * from \"./modules/ethereum/proxy/data/HttpProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/ProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./modules/ethereum/token/data/HttpTokenDataSource\";\nexport * from \"./modules/ethereum/token/data/TokenDataSource\";\nexport * from \"./modules/ethereum/token/domain/TokenContextFieldLoader\";\nexport * from \"./modules/ethereum/token/domain/TokenContextLoader\";\nexport * from \"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./modules/ethereum/typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/data/TypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/utils/getSchemaHash\";\nexport * from \"./modules/ethereum/uniswap/data/AbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/CommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/domain/UniswapContextLoader\";\nexport * from \"./modules/multichain/pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/data/PkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/domain/PkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/model/KeyId\";\nexport * from \"./modules/multichain/pki/model/KeyUsage\";\nexport * from \"./modules/multichain/pki/model/PkiCertificate\";\nexport * from \"./modules/multichain/pki/model/PkiCertificateInfo\";\nexport * from \"./modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/domain/BlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/domain/DefaultBlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/model/BlindSigningEvent\";\nexport * from \"./modules/multichain/reporter/model/BlindSigningModelId\";\nexport * from \"./modules/multichain/transaction-check/utils/constants\";\nexport * from \"./modules/solana/alt-resolution/data/AltResolutionDataSource\";\nexport * from \"./modules/solana/alt-resolution/data/HttpAltResolutionDataSource\";\nexport * from \"./modules/solana/alt-resolution/domain/AltResolutionContextLoader\";\nexport * from \"./modules/solana/enum-variant/domain/EnumVariantContextLoader\";\nexport * from \"./modules/solana/instruction-info/data/HttpInstructionInfoDataSource\";\nexport * from \"./modules/solana/instruction-info/data/InstructionInfoDataSource\";\nexport * from \"./modules/solana/instruction-info/domain/InstructionInfoContextLoader\";\nexport * from \"./modules/solana/model/SolanaClearSignContext\";\nexport * from \"./modules/solana/model/SolanaContextTypes\";\nexport * from \"./modules/solana/model/SolanaTransactionScanChainId\";\nexport * from \"./modules/solana/owner-info/data/HttpOwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/data/OwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/domain/OwnerInfoContextLoader\";\nexport * from \"./modules/solana/owner-info/domain/solanaContextTypes\";\nexport * from \"./modules/solana/token-account-state/data/HttpTokenAccountStateDataSource\";\nexport * from \"./modules/solana/token-account-state/data/TokenAccountStateDataSource\";\nexport * from \"./modules/solana/token-account-state/domain/TokenAccountStateContextLoader\";\nexport * from \"./modules/solana/token-info/data/HttpTokenInfoDataSource\";\nexport * from \"./modules/solana/token-info/data/TokenInfoDataSource\";\nexport * from \"./modules/solana/token-info/domain/TokenInfoContextLoader\";\nexport * from \"./modules/solana/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/solana/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/solana/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/domain/ContextModuleChainID\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/TransactionSubset\";\n"],
5
+ "mappings": "AAUA,WAAc,kBACd,WAAc,yBACd,WAAc,yBACd,WAAc,yEACd,WAAc,oEACd,WAAc,6EACd,WAAc,8EACd,WAAc,gEACd,WAAc,oEACd,WAAc,2DACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,uEACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,kEACd,WAAc,sEACd,WAAc,oEACd,WAAc,6EACd,WAAc,oDACd,WAAc,qDACd,WAAc,4CACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,iDACd,WAAc,oDACd,WAAc,wDACd,WAAc,gDACd,WAAc,0DACd,WAAc,oDACd,WAAc,gDACd,WAAc,0DACd,WAAc,qDACd,WAAc,iEACd,WAAc,6DACd,WAAc,uEACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,qEACd,WAAc,8DACd,WAAc,oDACd,WAAc,uDACd,WAAc,2DACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,6DACd,WAAc,yDACd,WAAc,8DACd,WAAc,uDACd,WAAc,uCACd,WAAc,0CACd,WAAc,gDACd,WAAc,oDACd,WAAc,oEACd,WAAc,wEACd,WAAc,4DACd,WAAc,mEACd,WAAc,wDACd,WAAc,0DACd,WAAc,yDACd,WAAc,+DACd,WAAc,mEACd,WAAc,oEACd,WAAc,gEACd,WAAc,uEACd,WAAc,mEACd,WAAc,wEACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,wDACd,WAAc,4EACd,WAAc,wEACd,WAAc,6EACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,+DACd,WAAc,2DACd,WAAc,gEACd,WAAc,qCACd,WAAc,gCACd,WAAc,uCACd,WAAc,kCACd,WAAc,6BACd,WAAc",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceModelId as r}from"@ledgerhq/device-management-kit";import{Left as i}from"purify-ts";import{HttpCalldataDescriptorDataSource as C}from"./HttpCalldataDescriptorDataSource";const v={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"test",branch:"main"},originToken:"originToken"};describe("HttpCalldataDescriptorDataSource",()=>{let c,t,o,u,s,m,E,f,p,b,y,h,T;const d={loadCertificate:vi.fn()};beforeEach(()=>{t={get:vi.fn()},c=new C(v,d,"dapps",t)}),beforeAll(()=>{vi.clearAllMocks(),o={descriptor:{data:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c",signatures:{test:"3045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f"}}},u={0:{1:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c65",signatures:{test:"3045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582"}},2:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c65",signatures:{test:"3045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523"}}}},f=D("FROM","UFIXED","AMOUNT","06"),p=D("TO","FIXED","DATETIME","07"),b=D("TO","BOOL","UNIT","08"),y=D("VALUE","INT","DURATION","09"),s={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",start:0,end:5,weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20},type:"TOKEN_AMOUNT",token:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",start:0,end:5,weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20}},descriptor:"0001000112416d6f756e7420746f20776974686472617702010203580001000115000100010101020120030a000100010200010401030215000100010105020114030a000100010200000401030420ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05034d6178"},m={param:{value:{type:"path",binary_path:{type:"CONTAINER",value:"TO"},type_family:"STRING",type_size:20},type:"TRUSTED_NAME",types:["eoa"],sources:["ens","unstoppable_domain"]},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020114030a00010001020002040103020101030402030402"},E={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",weight:2},{type:"LEAF",leaf_type:"TUPLE_LEAF"},{type:"SLICE",end:2}]},type_family:"BYTES",type_size:20},collection:{type:"path",binary_path:{type:"DATA",elements:[{type:"REF"},{type:"LEAF",leaf_type:"ARRAY_LEAF"},{type:"SLICE",start:1}]},type_family:"INT",type_size:20},type:"NFT"},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020114"},h={param:{id:0,value:{type:"path",binary_path:{type:"DATA",elements:[]},type_family:"BYTES",type_size:20},type:"ENUM"},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020112"},T={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},callee:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20},selector:{type:"path",binary_path:{type:"CONTAINER",value:"FROM"},type_family:"BYTES",type_size:4},amount:{type:"path",binary_path:{type:"DATA",elements:[{type:"REF"},{type:"LEAF",leaf_type:"TUPLE_LEAF"}]},type_family:"UINT",type_size:32},spender:{type:"path",binary_path:{type:"DATA",elements:[{type:"SLICE",start:0,end:20},{type:"LEAF",leaf_type:"ARRAY_LEAF"}]},type_family:"ADDRESS",type_size:20},type:"CALLDATA"},descriptor:"000100010c43616c6c64617461207465737402010803230001000115000100010105020114"}});function D(e,a,l,A){return{param:{value:{type:"path",binary_path:{type:"CONTAINER",value:e},type_family:a,type_size:32},type:l},descriptor:A}}function n(e,a,l){return{descriptors_calldata:{"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9":{"0x69328dec":{type:"calldata",version:"v1",transaction_info:e,enums:a,fields:l}}}}}it.each([["dapps"],["tokens"]])("should call http.get with the correct url for endpoint '%s'",async e=>{t.get.mockResolvedValue([]),await new C(v,d,e,t).getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"}),expect(t.get).toHaveBeenCalledWith(`${v.cal.url}/${e}`,{params:{output:"descriptors_calldata",chain_id:1,contracts:"0x0abc",contract_address:"0x0abc",ref:`branch:${v.cal.branch}`}})}),it("should return an error when http.get throws an error",async()=>{t.get.mockRejectedValue(new Error("boom")),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const e=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Failed to fetch calldata descriptors: Error: boom")))}),it("should return an error when no payload is returned",async()=>{t.get.mockResolvedValue({test:""}),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const e=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Response is not an array")))}),it("should return an error when an empty array is returned",async()=>{t.get.mockResolvedValue([]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const e=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: No data for contract 0x0abc and selector 0x01ff")))}),it("should return an error when selector is not found",async()=>{const e=n(o,u,[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x01fe"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x01fe")))}),it("Calldata with fields references and enums",async()=>{const e=n(o,u,[s,m,E,h]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9",selector:"0x69328dEc"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582",type:"ethereumEnum",id:0,value:1},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523",type:"ethereumEnum",id:0,value:2},{payload:s.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumToken",valuePath:[{type:"ARRAY",start:0,end:5,itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}]}},{payload:m.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumTrustedName",valuePath:"TO",types:["eoa"],sources:["ens","unstoppable_domain"]}},{payload:E.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumNft",valuePath:[{type:"REF"},{type:"LEAF",leafType:"ARRAY_LEAF"},{type:"SLICE",start:1}]}},{payload:h.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumEnum",valuePath:[],id:0}}])}),it("Calldata with fields references and enums with certificates",async()=>{const e=n(o,u,[s,m,E,h]),a={keyUsageNumber:11,payload:new Uint8Array([1,2,3,4,21,4,5,6,7,8])};t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValueOnce(a);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9",selector:"0x69328dEc"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo",certificate:a},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582",type:"ethereumEnum",id:0,value:1,certificate:a},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523",type:"ethereumEnum",id:0,value:2,certificate:a},{payload:s.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumToken",valuePath:[{type:"ARRAY",start:0,end:5,itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}]}},{payload:m.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumTrustedName",valuePath:"TO",types:["eoa"],sources:["ens","unstoppable_domain"]}},{payload:E.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumNft",valuePath:[{type:"REF"},{type:"LEAF",leafType:"ARRAY_LEAF"},{type:"SLICE",start:1}]}},{payload:h.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumEnum",valuePath:[],id:0}}])}),it("Calldata without fields references",async()=>{const e=n(o,[],[f,p,b,y]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{type:"ethereumTransactionFieldDescription",payload:f.descriptor},{type:"ethereumTransactionFieldDescription",payload:p.descriptor},{type:"ethereumTransactionFieldDescription",payload:b.descriptor},{type:"ethereumTransactionFieldDescription",payload:y.descriptor}])}),it("Calldata on third array element",async()=>{const e=n(o,[],[f,p,b,y]);t.get.mockResolvedValue([{},{},e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{type:"ethereumTransactionFieldDescription",payload:f.descriptor},{type:"ethereumTransactionFieldDescription",payload:p.descriptor},{type:"ethereumTransactionFieldDescription",payload:b.descriptor},{type:"ethereumTransactionFieldDescription",payload:y.descriptor}])}),it("Calldata without fields references and transaction info signature length % 2 different from 0",async()=>{const e={descriptor:{data:o.descriptor.data,signatures:{test:o.descriptor.signatures.test+"0"}}},a=n(e,[],[f,p,b,y]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff4803045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f0",type:"ethereumTransactionInfo"},{type:"ethereumTransactionFieldDescription",payload:f.descriptor},{type:"ethereumTransactionFieldDescription",payload:p.descriptor},{type:"ethereumTransactionFieldDescription",payload:b.descriptor},{type:"ethereumTransactionFieldDescription",payload:y.descriptor}])}),it("Calldata with token fields references as constants",async()=>{const e={name:"Amount to exchange",param:{type:"TOKEN_AMOUNT",token:{raw:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",type:"constant",value:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",version:1,type_size:20,type_family:"ADDRESS"},value:{type:"path",version:1,abi_path:{type:"data",absolute:!0,elements:[{type:"field",identifier:"_stETHAmount"}]},type_size:32,binary_path:{type:"DATA",version:1,elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"UINT"},version:1},version:1,descriptor:"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f0001010101050201140514ae7ab96520de3a18e5e111b5eaab095312d7fe84"},a=n(o,[],[e]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:e.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumToken",value:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"}}])}),it("Calldata with collection fields references as constants",async()=>{const e={name:"Collection ID",param:{type:"NFT",collection:{raw:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",type:"constant",value:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",version:1,type_size:20,type_family:"ADDRESS"},value:{type:"path",version:1,abi_path:{type:"data",absolute:!0,elements:[{type:"field",identifier:"_collectionId"}]},type_size:20,binary_path:{type:"DATA",version:1,elements:[{type:"ARRAY",weight:2},{type:"LEAF",leaf_type:"TUPLE_LEAF"},{type:"SLICE",end:2}]},type_family:"BYTES"},version:1},version:1,descriptor:"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f00010101010502011405147d2768de32b0b80b7a3454c06bdac94a69ddc7a9"},a=n(o,[],[e]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:e.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumNft",value:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9"}}])}),it("Calldata with CALLDATA fields references",async()=>{const e=n(o,[],[T]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:T.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"calldata",valuePath:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],callee:[{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],selector:"FROM",amount:[{type:"REF"},{type:"LEAF",leafType:"TUPLE_LEAF"}],spender:[{type:"SLICE",start:0,end:20},{type:"LEAF",leafType:"ARRAY_LEAF"}]}}])}),it("Calldata with CALLDATA fields references without optional properties",async()=>{const e={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},callee:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},type:"CALLDATA"},descriptor:"000100010c43616c6c64617461207465737402010803230001000115000100010105020114"},a=n(o,[],[e]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:e.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"calldata",valuePath:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],callee:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],selector:void 0,amount:void 0,spender:void 0,chainId:void 0}}])}),it("should return an error when calldata is not correctly formatted",async()=>{const e={descriptors_calldata:{"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9":{"0x69328dec":{type:"calldat",version:"v1",transaction_info:o,enums:u,fields:[s]}}}};t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when transactionInfo is not correctly formatted",async()=>{const e=n({descriptor:{data:"1234",signatures:{prod:"1234"}}},u,[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum is not correctly formatted",async()=>{const e=n(o,["badEnum"],[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum does not contain a signature",async()=>{const e=n(o,{0:{1:{data:"1234"}}},[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum contain the wrong signature",async()=>{const e=n(o,{0:{1:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010106067374626c65",signatures:{prod:"wrongSignature"}}}},[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field is not correctly formatted",async()=>{const e=n(o,[],[{descriptor:3}]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field value is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:"TO",type_family:"UNKNOWN",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field container path is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:"UNKNOWN",type_family:"ADDRESS",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field calldata path is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:{elements:[{type:"UNKNOWN"}]},type_family:"ADDRESS",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field type is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:"TO",type_family:"ADDRESS",type_size:20},type:"UNKNOWN"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))})});
1
+ import{DeviceModelId as r}from"@ledgerhq/device-management-kit";import{Left as i}from"purify-ts";import{HttpCalldataDescriptorDataSource as C}from"./HttpCalldataDescriptorDataSource";const v={cal:{url:"https://global.api.prd.ledger.com/cal/v1",mode:"test",branch:"main"},originToken:"originToken"};describe("HttpCalldataDescriptorDataSource",()=>{let c,t,o,u,s,m,E,f,p,b,y,h,T;const d={loadCertificate:vi.fn()};beforeEach(()=>{t={get:vi.fn()},c=new C(v,d,"dapps",t)}),beforeAll(()=>{vi.clearAllMocks(),o={descriptor:{data:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c",signatures:{test:"3045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f"}}},u={0:{1:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c65",signatures:{test:"3045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582"}},2:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c65",signatures:{test:"3045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523"}}}},f=D("FROM","UFIXED","AMOUNT","06"),p=D("TO","FIXED","DATETIME","07"),b=D("TO","BOOL","UNIT","08"),y=D("VALUE","INT","DURATION","09"),s={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",start:0,end:5,weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20},type:"TOKEN_AMOUNT",token:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",start:0,end:5,weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20}},descriptor:"0001000112416d6f756e7420746f20776974686472617702010203580001000115000100010101020120030a000100010200010401030215000100010105020114030a000100010200000401030420ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05034d6178"},m={param:{value:{type:"path",binary_path:{type:"CONTAINER",value:"TO"},type_family:"STRING",type_size:20},type:"TRUSTED_NAME",types:["eoa"],sources:["ens","unstoppable_domain"]},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020114030a00010001020002040103020101030402030402"},E={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",weight:2},{type:"LEAF",leaf_type:"TUPLE_LEAF"},{type:"SLICE",end:2}]},type_family:"BYTES",type_size:20},collection:{type:"path",binary_path:{type:"DATA",elements:[{type:"REF"},{type:"LEAF",leaf_type:"ARRAY_LEAF"},{type:"SLICE",start:1}]},type_family:"INT",type_size:20},type:"NFT"},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020114"},h={param:{id:0,value:{type:"path",binary_path:{type:"DATA",elements:[]},type_family:"BYTES",type_size:20},type:"ENUM"},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020112"},T={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},callee:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20},selector:{type:"path",binary_path:{type:"CONTAINER",value:"FROM"},type_family:"BYTES",type_size:4},amount:{type:"path",binary_path:{type:"DATA",elements:[{type:"REF"},{type:"LEAF",leaf_type:"TUPLE_LEAF"}]},type_family:"UINT",type_size:32},spender:{type:"path",binary_path:{type:"DATA",elements:[{type:"SLICE",start:0,end:20},{type:"LEAF",leaf_type:"ARRAY_LEAF"}]},type_family:"ADDRESS",type_size:20},type:"CALLDATA"},descriptor:"000100010c43616c6c64617461207465737402010803230001000115000100010105020114"}});function D(e,a,l,A){return{param:{value:{type:"path",binary_path:{type:"CONTAINER",value:e},type_family:a,type_size:32},type:l},descriptor:A}}function n(e,a,l){return{descriptors_calldata:{"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9":{"0x69328dec":{type:"calldata",version:"v1",transaction_info:e,enums:a,fields:l}}}}}it.each([["dapps"],["tokens"]])("should call http.get with the correct url for endpoint '%s'",async e=>{t.get.mockResolvedValue([]),await new C(v,d,e,t).getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"}),expect(t.get).toHaveBeenCalledWith(`${v.cal.url}/${e}`,{params:{output:"descriptors_calldata",chain_id:1,contracts:"0x0abc",contract_address:"0x0abc",ref:`branch:${v.cal.branch}`}})}),it("should return an error when http.get throws an error",async()=>{t.get.mockRejectedValue(new Error("boom")),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const e=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Failed to fetch calldata descriptors: Error: boom")))}),it("should return an error when no payload is returned",async()=>{t.get.mockResolvedValue({test:""}),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const e=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Response is not an array")))}),it("should return an error when an empty array is returned",async()=>{t.get.mockResolvedValue([]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const e=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: No data for contract 0x0abc and selector 0x01ff")))}),it("should return an error when selector is not found",async()=>{const e=n(o,u,[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x01fe"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x01fe")))}),it("Calldata with fields references and enums",async()=>{const e=n(o,u,[s,m,E,h]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9",selector:"0x69328dEc"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582",type:"ethereumEnum",id:0,value:1},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523",type:"ethereumEnum",id:0,value:2},{payload:s.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumToken",valuePath:[{type:"ARRAY",start:0,end:5,itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}]}},{payload:m.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumTrustedName",valuePath:"TO",types:["eoa"],sources:["ens","unstoppable_domain"]}},{payload:E.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumNft",valuePath:[{type:"REF"},{type:"LEAF",leafType:"ARRAY_LEAF"},{type:"SLICE",start:1}]}},{payload:h.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumEnum",valuePath:[],id:0}}])}),it("Calldata with fields references and enums with certificates",async()=>{const e=n(o,u,[s,m,E,h]),a={keyUsageNumber:11,payload:new Uint8Array([1,2,3,4,21,4,5,6,7,8])};t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValueOnce(a);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9",selector:"0x69328dEc"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo",certificate:a},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582",type:"ethereumEnum",id:0,value:1,certificate:a},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523",type:"ethereumEnum",id:0,value:2,certificate:a},{payload:s.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumToken",valuePath:[{type:"ARRAY",start:0,end:5,itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}]}},{payload:m.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumTrustedName",valuePath:"TO",types:["eoa"],sources:["ens","unstoppable_domain"]}},{payload:E.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumNft",valuePath:[{type:"REF"},{type:"LEAF",leafType:"ARRAY_LEAF"},{type:"SLICE",start:1}]}},{payload:h.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumEnum",valuePath:[],id:0}}])}),it("Calldata without fields references",async()=>{const e=n(o,[],[f,p,b,y]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{type:"ethereumTransactionFieldDescription",payload:f.descriptor},{type:"ethereumTransactionFieldDescription",payload:p.descriptor},{type:"ethereumTransactionFieldDescription",payload:b.descriptor},{type:"ethereumTransactionFieldDescription",payload:y.descriptor}])}),it("Calldata on third array element",async()=>{const e=n(o,[],[f,p,b,y]);t.get.mockResolvedValue([{},{},e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{type:"ethereumTransactionFieldDescription",payload:f.descriptor},{type:"ethereumTransactionFieldDescription",payload:p.descriptor},{type:"ethereumTransactionFieldDescription",payload:b.descriptor},{type:"ethereumTransactionFieldDescription",payload:y.descriptor}])}),it("Calldata without fields references and transaction info signature length % 2 different from 0",async()=>{const e={descriptor:{data:o.descriptor.data,signatures:{test:o.descriptor.signatures.test+"0"}}},a=n(e,[],[f,p,b,y]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff4803045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f0",type:"ethereumTransactionInfo"},{type:"ethereumTransactionFieldDescription",payload:f.descriptor},{type:"ethereumTransactionFieldDescription",payload:p.descriptor},{type:"ethereumTransactionFieldDescription",payload:b.descriptor},{type:"ethereumTransactionFieldDescription",payload:y.descriptor}])}),it("Calldata with token fields references as constants",async()=>{const e={name:"Amount to exchange",param:{type:"TOKEN_AMOUNT",token:{raw:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",type:"constant",value:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",version:1,type_size:20,type_family:"ADDRESS"},value:{type:"path",version:1,abi_path:{type:"data",absolute:!0,elements:[{type:"field",identifier:"_stETHAmount"}]},type_size:32,binary_path:{type:"DATA",version:1,elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"UINT"},version:1},version:1,descriptor:"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f0001010101050201140514ae7ab96520de3a18e5e111b5eaab095312d7fe84"},a=n(o,[],[e]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:e.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumToken",value:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"}}])}),it("Calldata with collection fields references as constants",async()=>{const e={name:"Collection ID",param:{type:"NFT",collection:{raw:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",type:"constant",value:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",version:1,type_size:20,type_family:"ADDRESS"},value:{type:"path",version:1,abi_path:{type:"data",absolute:!0,elements:[{type:"field",identifier:"_collectionId"}]},type_size:20,binary_path:{type:"DATA",version:1,elements:[{type:"ARRAY",weight:2},{type:"LEAF",leaf_type:"TUPLE_LEAF"},{type:"SLICE",end:2}]},type_family:"BYTES"},version:1},version:1,descriptor:"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f00010101010502011405147d2768de32b0b80b7a3454c06bdac94a69ddc7a9"},a=n(o,[],[e]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:e.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"ethereumNft",value:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9"}}])}),it("Calldata with CALLDATA fields references",async()=>{const e=n(o,[],[T]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:T.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"calldata",valuePath:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],callee:[{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],selector:"FROM",amount:[{type:"REF"},{type:"LEAF",leafType:"TUPLE_LEAF"}],spender:[{type:"SLICE",start:0,end:20},{type:"LEAF",leafType:"ARRAY_LEAF"}]}}])}),it("Calldata with CALLDATA fields references without optional properties",async()=>{const e={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},callee:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},type:"CALLDATA"},descriptor:"000100010c43616c6c64617461207465737402010803230001000115000100010105020114"},a=n(o,[],[e]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"ethereumTransactionInfo"},{payload:e.descriptor,type:"ethereumTransactionFieldDescription",reference:{type:"calldata",valuePath:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],callee:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],selector:void 0,amount:void 0,spender:void 0,chainId:void 0}}])}),it("should return an error when calldata is not correctly formatted",async()=>{const e={descriptors_calldata:{"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9":{"0x69328dec":{type:"calldat",version:"v1",transaction_info:o,enums:u,fields:[s]}}}};t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when transactionInfo is not correctly formatted",async()=>{const e=n({descriptor:{data:"1234",signatures:{prod:"1234"}}},u,[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum is not correctly formatted",async()=>{const e=n(o,["badEnum"],[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum does not contain a signature",async()=>{const e=n(o,{0:{1:{data:"1234"}}},[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum contain the wrong signature",async()=>{const e=n(o,{0:{1:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010106067374626c65",signatures:{prod:"wrongSignature"}}}},[s]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field is not correctly formatted",async()=>{const e=n(o,[],[{descriptor:3}]);t.get.mockResolvedValue([e]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const a=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(a).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field value is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:"TO",type_family:"UNKNOWN",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field container path is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:"UNKNOWN",type_family:"ADDRESS",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field calldata path is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:{elements:[{type:"UNKNOWN"}]},type_family:"ADDRESS",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field type is not correctly formatted",async()=>{const a=n(o,[],[{param:{value:{binary_path:"TO",type_family:"ADDRESS",type_size:20},type:"UNKNOWN"},descriptor:"000100010c546f20726563697069667"}]);t.get.mockResolvedValue([a]),vi.spyOn(d,"loadCertificate").mockResolvedValue(void 0);const l=await c.getCalldataDescriptors({deviceModelId:r.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(l).toEqual(i(new Error("[ContextModule] HttpCalldataDescriptorDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))})});
2
2
  //# sourceMappingURL=HttpCalldataDescriptorDataSource.test.js.map