@ledgerhq/context-module 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-test-ble-20251112111541

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 (839) hide show
  1. package/README.md +17 -5
  2. package/lib/cjs/package.json +12 -12
  3. package/lib/cjs/src/ContextModule.js +1 -1
  4. package/lib/cjs/src/ContextModule.js.map +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  6. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  7. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  8. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  9. package/lib/cjs/src/DefaultContextModule.js +1 -1
  10. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  11. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  12. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  13. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  14. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  15. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  18. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  19. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  20. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  21. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  22. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  23. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  24. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  25. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  28. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  29. package/lib/cjs/src/config/di/configModuleFactory.js +1 -1
  30. package/lib/cjs/src/config/di/configModuleFactory.js.map +3 -3
  31. package/lib/cjs/src/config/di/configTypes.js +1 -1
  32. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  33. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +2 -0
  34. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  35. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  36. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  37. package/lib/cjs/src/di.js +1 -1
  38. package/lib/cjs/src/di.js.map +3 -3
  39. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js +2 -0
  40. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  41. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  42. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  43. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  44. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  45. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +2 -0
  46. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  47. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  48. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  49. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  50. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  51. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  52. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  53. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  54. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  55. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js +2 -0
  56. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  57. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  58. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  59. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  60. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  61. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  62. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  63. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  64. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  65. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  66. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  67. package/lib/cjs/src/index.js +1 -1
  68. package/lib/cjs/src/index.js.map +2 -2
  69. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  70. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  71. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  72. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  73. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  74. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  75. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  76. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  77. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  78. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  79. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  80. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  81. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  82. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  83. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  84. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  85. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +1 -1
  86. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +3 -3
  87. package/lib/cjs/src/pki/di/pkiModuleFactory.js +1 -1
  88. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +3 -3
  89. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +2 -2
  90. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +1 -1
  91. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +3 -3
  92. package/lib/cjs/src/pki/model/KeyUsage.js +1 -1
  93. package/lib/cjs/src/pki/model/KeyUsage.js.map +2 -2
  94. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +1 -1
  95. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +1 -1
  96. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  97. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  98. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  99. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  100. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  101. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  102. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  103. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  104. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  105. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  106. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js +2 -0
  107. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  108. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js +2 -0
  109. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  110. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  111. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  112. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  113. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  114. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  115. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  116. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  117. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  118. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  119. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  120. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  121. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  122. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  123. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  124. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  125. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  126. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  127. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  128. package/lib/cjs/src/safe/data/SafeAccountDataSource.js +2 -0
  129. package/lib/cjs/src/safe/data/SafeAccountDataSource.js.map +7 -0
  130. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js +2 -0
  131. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  132. package/lib/cjs/src/safe/di/safeModuleFactory.js +2 -0
  133. package/lib/cjs/src/safe/di/safeModuleFactory.js.map +7 -0
  134. package/lib/cjs/src/safe/di/safeModuleFactory.test.js +2 -0
  135. package/lib/cjs/src/safe/di/safeModuleFactory.test.js.map +7 -0
  136. package/lib/cjs/src/safe/di/safeTypes.js +2 -0
  137. package/lib/cjs/src/safe/di/safeTypes.js.map +7 -0
  138. package/lib/cjs/src/safe/domain/SafeAddressLoader.js +2 -0
  139. package/lib/cjs/src/safe/domain/SafeAddressLoader.js.map +7 -0
  140. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js +2 -0
  141. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  142. package/lib/cjs/src/shared/constant/HttpHeaders.js +2 -0
  143. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +7 -0
  144. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  145. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  146. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  147. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  148. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  149. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  150. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +2 -0
  151. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +7 -0
  152. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  153. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  154. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  155. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  156. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  157. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  158. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +1 -1
  159. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +2 -2
  160. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +1 -1
  161. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  162. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  163. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  164. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  165. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  166. package/lib/cjs/src/solana/data/SolanaDataSource.js +2 -0
  167. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +7 -0
  168. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js +2 -0
  169. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  170. package/lib/cjs/src/solana/di/solanaContextTypes.js +2 -0
  171. package/lib/cjs/src/solana/di/solanaContextTypes.js.map +7 -0
  172. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  173. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  174. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  175. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  176. package/lib/cjs/src/solana/domain/SolanaContextLoader.js +2 -0
  177. package/lib/cjs/src/solana/domain/SolanaContextLoader.js.map +7 -0
  178. package/lib/cjs/src/solana/domain/solanaContextTypes.js +2 -0
  179. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +7 -0
  180. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  181. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
  182. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  183. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  184. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  185. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  186. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  187. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  188. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  189. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  190. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  191. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  192. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  193. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  194. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  195. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  196. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  197. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  198. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  199. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  200. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  201. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  202. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  203. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  204. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js +2 -0
  205. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  206. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js +2 -0
  207. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  208. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js +2 -0
  209. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  210. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js +2 -0
  211. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  212. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  213. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  214. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js +2 -0
  215. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  216. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  217. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  218. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  219. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  220. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  221. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  222. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  223. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  224. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  225. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  226. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  227. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  228. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  229. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  230. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  231. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  232. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  233. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  234. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  235. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  236. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  237. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  238. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  239. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  240. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  241. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  242. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  243. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  244. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  245. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  246. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  247. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  248. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  249. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  250. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  251. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  252. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +1 -1
  253. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  254. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  255. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  256. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  257. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  258. package/lib/cjs/src/uniswap/constants/uniswap.js +1 -1
  259. package/lib/cjs/src/uniswap/constants/uniswap.js.map +3 -3
  260. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +1 -1
  261. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +3 -3
  262. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +1 -1
  263. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  264. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  265. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  266. package/lib/esm/package.json +12 -12
  267. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  268. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  269. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  270. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  271. package/lib/esm/src/DefaultContextModule.js +1 -1
  272. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  273. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  274. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  275. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  276. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  277. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  278. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  279. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  280. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  281. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  282. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  283. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  284. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  285. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  286. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  287. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  288. package/lib/esm/src/config/di/configModuleFactory.js +1 -1
  289. package/lib/esm/src/config/di/configModuleFactory.js.map +3 -3
  290. package/lib/esm/src/config/di/configTypes.js +1 -1
  291. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  292. package/lib/esm/src/config/model/ContextModuleBuildArgs.js +1 -0
  293. package/lib/esm/src/di.js +1 -1
  294. package/lib/esm/src/di.js.map +3 -3
  295. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js +1 -0
  296. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  297. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  298. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  299. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  300. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +1 -0
  301. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  302. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  303. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  304. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  305. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  306. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  307. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  308. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  309. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js +1 -0
  310. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  311. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  312. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  313. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  314. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  315. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  316. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  317. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  318. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  319. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  320. package/lib/esm/src/index.js +1 -1
  321. package/lib/esm/src/index.js.map +2 -2
  322. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  323. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  324. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  325. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  326. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  327. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  328. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  329. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  330. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  331. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  332. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  333. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  334. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  335. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  336. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  337. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  338. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +1 -1
  339. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +3 -3
  340. package/lib/esm/src/pki/di/pkiModuleFactory.js +1 -1
  341. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +3 -3
  342. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +2 -2
  343. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +1 -1
  344. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +3 -3
  345. package/lib/esm/src/pki/model/KeyUsage.js +1 -1
  346. package/lib/esm/src/pki/model/KeyUsage.js.map +2 -2
  347. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  348. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  349. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  350. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  351. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  352. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  353. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  354. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  355. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  356. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js +1 -0
  357. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  358. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js +1 -0
  359. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  360. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  361. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  362. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  363. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  364. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  365. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  366. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  367. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  368. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  369. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  370. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  371. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  372. package/lib/esm/src/proxy/model/ProxyDelegateCall.js +1 -0
  373. package/lib/esm/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  374. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  375. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  376. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  377. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  378. package/lib/esm/src/safe/data/SafeAccountDataSource.js +1 -0
  379. package/lib/esm/src/safe/data/SafeAccountDataSource.js.map +7 -0
  380. package/lib/esm/src/safe/data/dto/SafeAccountDto.js +1 -0
  381. package/lib/esm/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  382. package/lib/esm/src/safe/di/safeModuleFactory.js +2 -0
  383. package/lib/esm/src/safe/di/safeModuleFactory.js.map +7 -0
  384. package/lib/esm/src/safe/di/safeModuleFactory.test.js +2 -0
  385. package/lib/esm/src/safe/di/safeModuleFactory.test.js.map +7 -0
  386. package/lib/esm/src/safe/di/safeTypes.js +2 -0
  387. package/lib/esm/src/safe/di/safeTypes.js.map +7 -0
  388. package/lib/esm/src/safe/domain/SafeAddressLoader.js +2 -0
  389. package/lib/esm/src/safe/domain/SafeAddressLoader.js.map +7 -0
  390. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js +2 -0
  391. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  392. package/lib/esm/src/shared/constant/HttpHeaders.js +2 -0
  393. package/lib/esm/src/shared/constant/HttpHeaders.js.map +7 -0
  394. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  395. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  396. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  397. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  398. package/lib/esm/src/shared/model/SolanaTransactionContext.js +1 -0
  399. package/lib/esm/src/shared/model/SolanaTransactionContext.js.map +7 -0
  400. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  401. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  402. package/lib/esm/src/shared/utils/KeyUsageMapper.js +1 -1
  403. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +2 -2
  404. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +1 -1
  405. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  406. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  407. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  408. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  409. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  410. package/lib/esm/src/solana/data/SolanaDataSource.js +1 -0
  411. package/lib/esm/src/solana/data/SolanaDataSource.js.map +7 -0
  412. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js +2 -0
  413. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  414. package/lib/esm/src/solana/di/solanaContextTypes.js +2 -0
  415. package/lib/esm/src/solana/di/solanaContextTypes.js.map +7 -0
  416. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  417. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  418. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  419. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  420. package/lib/esm/src/solana/domain/SolanaContextLoader.js +1 -0
  421. package/lib/esm/src/solana/domain/SolanaContextLoader.js.map +7 -0
  422. package/lib/esm/src/solana/domain/solanaContextTypes.js +1 -0
  423. package/lib/esm/src/solana/domain/solanaContextTypes.js.map +7 -0
  424. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  425. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
  426. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  427. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  428. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  429. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  430. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  431. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  432. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  433. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  434. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  435. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  436. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  437. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  438. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  439. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  440. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  441. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  442. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  443. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  444. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  445. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  446. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  447. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  448. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js +1 -0
  449. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  450. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js +1 -0
  451. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  452. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js +1 -0
  453. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  454. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js +1 -0
  455. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  456. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  457. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  458. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js +2 -0
  459. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  460. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  461. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  462. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  463. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  464. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  465. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  466. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  467. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  468. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  469. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  470. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  471. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  472. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  473. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  474. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  475. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  476. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  477. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  478. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  479. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  480. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  481. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  482. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  483. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  484. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  485. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  486. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  487. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  488. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +1 -1
  489. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  490. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  491. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  492. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  493. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  494. package/lib/esm/src/uniswap/constants/uniswap.js +1 -1
  495. package/lib/esm/src/uniswap/constants/uniswap.js.map +3 -3
  496. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +1 -1
  497. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +3 -3
  498. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +1 -1
  499. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  500. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  501. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  502. package/lib/types/src/ContextModule.d.ts +6 -6
  503. package/lib/types/src/ContextModule.d.ts.map +1 -1
  504. package/lib/types/src/ContextModuleBuilder.d.ts +24 -8
  505. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  506. package/lib/types/src/DefaultContextModule.d.ts +10 -8
  507. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  508. package/lib/types/src/{transaction/data/TransactionDataSource.d.ts → calldata/data/CalldataDescriptorDataSource.d.ts} +4 -4
  509. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  510. package/lib/types/src/{transaction/data/HttpTransactionDataSource.d.ts → calldata/data/HttpCalldataDescriptorDataSource.d.ts} +6 -5
  511. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  512. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  513. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  514. package/lib/types/src/{transaction/data → calldata/data/dto}/CalldataDto.d.ts +10 -1
  515. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  516. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  517. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  518. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  519. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  520. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  521. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  522. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  523. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  524. package/lib/types/src/config/di/configModuleFactory.d.ts.map +1 -1
  525. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  526. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  527. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +4 -0
  528. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -0
  529. package/lib/types/src/config/model/ContextModuleConfig.d.ts +14 -2
  530. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  531. package/lib/types/src/di.d.ts.map +1 -1
  532. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts +6 -0
  533. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts.map +1 -0
  534. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +13 -0
  535. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -0
  536. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts +2 -0
  537. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts.map +1 -0
  538. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts +14 -0
  539. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts.map +1 -0
  540. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts +3 -0
  541. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts.map +1 -0
  542. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts +5 -0
  543. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts.map +1 -0
  544. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +19 -0
  545. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -0
  546. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts +2 -0
  547. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts.map +1 -0
  548. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts +16 -0
  549. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts.map +1 -0
  550. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  551. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +20 -5
  552. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  553. package/lib/types/src/index.d.ts +39 -3
  554. package/lib/types/src/index.d.ts.map +1 -1
  555. package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -0
  556. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  557. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  558. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  559. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  560. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  561. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  562. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  563. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  564. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  565. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  566. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -1
  567. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -1
  568. package/lib/types/src/pki/model/KeyUsage.d.ts +2 -1
  569. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -1
  570. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +1 -2
  571. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -1
  572. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  573. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  574. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts +2 -0
  575. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  576. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  577. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  578. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  579. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  580. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  581. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  582. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts +5 -0
  583. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  584. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts +6 -0
  585. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  586. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  587. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  588. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  589. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  590. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  591. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  592. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  593. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  594. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  595. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  596. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  597. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  598. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  599. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  600. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +11 -0
  601. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -0
  602. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts +2 -0
  603. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts.map +1 -0
  604. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts +20 -0
  605. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts.map +1 -0
  606. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts +10 -0
  607. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts.map +1 -0
  608. package/lib/types/src/safe/di/safeModuleFactory.d.ts +3 -0
  609. package/lib/types/src/safe/di/safeModuleFactory.d.ts.map +1 -0
  610. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts +2 -0
  611. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts.map +1 -0
  612. package/lib/types/src/safe/di/safeTypes.d.ts +5 -0
  613. package/lib/types/src/safe/di/safeTypes.d.ts.map +1 -0
  614. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts +19 -0
  615. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts.map +1 -0
  616. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts +2 -0
  617. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts.map +1 -0
  618. package/lib/types/src/shared/constant/HttpHeaders.d.ts +3 -0
  619. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -0
  620. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +15 -0
  621. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  622. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  623. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  624. package/lib/types/src/shared/model/ClearSignContext.d.ts +33 -10
  625. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  626. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +11 -0
  627. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -0
  628. package/lib/types/src/shared/model/TransactionSubset.d.ts +3 -2
  629. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  630. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +33 -1
  631. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  632. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  633. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  634. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +1 -2
  635. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -1
  636. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +13 -0
  637. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -0
  638. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts +2 -0
  639. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts.map +1 -0
  640. package/lib/types/src/solana/data/SolanaDataSource.d.ts +12 -0
  641. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -0
  642. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts +3 -0
  643. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts.map +1 -0
  644. package/lib/types/src/solana/di/solanaContextTypes.d.ts +5 -0
  645. package/lib/types/src/solana/di/solanaContextTypes.d.ts.map +1 -0
  646. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +11 -0
  647. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -0
  648. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts +2 -0
  649. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts.map +1 -0
  650. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts +5 -0
  651. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts.map +1 -0
  652. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +27 -0
  653. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -0
  654. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  655. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  656. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  657. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  658. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  659. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  660. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  661. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  662. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  663. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  664. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +10 -0
  665. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -0
  666. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts +2 -0
  667. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts.map +1 -0
  668. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +10 -0
  669. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -0
  670. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts +2 -0
  671. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts.map +1 -0
  672. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts +14 -0
  673. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts.map +1 -0
  674. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts +28 -0
  675. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts.map +1 -0
  676. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts +5 -0
  677. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts.map +1 -0
  678. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts +5 -0
  679. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts.map +1 -0
  680. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts +3 -0
  681. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts.map +1 -0
  682. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts +7 -0
  683. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts.map +1 -0
  684. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +19 -0
  685. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -0
  686. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts +2 -0
  687. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts.map +1 -0
  688. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +18 -0
  689. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -0
  690. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts +2 -0
  691. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts.map +1 -0
  692. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  693. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  694. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +7 -2
  695. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  696. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  697. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  698. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  699. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  700. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  701. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  702. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  703. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  704. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  705. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  706. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  707. package/lib/types/src/typed-data/data/FiltersDto.d.ts +32 -2
  708. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  709. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +3 -0
  710. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  711. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  712. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  713. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  714. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  715. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  716. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  717. package/lib/types/src/uniswap/constants/uniswap.d.ts +0 -1
  718. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -1
  719. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +10 -11
  720. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -1
  721. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  722. package/package.json +15 -15
  723. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  724. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  725. package/lib/cjs/src/transaction/data/CalldataDto.js +0 -2
  726. package/lib/cjs/src/transaction/data/CalldataDto.js.map +0 -7
  727. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  728. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  729. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  730. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  731. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  732. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  733. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  734. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  735. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  736. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  737. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  738. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  739. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  740. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  741. package/lib/cjs/src/uniswap/constants/plugin.js +0 -2
  742. package/lib/cjs/src/uniswap/constants/plugin.js.map +0 -7
  743. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  744. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  745. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  746. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  747. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js +0 -2
  748. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js.map +0 -7
  749. package/lib/cjs/src/web3-check/data/Web3CheckDto.js +0 -2
  750. package/lib/cjs/src/web3-check/data/Web3CheckDto.js.map +0 -7
  751. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  752. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  753. package/lib/cjs/src/web3-check/di/web3CheckTypes.js +0 -2
  754. package/lib/cjs/src/web3-check/di/web3CheckTypes.js.map +0 -7
  755. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  756. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  757. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  758. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  759. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js +0 -2
  760. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js.map +0 -7
  761. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js +0 -2
  762. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js.map +0 -7
  763. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  764. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  765. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  766. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  767. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  768. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  769. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  770. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  771. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  772. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  773. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  774. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  775. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  776. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  777. package/lib/esm/src/uniswap/constants/plugin.js +0 -2
  778. package/lib/esm/src/uniswap/constants/plugin.js.map +0 -7
  779. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  780. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  781. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  782. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  783. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js +0 -1
  784. package/lib/esm/src/web3-check/data/Web3CheckDto.js +0 -1
  785. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  786. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  787. package/lib/esm/src/web3-check/di/web3CheckTypes.js +0 -2
  788. package/lib/esm/src/web3-check/di/web3CheckTypes.js.map +0 -7
  789. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  790. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  791. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  792. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  793. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js +0 -1
  794. package/lib/esm/src/web3-check/domain/web3CheckTypes.js +0 -1
  795. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -21
  796. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  797. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +0 -1
  798. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  799. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  800. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  801. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  802. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  803. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  804. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
  805. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  806. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -10
  807. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  808. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  809. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  810. package/lib/types/src/uniswap/constants/plugin.d.ts +0 -3
  811. package/lib/types/src/uniswap/constants/plugin.d.ts.map +0 -1
  812. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts +0 -14
  813. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts.map +0 -1
  814. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts +0 -2
  815. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts.map +0 -1
  816. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts +0 -6
  817. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts.map +0 -1
  818. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts +0 -20
  819. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts.map +0 -1
  820. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts +0 -3
  821. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts.map +0 -1
  822. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts +0 -5
  823. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts.map +0 -1
  824. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts +0 -10
  825. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts.map +0 -1
  826. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts +0 -2
  827. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts.map +0 -1
  828. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts +0 -6
  829. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts.map +0 -1
  830. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts +0 -35
  831. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts.map +0 -1
  832. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  833. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js +0 -0
  834. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js.map +0 -0
  835. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → config/model/ContextModuleBuildArgs.js.map} +0 -0
  836. /package/lib/esm/src/{web3-check/data/Web3CheckDataSource.js.map → dynamic-network/data/DynamicNetworkDataSource.js.map} +0 -0
  837. /package/lib/esm/src/{web3-check/data/Web3CheckDto.js.map → dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map} +0 -0
  838. /package/lib/esm/src/{web3-check/domain/Web3CheckContextLoader.js.map → dynamic-network/model/DynamicNetworkConfiguration.js.map} +0 -0
  839. /package/lib/esm/src/{web3-check/domain/web3CheckTypes.js.map → proxy/data/ProxyDataSource.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ var m=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var s=(i,r,o,e)=>{for(var t=e>1?void 0:e?u(r,o):r,n=i.length-1,c;n>=0;n--)(c=i[n])&&(t=(e?c(r,o,t):c(t))||t);return e&&t&&m(r,o,t),t},p=(i,r)=>(o,e)=>r(o,e,i);import f from"axios";import{inject as C,injectable as k}from"inversify";import{Left as h,Right as d}from"purify-ts";import{configTypes as E}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as _,LEDGER_ORIGIN_TOKEN_HEADER as T}from"../../shared/constant/HttpHeaders";import y from"../../../package.json";let a=class{constructor(r){this.config=r}async getTransactionCheck({chainId:r,rawTx:o,from:e}){let t;const n={tx:{from:e,raw:o},chain:r};try{t=(await f.request({method:"POST",url:`${this.config.web3checks.url}/ethereum/scan/tx`,data:n,headers:{[_]:`context-module/${y.version}`,[T]:this.config.originToken}})).data}catch{return h(new Error("[ContextModule] HttpTransactionCheckDataSource: Failed to fetch web3 checks information"))}if(!this._isTransactionCheckDto(t))return h(new Error("[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received"));const c={publicKeyId:t.public_key_id,descriptor:t.descriptor};return d(c)}_isTransactionCheckDto(r){return r!=null&&typeof r=="object"&&"public_key_id"in r&&r.public_key_id!=null&&typeof r.public_key_id=="string"&&"descriptor"in r&&r.descriptor!=null&&typeof r.descriptor=="string"}};a=s([k(),p(0,C(E.Config))],a);export{a as HttpTransactionCheckDataSource};
2
+ //# sourceMappingURL=HttpTransactionCheckDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/data/HttpTransactionCheckDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { TransactionCheckDto } from \"./dto/TransactionCheckDto\";\nimport {\n GetTransactionCheckParams,\n TransactionCheck,\n} from \"./TransactionCheckDataSource\";\n\n@injectable()\nexport class HttpTransactionCheckDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getTransactionCheck({\n chainId,\n rawTx,\n from,\n }: GetTransactionCheckParams): Promise<Either<Error, TransactionCheck>> {\n let transactionCheckDto: TransactionCheckDto;\n const requestDto = {\n tx: {\n from,\n raw: rawTx,\n },\n chain: chainId,\n };\n\n try {\n const response = await axios.request<TransactionCheckDto>({\n method: \"POST\",\n url: `${this.config.web3checks.url}/ethereum/scan/tx`,\n data: requestDto,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n transactionCheckDto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTransactionCheckDataSource: Failed to fetch web3 checks information\",\n ),\n );\n }\n\n if (!this._isTransactionCheckDto(transactionCheckDto)) {\n return Left(\n new Error(\n \"[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received\",\n ),\n );\n }\n const result: TransactionCheck = {\n publicKeyId: transactionCheckDto.public_key_id,\n descriptor: transactionCheckDto.descriptor,\n };\n\n return Right(result);\n }\n\n private _isTransactionCheckDto(dto: unknown): dto is TransactionCheckDto {\n return (\n dto != null &&\n typeof dto == \"object\" &&\n \"public_key_id\" in dto &&\n dto.public_key_id != null &&\n typeof dto.public_key_id == \"string\" &&\n \"descriptor\" in dto &&\n dto.descriptor != null &&\n typeof dto.descriptor == \"string\"\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAE5B,OACE,gCAAAC,EACA,8BAAAC,MACK,gCACP,OAAOC,MAAa,qBASb,IAAMC,EAAN,KAAqC,CAC1C,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAa,oBAAoB,CAC/B,QAAAC,EACA,MAAAC,EACA,KAAAC,CACF,EAAwE,CACtE,IAAIC,EACJ,MAAMC,EAAa,CACjB,GAAI,CACF,KAAAF,EACA,IAAKD,CACP,EACA,MAAOD,CACT,EAEA,GAAI,CAUFG,GATiB,MAAME,EAAM,QAA6B,CACxD,OAAQ,OACR,IAAK,GAAG,KAAK,OAAO,WAAW,GAAG,oBAClC,KAAMD,EACN,QAAS,CACP,CAACE,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,GAC8B,IACjC,MAAiB,CACf,OAAOC,EACL,IAAI,MACF,yFACF,CACF,CACF,CAEA,GAAI,CAAC,KAAK,uBAAuBN,CAAmB,EAClD,OAAOM,EACL,IAAI,MACF,gGACF,CACF,EAEF,MAAMC,EAA2B,CAC/B,YAAaP,EAAoB,cACjC,WAAYA,EAAoB,UAClC,EAEA,OAAOQ,EAAMD,CAAM,CACrB,CAEQ,uBAAuBE,EAA0C,CACvE,OACEA,GAAO,MACP,OAAOA,GAAO,UACd,kBAAmBA,GACnBA,EAAI,eAAiB,MACrB,OAAOA,EAAI,eAAiB,UAC5B,eAAgBA,GAChBA,EAAI,YAAc,MAClB,OAAOA,EAAI,YAAc,QAE7B,CACF,EAjEad,EAANe,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBnB",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpTransactionCheckDataSource", "config", "chainId", "rawTx", "from", "transactionCheckDto", "requestDto", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "Left", "result", "Right", "dto", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import a from"axios";import{Left as s,Right as i}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as d,LEDGER_ORIGIN_TOKEN_HEADER as u}from"../../shared/constant/HttpHeaders";import{HttpTransactionCheckDataSource as c}from"../../transaction-check/data/HttpTransactionCheckDataSource";import h from"../../../package.json";vi.mock("axios");describe("HttpTransactionCheckDataSource",()=>{const o={web3checks:{url:"web3checksUrl"},originToken:"originToken"};beforeEach(()=>{vi.resetAllMocks()}),describe("getTransactionCheck",()=>{it("should return an object if the request is successful",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1},t={public_key_id:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(a,"request").mockResolvedValueOnce({data:t});const r=await new c(o).getTransactionCheck(e);expect(r).toEqual(i({publicKeyId:"test-key-id",descriptor:"test-descriptor"}))}),it("should return an error if the request fails",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1};vi.spyOn(a,"request").mockRejectedValue(new Error("error"));const n=await new c(o).getTransactionCheck(e);expect(n).toEqual(s(new Error("[ContextModule] HttpTransactionCheckDataSource: Failed to fetch web3 checks information")))}),it("should return an error if the response is invalid",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1},t={};vi.spyOn(a,"request").mockResolvedValue({data:t});const r=await new c(o).getTransactionCheck(e);expect(r).toEqual(s(new Error("[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received")))}),it("should return an error if public_key_id is missing",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1},t={descriptor:"test-descriptor"};vi.spyOn(a,"request").mockResolvedValue({data:t});const r=await new c(o).getTransactionCheck(e);expect(r).toEqual(s(new Error("[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received")))}),it("should return an error if descriptor is missing",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1},t={public_key_id:"test-key-id"};vi.spyOn(a,"request").mockResolvedValue({data:t});const r=await new c(o).getTransactionCheck(e);expect(r).toEqual(s(new Error("[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received")))}),it("should call axios with the correct headers",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1};vi.spyOn(a,"request").mockResolvedValueOnce({data:{}}),await new c(o).getTransactionCheck(e),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({headers:{[d]:`context-module/${h.version}`,[u]:o.originToken}}))}),it("should call axios with the correct URL and method",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1};vi.spyOn(a,"request").mockResolvedValueOnce({data:{}}),await new c(o).getTransactionCheck(e),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({method:"POST",url:`${o.web3checks.url}/ethereum/scan/tx`}))}),it("should call axios with the correct request data",async()=>{const e={from:"0x1234567890123456789012345678901234567890",rawTx:"0xabcdef",chainId:1};vi.spyOn(a,"request").mockResolvedValueOnce({data:{}}),await new c(o).getTransactionCheck(e),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({data:{tx:{from:"0x1234567890123456789012345678901234567890",raw:"0xabcdef"},chain:1}}))})})});
2
+ //# sourceMappingURL=HttpTransactionCheckDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/data/HttpTransactionCheckDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport { type TransactionCheckDto } from \"@/transaction-check/data/dto/TransactionCheckDto\";\nimport { HttpTransactionCheckDataSource } from \"@/transaction-check/data/HttpTransactionCheckDataSource\";\nimport { type GetTransactionCheckParams } from \"@/transaction-check/data/TransactionCheckDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\ndescribe(\"HttpTransactionCheckDataSource\", () => {\n const config = {\n web3checks: {\n url: \"web3checksUrl\",\n },\n originToken: \"originToken\",\n } as ContextModuleConfig;\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"getTransactionCheck\", () => {\n it(\"should return an object if the request is successful\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n const dto: TransactionCheckDto = {\n public_key_id: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n const result = await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(result).toEqual(\n Right({\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n }),\n );\n });\n\n it(\"should return an error if the request fails\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"error\"));\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n const result = await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionCheckDataSource: Failed to fetch web3 checks information\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the response is invalid\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n const dto = {};\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n const result = await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if public_key_id is missing\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n const dto = {\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n const result = await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if descriptor is missing\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n const dto = {\n public_key_id: \"test-key-id\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n const result = await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionCheckDataSource: Cannot exploit transaction check data received\",\n ),\n ),\n );\n });\n\n it(\"should call axios with the correct headers\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: {} });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n }),\n );\n });\n\n it(\"should call axios with the correct URL and method\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: {} });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n method: \"POST\",\n url: `${config.web3checks.url}/ethereum/scan/tx`,\n }),\n );\n });\n\n it(\"should call axios with the correct request data\", async () => {\n // GIVEN\n const params: GetTransactionCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n rawTx: \"0xabcdef\",\n chainId: 1,\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: {} });\n\n // WHEN\n const dataSource = new HttpTransactionCheckDataSource(config);\n await dataSource.getTransactionCheck(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n data: {\n tx: {\n from: \"0x1234567890123456789012345678901234567890\",\n raw: \"0xabcdef\",\n },\n chain: 1,\n },\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "Left", "Right", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "HttpTransactionCheckDataSource", "PACKAGE", "config", "params", "dto", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var y=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var n=(i,e,o,t)=>{for(var r=t>1?void 0:t?h(e,o):e,a=i.length-1,c;a>=0;a--)(c=i[a])&&(r=(t?c(e,o,r):c(r))||r);return t&&r&&y(e,o,r),r},s=(i,e)=>(o,t)=>e(o,t,i);import m from"axios";import{inject as l,injectable as u}from"inversify";import{Left as d,Right as D}from"purify-ts";import{configTypes as C}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as f,LEDGER_ORIGIN_TOKEN_HEADER as k}from"../../shared/constant/HttpHeaders";import T from"../../../package.json";let p=class{constructor(e){this.config=e}async getTypedDataCheck({from:e,data:o}){let t;const r={msg:{from:e,data:o}};try{t=(await m.request({method:"POST",url:`${this.config.web3checks.url}/ethereum/scan/eip-712`,data:r,headers:{[f]:`context-module/${T.version}`,[k]:this.config.originToken}})).data}catch{return d(new Error("[ContextModule] HttpTypedDataCheckDataSource: Failed to fetch typed data check information"))}if(!this._isTypedDataCheckDto(t))return d(new Error("[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received"));const a={publicKeyId:t.public_key_id,descriptor:t.descriptor};return D(a)}_isTypedDataCheckDto(e){return e!=null&&typeof e=="object"&&"public_key_id"in e&&e.public_key_id!=null&&typeof e.public_key_id=="string"&&"descriptor"in e&&e.descriptor!=null&&typeof e.descriptor=="string"}};p=n([u(),s(0,l(C.Config))],p);export{p as HttpTypedDataCheckDataSource};
2
+ //# sourceMappingURL=HttpTypedDataCheckDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/data/HttpTypedDataCheckDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { TypedDataCheckDto } from \"./dto/TypedDataCheckDto\";\nimport {\n GetTypedDataCheckParams,\n TypedDataCheck,\n TypedDataCheckDataSource,\n} from \"./TypedDataCheckDataSource\";\n\n@injectable()\nexport class HttpTypedDataCheckDataSource implements TypedDataCheckDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getTypedDataCheck({\n from,\n data,\n }: GetTypedDataCheckParams): Promise<Either<Error, TypedDataCheck>> {\n let typedDataCheckDto: TypedDataCheckDto;\n const requestDto = {\n msg: {\n from,\n data,\n },\n };\n\n try {\n const response = await axios.request<TypedDataCheckDto>({\n method: \"POST\",\n url: `${this.config.web3checks.url}/ethereum/scan/eip-712`,\n data: requestDto,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n typedDataCheckDto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Failed to fetch typed data check information\",\n ),\n );\n }\n\n if (!this._isTypedDataCheckDto(typedDataCheckDto)) {\n return Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received\",\n ),\n );\n }\n\n const result: TypedDataCheck = {\n publicKeyId: typedDataCheckDto.public_key_id,\n descriptor: typedDataCheckDto.descriptor,\n };\n\n return Right(result);\n }\n\n private _isTypedDataCheckDto(dto: unknown): dto is TypedDataCheckDto {\n return (\n dto != null &&\n typeof dto == \"object\" &&\n \"public_key_id\" in dto &&\n dto.public_key_id != null &&\n typeof dto.public_key_id == \"string\" &&\n \"descriptor\" in dto &&\n dto.descriptor != null &&\n typeof dto.descriptor == \"string\"\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAE5B,OACE,gCAAAC,EACA,8BAAAC,MACK,gCACP,OAAOC,MAAa,qBAUb,IAAMC,EAAN,KAAuE,CAC5E,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAa,kBAAkB,CAC7B,KAAAC,EACA,KAAAC,CACF,EAAoE,CAClE,IAAIC,EACJ,MAAMC,EAAa,CACjB,IAAK,CACH,KAAAH,EACA,KAAAC,CACF,CACF,EAEA,GAAI,CAUFC,GATiB,MAAME,EAAM,QAA2B,CACtD,OAAQ,OACR,IAAK,GAAG,KAAK,OAAO,WAAW,GAAG,yBAClC,KAAMD,EACN,QAAS,CACP,CAACE,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,GAC4B,IAC/B,MAAiB,CACf,OAAOC,EACL,IAAI,MACF,4FACF,CACF,CACF,CAEA,GAAI,CAAC,KAAK,qBAAqBN,CAAiB,EAC9C,OAAOM,EACL,IAAI,MACF,6FACF,CACF,EAGF,MAAMC,EAAyB,CAC7B,YAAaP,EAAkB,cAC/B,WAAYA,EAAkB,UAChC,EAEA,OAAOQ,EAAMD,CAAM,CACrB,CAEQ,qBAAqBE,EAAwC,CACnE,OACEA,GAAO,MACP,OAAOA,GAAO,UACd,kBAAmBA,GACnBA,EAAI,eAAiB,MACrB,OAAOA,EAAI,eAAiB,UAC5B,eAAgBA,GAChBA,EAAI,YAAc,MAClB,OAAOA,EAAI,YAAc,QAE7B,CACF,EAhEab,EAANc,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBlB",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpTypedDataCheckDataSource", "config", "from", "data", "typedDataCheckDto", "requestDto", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "Left", "result", "Right", "dto", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import t from"axios";import{Left as s,Right as i}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as p,LEDGER_ORIGIN_TOKEN_HEADER as u}from"../../shared/constant/HttpHeaders";import{HttpTypedDataCheckDataSource as d}from"../../transaction-check/data/HttpTypedDataCheckDataSource";import l from"../../../package.json";vi.mock("axios");describe("HttpTypedDataCheckDataSource",()=>{const a={web3checks:{url:"web3checksUrl"},originToken:"originToken"};beforeEach(()=>{vi.resetAllMocks()}),describe("getTypedDataCheck",()=>{const r={from:"0x1234567890123456789012345678901234567890",data:{domain:{name:"Test Domain",version:"1",chainId:1,verifyingContract:"0x1234567890123456789012345678901234567890"},types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Person:[{name:"name",type:"string"},{name:"wallet",type:"address"}]},primaryType:"Person",message:{name:"Alice",wallet:"0x1234567890123456789012345678901234567890"}}};it("should return an object if the request is successful",async()=>{const e={public_key_id:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValueOnce({data:e});const o=await new d(a).getTypedDataCheck(r);expect(o).toEqual(i({publicKeyId:"test-key-id",descriptor:"test-descriptor"}))}),it("should return an error if the request fails",async()=>{vi.spyOn(t,"request").mockRejectedValue(new Error("error"));const c=await new d(a).getTypedDataCheck(r);expect(c).toEqual(s(new Error("[ContextModule] HttpTypedDataCheckDataSource: Failed to fetch typed data check information")))}),it("should return an error if the response is invalid",async()=>{const e={};vi.spyOn(t,"request").mockResolvedValue({data:e});const o=await new d(a).getTypedDataCheck(r);expect(o).toEqual(s(new Error("[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received")))}),it("should return an error if public_key_id is missing",async()=>{const e={descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValue({data:e});const o=await new d(a).getTypedDataCheck(r);expect(o).toEqual(s(new Error("[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received")))}),it("should return an error if descriptor is missing",async()=>{const e={public_key_id:"test-key-id"};vi.spyOn(t,"request").mockResolvedValue({data:e});const o=await new d(a).getTypedDataCheck(r);expect(o).toEqual(s(new Error("[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received")))}),it("should return an error if public_key_id is null",async()=>{const e={public_key_id:null,descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValue({data:e});const o=await new d(a).getTypedDataCheck(r);expect(o).toEqual(s(new Error("[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received")))}),it("should return an error if descriptor is null",async()=>{const e={public_key_id:"test-key-id",descriptor:null};vi.spyOn(t,"request").mockResolvedValue({data:e});const o=await new d(a).getTypedDataCheck(r);expect(o).toEqual(s(new Error("[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received")))}),it("should call axios with the correct headers",async()=>{const e={public_key_id:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValueOnce({data:e}),await new d(a).getTypedDataCheck(r),expect(t.request).toHaveBeenCalledWith(expect.objectContaining({headers:{[p]:`context-module/${l.version}`,[u]:a.originToken}}))}),it("should call axios with the correct URL and method",async()=>{const e={public_key_id:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValueOnce({data:e}),await new d(a).getTypedDataCheck(r),expect(t.request).toHaveBeenCalledWith(expect.objectContaining({method:"POST",url:`${a.web3checks.url}/ethereum/scan/eip-712`}))}),it("should call axios with the correct request data",async()=>{const e={public_key_id:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValueOnce({data:e}),await new d(a).getTypedDataCheck(r),expect(t.request).toHaveBeenCalledWith(expect.objectContaining({data:{msg:{from:r.from,data:r.data}}}))}),it("should handle empty typed data",async()=>{const c={from:"0x1234567890123456789012345678901234567890",data:{domain:{},types:{},primaryType:"",message:{}}},o={public_key_id:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(t,"request").mockResolvedValueOnce({data:o});const n=await new d(a).getTypedDataCheck(c);expect(n).toEqual(i({publicKeyId:"test-key-id",descriptor:"test-descriptor"}))})})});
2
+ //# sourceMappingURL=HttpTypedDataCheckDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/data/HttpTypedDataCheckDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport { type TypedDataCheckDto } from \"@/transaction-check/data/dto/TypedDataCheckDto\";\nimport { HttpTypedDataCheckDataSource } from \"@/transaction-check/data/HttpTypedDataCheckDataSource\";\nimport {\n type GetTypedDataCheckParams,\n type TypedData,\n} from \"@/transaction-check/data/TypedDataCheckDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\ndescribe(\"HttpTypedDataCheckDataSource\", () => {\n const config = {\n web3checks: {\n url: \"web3checksUrl\",\n },\n originToken: \"originToken\",\n } as ContextModuleConfig;\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"getTypedDataCheck\", () => {\n const validTypedData: TypedData = {\n domain: {\n name: \"Test Domain\",\n version: \"1\",\n chainId: 1,\n verifyingContract: \"0x1234567890123456789012345678901234567890\",\n },\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n Person: [\n { name: \"name\", type: \"string\" },\n { name: \"wallet\", type: \"address\" },\n ],\n },\n primaryType: \"Person\",\n message: {\n name: \"Alice\",\n wallet: \"0x1234567890123456789012345678901234567890\",\n },\n };\n\n const params: GetTypedDataCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n data: validTypedData,\n };\n\n it(\"should return an object if the request is successful\", async () => {\n // GIVEN\n const dto: TypedDataCheckDto = {\n public_key_id: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Right({\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n }),\n );\n });\n\n it(\"should return an error if the request fails\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"error\"));\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Failed to fetch typed data check information\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the response is invalid\", async () => {\n // GIVEN\n const dto = {};\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if public_key_id is missing\", async () => {\n // GIVEN\n const dto = {\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if descriptor is missing\", async () => {\n // GIVEN\n const dto = {\n public_key_id: \"test-key-id\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if public_key_id is null\", async () => {\n // GIVEN\n const dto = {\n public_key_id: null,\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if descriptor is null\", async () => {\n // GIVEN\n const dto = {\n public_key_id: \"test-key-id\",\n descriptor: null,\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTypedDataCheckDataSource: Cannot exploit typed data check data received\",\n ),\n ),\n );\n });\n\n it(\"should call axios with the correct headers\", async () => {\n // GIVEN\n const dto: TypedDataCheckDto = {\n public_key_id: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n }),\n );\n });\n\n it(\"should call axios with the correct URL and method\", async () => {\n // GIVEN\n const dto: TypedDataCheckDto = {\n public_key_id: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n method: \"POST\",\n url: `${config.web3checks.url}/ethereum/scan/eip-712`,\n }),\n );\n });\n\n it(\"should call axios with the correct request data\", async () => {\n // GIVEN\n const dto: TypedDataCheckDto = {\n public_key_id: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n await dataSource.getTypedDataCheck(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n data: {\n msg: {\n from: params.from,\n data: params.data,\n },\n },\n }),\n );\n });\n\n it(\"should handle empty typed data\", async () => {\n // GIVEN\n const emptyTypedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"\",\n message: {},\n };\n const paramsWithEmptyData: GetTypedDataCheckParams = {\n from: \"0x1234567890123456789012345678901234567890\",\n data: emptyTypedData,\n };\n const dto: TypedDataCheckDto = {\n public_key_id: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n\n // WHEN\n const dataSource = new HttpTypedDataCheckDataSource(config);\n const result = await dataSource.getTypedDataCheck(paramsWithEmptyData);\n\n // THEN\n expect(result).toEqual(\n Right({\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "Left", "Right", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "HttpTypedDataCheckDataSource", "PACKAGE", "config", "params", "dto", "result", "paramsWithEmptyData"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TransactionCheckDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TypedDataCheckDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TransactionCheckDto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TypedDataCheckDto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ContainerModule as a}from"inversify";import{HttpTransactionCheckDataSource as e}from"../../transaction-check/data/HttpTransactionCheckDataSource";import{HttpTypedDataCheckDataSource as r}from"../../transaction-check/data/HttpTypedDataCheckDataSource";import{transactionCheckTypes as o}from"../../transaction-check/di/transactionCheckTypes";import{TransactionCheckContextLoader as c}from"../../transaction-check/domain/TransactionCheckContextLoader";import{TypedDataCheckContextLoader as n}from"../../transaction-check/domain/TypedDataCheckContextLoader";const T=()=>new a(({bind:t})=>{t(o.TransactionCheckDataSource).to(e),t(o.TransactionCheckContextLoader).to(c),t(o.TypedDataCheckDataSource).to(r),t(o.TypedDataCheckContextLoader).to(n)});export{T as transactionCheckModuleFactory};
2
+ //# sourceMappingURL=transactionCheckModuleFactory.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/di/transactionCheckModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpTransactionCheckDataSource } from \"@/transaction-check/data/HttpTransactionCheckDataSource\";\nimport { HttpTypedDataCheckDataSource } from \"@/transaction-check/data/HttpTypedDataCheckDataSource\";\nimport { transactionCheckTypes } from \"@/transaction-check/di/transactionCheckTypes\";\nimport { TransactionCheckContextLoader } from \"@/transaction-check/domain/TransactionCheckContextLoader\";\nimport { TypedDataCheckContextLoader } from \"@/transaction-check/domain/TypedDataCheckContextLoader\";\n\nexport const transactionCheckModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(transactionCheckTypes.TransactionCheckDataSource).to(\n HttpTransactionCheckDataSource,\n );\n bind(transactionCheckTypes.TransactionCheckContextLoader).to(\n TransactionCheckContextLoader,\n );\n bind(transactionCheckTypes.TypedDataCheckDataSource).to(\n HttpTypedDataCheckDataSource,\n );\n bind(transactionCheckTypes.TypedDataCheckContextLoader).to(\n TypedDataCheckContextLoader,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,kCAAAC,MAAsC,0DAC/C,OAAS,gCAAAC,MAAoC,wDAC7C,OAAS,yBAAAC,MAA6B,+CACtC,OAAS,iCAAAC,MAAqC,2DAC9C,OAAS,+BAAAC,MAAmC,yDAErC,MAAMC,EAAgC,IAC3C,IAAIN,EAAgB,CAAC,CAAE,KAAAO,CAAK,IAAM,CAChCA,EAAKJ,EAAsB,0BAA0B,EAAE,GACrDF,CACF,EACAM,EAAKJ,EAAsB,6BAA6B,EAAE,GACxDC,CACF,EACAG,EAAKJ,EAAsB,wBAAwB,EAAE,GACnDD,CACF,EACAK,EAAKJ,EAAsB,2BAA2B,EAAE,GACtDE,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "HttpTransactionCheckDataSource", "HttpTypedDataCheckDataSource", "transactionCheckTypes", "TransactionCheckContextLoader", "TypedDataCheckContextLoader", "transactionCheckModuleFactory", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ const a={TransactionCheckDataSource:Symbol.for("TransactionCheckDataSource"),TransactionCheckContextLoader:Symbol.for("TransactionCheckContextLoader"),TypedDataCheckDataSource:Symbol.for("TypedDataCheckDataSource"),TypedDataCheckContextLoader:Symbol.for("TypedDataCheckContextLoader")};export{a as transactionCheckTypes};
2
+ //# sourceMappingURL=transactionCheckTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/di/transactionCheckTypes.ts"],
4
+ "sourcesContent": ["export const transactionCheckTypes = {\n TransactionCheckDataSource: Symbol.for(\"TransactionCheckDataSource\"),\n TransactionCheckContextLoader: Symbol.for(\"TransactionCheckContextLoader\"),\n TypedDataCheckDataSource: Symbol.for(\"TypedDataCheckDataSource\"),\n TypedDataCheckContextLoader: Symbol.for(\"TypedDataCheckContextLoader\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAwB,CACnC,2BAA4B,OAAO,IAAI,4BAA4B,EACnE,8BAA+B,OAAO,IAAI,+BAA+B,EACzE,yBAA0B,OAAO,IAAI,0BAA0B,EAC/D,4BAA6B,OAAO,IAAI,6BAA6B,CACvE",
6
+ "names": ["transactionCheckTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var p=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var C=(n,e,t,o)=>{for(var r=o>1?void 0:o?I(e,t):e,a=n.length-1,i;a>=0;a--)(i=n[a])&&(r=(o?i(e,t,r):i(r))||r);return o&&r&&p(e,t,r),r},s=(n,e)=>(t,o)=>e(t,o,n);import{bufferToHexaString as S,DeviceModelId as h,isHexaString as m}from"@ledgerhq/device-management-kit";import{inject as l,injectable as x}from"inversify";import{pkiTypes as T}from"../../pki/di/pkiTypes";import{KeyUsage as k}from"../../pki/model/KeyUsage";import{ClearSignContextType as f}from"../../shared/model/ClearSignContext";import{transactionCheckTypes as g}from"../../transaction-check/di/transactionCheckTypes";const u=[f.TRANSACTION_CHECK];let d=class{constructor(e,t){this.transactionCheckDataSource=e;this.certificateLoader=t}canHandle(e,t){return typeof e=="object"&&e!==null&&"from"in e&&e.from!==void 0&&m(e.from)&&"chainId"in e&&e.chainId!==void 0&&typeof e.chainId=="number"&&"transaction"in e&&e.transaction!==void 0&&"deviceModelId"in e&&e.deviceModelId!==void 0&&e.deviceModelId!==h.NANO_S&&typeof e.chainId=="number"&&m(e.from)&&e.from!=="0x"&&u.every(r=>t.includes(r))}async load(e){const{from:t,chainId:o,transaction:r}=e,a=S(r);return!t||!a?[]:[await(await this.transactionCheckDataSource.getTransactionCheck({chainId:o,rawTx:a,from:t})).caseOf({Left:c=>Promise.resolve({type:f.ERROR,error:c}),Right:async c=>{const y=await this.certificateLoader.loadCertificate({keyId:c.publicKeyId,keyUsage:k.TxSimulationSigner,targetDevice:e.deviceModelId});return{type:f.TRANSACTION_CHECK,payload:c.descriptor,certificate:y}}})]}};d=C([x(),s(0,l(g.TransactionCheckDataSource)),s(1,l(T.PkiCertificateLoader))],d);export{d as TransactionCheckContextLoader};
2
+ //# sourceMappingURL=TransactionCheckContextLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/domain/TransactionCheckContextLoader.ts"],
4
+ "sourcesContent": ["import {\n bufferToHexaString,\n DeviceModelId,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { type TransactionCheckDataSource } from \"@/transaction-check/data/TransactionCheckDataSource\";\nimport { transactionCheckTypes } from \"@/transaction-check/di/transactionCheckTypes\";\n\nexport type TransactionCheckContextInput = {\n from: string;\n chainId: number;\n transaction: Uint8Array;\n deviceModelId: DeviceModelId;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.TRANSACTION_CHECK,\n];\n\n@injectable()\nexport class TransactionCheckContextLoader\n implements ContextLoader<TransactionCheckContextInput>\n{\n constructor(\n @inject(transactionCheckTypes.TransactionCheckDataSource)\n private transactionCheckDataSource: TransactionCheckDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private certificateLoader: PkiCertificateLoader,\n ) {}\n\n canHandle(\n input: unknown,\n expectedType: ClearSignContextType[],\n ): input is TransactionCheckContextInput {\n const result =\n typeof input === \"object\" &&\n input !== null &&\n \"from\" in input &&\n input.from !== undefined &&\n isHexaString(input.from) &&\n \"chainId\" in input &&\n input.chainId !== undefined &&\n typeof input.chainId === \"number\" &&\n \"transaction\" in input &&\n input.transaction !== undefined &&\n \"deviceModelId\" in input &&\n input.deviceModelId !== undefined &&\n input.deviceModelId !== DeviceModelId.NANO_S &&\n typeof input.chainId === \"number\" &&\n isHexaString(input.from) &&\n input.from !== \"0x\" &&\n SUPPORTED_TYPES.every((type) => expectedType.includes(type));\n return result;\n }\n\n async load(ctx: TransactionCheckContextInput): Promise<ClearSignContext[]> {\n const { from, chainId, transaction } = ctx;\n\n const rawTx = bufferToHexaString(transaction);\n\n if (!from || !rawTx) {\n return [];\n }\n\n const txCheck = await this.transactionCheckDataSource.getTransactionCheck({\n chainId,\n rawTx,\n from,\n });\n\n const context = await txCheck.caseOf<Promise<ClearSignContext>>({\n Left: (error) =>\n Promise.resolve({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: async (data) => {\n const certificate = await this.certificateLoader.loadCertificate({\n keyId: data.publicKeyId,\n keyUsage: KeyUsage.TxSimulationSigner,\n targetDevice: ctx.deviceModelId,\n });\n\n return {\n type: ClearSignContextType.TRANSACTION_CHECK,\n payload: data.descriptor,\n certificate,\n };\n },\n });\n\n return [context];\n }\n}\n"],
5
+ "mappings": "iOAAA,OACE,sBAAAA,EACA,iBAAAC,EACA,gBAAAC,MACK,kCACP,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAEnC,OAAS,YAAAC,MAAgB,oBAEzB,OAAS,YAAAC,MAAgB,uBAEzB,OAEE,wBAAAC,MACK,kCAEP,OAAS,yBAAAC,MAA6B,+CAStC,MAAMC,EAA0C,CAC9CC,EAAqB,iBACvB,EAGO,IAAMC,EAAN,KAEP,CACE,YAEUC,EAEAC,EACR,CAHQ,gCAAAD,EAEA,uBAAAC,CACP,CAEH,UACEC,EACAC,EACuC,CAmBvC,OAjBE,OAAOD,GAAU,UACjBA,IAAU,MACV,SAAUA,GACVA,EAAM,OAAS,QACfE,EAAaF,EAAM,IAAI,GACvB,YAAaA,GACbA,EAAM,UAAY,QAClB,OAAOA,EAAM,SAAY,UACzB,gBAAiBA,GACjBA,EAAM,cAAgB,QACtB,kBAAmBA,GACnBA,EAAM,gBAAkB,QACxBA,EAAM,gBAAkBG,EAAc,QACtC,OAAOH,EAAM,SAAY,UACzBE,EAAaF,EAAM,IAAI,GACvBA,EAAM,OAAS,MACfL,EAAgB,MAAOS,GAASH,EAAa,SAASG,CAAI,CAAC,CAE/D,CAEA,MAAM,KAAKC,EAAgE,CACzE,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,YAAAC,CAAY,EAAIH,EAEjCI,EAAQC,EAAmBF,CAAW,EAE5C,MAAI,CAACF,GAAQ,CAACG,EACL,CAAC,EA8BH,CArBS,MANA,MAAM,KAAK,2BAA2B,oBAAoB,CACxE,QAAAF,EACA,MAAAE,EACA,KAAAH,CACF,CAAC,GAE6B,OAAkC,CAC9D,KAAOK,GACL,QAAQ,QAAQ,CACd,KAAMf,EAAqB,MAC3B,MAAAe,CACF,CAAC,EACH,MAAO,MAAOC,GAAS,CACrB,MAAMC,EAAc,MAAM,KAAK,kBAAkB,gBAAgB,CAC/D,MAAOD,EAAK,YACZ,SAAUE,EAAS,mBACnB,aAAcT,EAAI,aACpB,CAAC,EAED,MAAO,CACL,KAAMT,EAAqB,kBAC3B,QAASgB,EAAK,WACd,YAAAC,CACF,CACF,CACF,CAAC,CAEc,CACjB,CACF,EAzEahB,EAANkB,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAsB,0BAA0B,GAEvDF,EAAA,EAAAC,EAAOE,EAAS,oBAAoB,IAN5BvB",
6
+ "names": ["bufferToHexaString", "DeviceModelId", "isHexaString", "inject", "injectable", "pkiTypes", "KeyUsage", "ClearSignContextType", "transactionCheckTypes", "SUPPORTED_TYPES", "ClearSignContextType", "TransactionCheckContextLoader", "transactionCheckDataSource", "certificateLoader", "input", "expectedType", "isHexaString", "DeviceModelId", "type", "ctx", "from", "chainId", "transaction", "rawTx", "bufferToHexaString", "error", "data", "certificate", "KeyUsage", "__decorateClass", "injectable", "__decorateParam", "inject", "transactionCheckTypes", "pkiTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{DeviceModelId as d}from"@ledgerhq/device-management-kit";import{Left as u,Right as l}from"purify-ts";import{KeyUsage as f}from"../../pki/model/KeyUsage";import{ClearSignContextType as s}from"../../shared/model/ClearSignContext";import{TransactionCheckContextLoader as p}from"../../transaction-check/domain/TransactionCheckContextLoader";describe("TransactionCheckContextLoader",()=>{const i={getTransactionCheck:vi.fn()},c={loadCertificate:vi.fn()},a=new p(i,c),r=[s.TRANSACTION_CHECK];beforeEach(()=>{vi.resetAllMocks()}),describe("canHandle function",()=>{const e={from:"0x1234567890123456789012345678901234567890",chainId:1,transaction:new Uint8Array([1,2,3]),deviceModelId:d.FLEX};it("should return true for valid input",()=>{expect(a.canHandle(e,r)).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(a.canHandle(e,[s.TOKEN])).toBe(!1)}),it.each([[null,"null input"],[void 0,"undefined input"],[{},"empty object"],["string","string input"],[123,"number input"]])("should return false for %s",(n,t)=>{expect(a.canHandle(n,r)).toBe(!1)}),it.each([[{...e,from:void 0},"missing from"],[{...e,chainId:void 0},"missing chainId"],[{...e,transaction:void 0},"missing transaction"],[{...e,deviceModelId:void 0},"missing deviceModelId"]])("should return false for %s",(n,t)=>{expect(a.canHandle(n,r)).toBe(!1)}),it.each([[{...e,from:"invalid-hex"},"invalid from hex"],[{...e,from:"0x"},"empty from hex"],[{...e,from:"not-hex"},"non-hex from"]])("should return false for %s",(n,t)=>{expect(a.canHandle(n,r)).toBe(!1)}),it("should return false for NANO_S device model",()=>{const n={...e,deviceModelId:d.NANO_S};expect(a.canHandle(n,r)).toBe(!1)}),it("should return false for non-number chainId",()=>{const n={...e,chainId:"not-a-number"};expect(a.canHandle(n,r)).toBe(!1)})}),describe("load function",()=>{const e={from:"0x1234567890123456789012345678901234567890",chainId:1,transaction:new Uint8Array([1,2,3]),deviceModelId:d.FLEX},n={descriptor:"cert-descriptor",signature:"cert-signature",keyUsageNumber:0,payload:new Uint8Array};it("should return empty array when from is empty",async()=>{const t={...e,from:""},o=await a.load(t);expect(o).toEqual([])}),it("should return error context when transaction check fails",async()=>{const t=new Error("Transaction check failed");vi.spyOn(i,"getTransactionCheck").mockResolvedValue(u(t));const o=await a.load(e);expect(o).toEqual([{type:s.ERROR,error:t}])}),it("should return transaction check context when successful",async()=>{const t={publicKeyId:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(i,"getTransactionCheck").mockResolvedValue(l(t)),vi.spyOn(c,"loadCertificate").mockResolvedValue(n);const o=await a.load(e);expect(i.getTransactionCheck).toHaveBeenCalledWith({chainId:e.chainId,rawTx:"0x010203",from:e.from}),expect(c.loadCertificate).toHaveBeenCalledWith({keyId:t.publicKeyId,keyUsage:f.TxSimulationSigner,targetDevice:e.deviceModelId}),expect(o).toEqual([{type:s.TRANSACTION_CHECK,payload:t.descriptor,certificate:n}])}),it("should handle certificate loading failure",async()=>{const t={publicKeyId:"test-key-id",descriptor:"test-descriptor"},o=new Error("Certificate loading failed");vi.spyOn(i,"getTransactionCheck").mockResolvedValue(l(t)),vi.spyOn(c,"loadCertificate").mockRejectedValue(o),await expect(a.load(e)).rejects.toThrow(o)}),it("should convert transaction buffer to hex string correctly",async()=>{const t={publicKeyId:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(i,"getTransactionCheck").mockResolvedValue(l(t)),vi.spyOn(c,"loadCertificate").mockResolvedValue(n),await a.load(e),expect(i.getTransactionCheck).toHaveBeenCalledWith({chainId:e.chainId,rawTx:"0x010203",from:e.from})})})});
2
+ //# sourceMappingURL=TransactionCheckContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/domain/TransactionCheckContextLoader.test.ts"],
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport type { PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type TransactionCheckDataSource } from \"@/transaction-check/data/TransactionCheckDataSource\";\nimport {\n type TransactionCheckContextInput,\n TransactionCheckContextLoader,\n} from \"@/transaction-check/domain/TransactionCheckContextLoader\";\n\ndescribe(\"TransactionCheckContextLoader\", () => {\n const mockTransactionCheckDataSource: TransactionCheckDataSource = {\n getTransactionCheck: vi.fn(),\n };\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n const loader = new TransactionCheckContextLoader(\n mockTransactionCheckDataSource,\n mockCertificateLoader,\n );\n\n const SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.TRANSACTION_CHECK,\n ];\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"canHandle function\", () => {\n const validInput: TransactionCheckContextInput = {\n from: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n transaction: new Uint8Array([1, 2, 3]),\n deviceModelId: DeviceModelId.FLEX,\n };\n\n it(\"should return true for valid input\", () => {\n expect(loader.canHandle(validInput, SUPPORTED_TYPES)).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n false,\n );\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, from: undefined }, \"missing from\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, transaction: undefined }, \"missing transaction\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing deviceModelId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, from: \"invalid-hex\" }, \"invalid from hex\"],\n [{ ...validInput, from: \"0x\" }, \"empty from hex\"],\n [{ ...validInput, from: \"not-hex\" }, \"non-hex from\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it(\"should return false for NANO_S device model\", () => {\n const inputWithNanoS = {\n ...validInput,\n deviceModelId: DeviceModelId.NANO_S,\n };\n expect(loader.canHandle(inputWithNanoS, SUPPORTED_TYPES)).toBe(false);\n });\n\n it(\"should return false for non-number chainId\", () => {\n const inputWithInvalidChainId = {\n ...validInput,\n chainId: \"not-a-number\" as unknown as number,\n };\n expect(loader.canHandle(inputWithInvalidChainId, SUPPORTED_TYPES)).toBe(\n false,\n );\n });\n });\n\n describe(\"load function\", () => {\n const validInput: TransactionCheckContextInput = {\n from: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n transaction: new Uint8Array([1, 2, 3]),\n deviceModelId: DeviceModelId.FLEX,\n };\n\n const mockCertificate = {\n descriptor: \"cert-descriptor\",\n signature: \"cert-signature\",\n keyUsageNumber: 0,\n payload: new Uint8Array(),\n };\n\n it(\"should return empty array when from is empty\", async () => {\n const inputWithEmptyFrom = { ...validInput, from: \"\" };\n const result = await loader.load(inputWithEmptyFrom);\n expect(result).toEqual([]);\n });\n\n it(\"should return error context when transaction check fails\", async () => {\n const error = new Error(\"Transaction check failed\");\n vi.spyOn(\n mockTransactionCheckDataSource,\n \"getTransactionCheck\",\n ).mockResolvedValue(Left(error));\n\n const result = await loader.load(validInput);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error,\n },\n ]);\n });\n\n it(\"should return transaction check context when successful\", async () => {\n const transactionCheckData = {\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(\n mockTransactionCheckDataSource,\n \"getTransactionCheck\",\n ).mockResolvedValue(Right(transactionCheckData));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n\n const result = await loader.load(validInput);\n\n expect(\n mockTransactionCheckDataSource.getTransactionCheck,\n ).toHaveBeenCalledWith({\n chainId: validInput.chainId,\n rawTx: \"0x010203\",\n from: validInput.from,\n });\n\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: transactionCheckData.publicKeyId,\n keyUsage: KeyUsage.TxSimulationSigner,\n targetDevice: validInput.deviceModelId,\n });\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.TRANSACTION_CHECK,\n payload: transactionCheckData.descriptor,\n certificate: mockCertificate,\n },\n ]);\n });\n\n it(\"should handle certificate loading failure\", async () => {\n const transactionCheckData = {\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n const certificateError = new Error(\"Certificate loading failed\");\n\n vi.spyOn(\n mockTransactionCheckDataSource,\n \"getTransactionCheck\",\n ).mockResolvedValue(Right(transactionCheckData));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockRejectedValue(\n certificateError,\n );\n\n await expect(loader.load(validInput)).rejects.toThrow(certificateError);\n });\n\n it(\"should convert transaction buffer to hex string correctly\", async () => {\n const transactionCheckData = {\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(\n mockTransactionCheckDataSource,\n \"getTransactionCheck\",\n ).mockResolvedValue(Right(transactionCheckData));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n\n await loader.load(validInput);\n\n expect(\n mockTransactionCheckDataSource.getTransactionCheck,\n ).toHaveBeenCalledWith({\n chainId: validInput.chainId,\n rawTx: \"0x010203\", // Uint8Array([1, 2, 3]) converted to hex\n from: validInput.from,\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceModelId", "Left", "Right", "KeyUsage", "ClearSignContextType", "TransactionCheckContextLoader", "mockTransactionCheckDataSource", "mockCertificateLoader", "loader", "SUPPORTED_TYPES", "validInput", "input", "_description", "inputWithNanoS", "inputWithInvalidChainId", "mockCertificate", "inputWithEmptyFrom", "result", "error", "transactionCheckData", "certificateError"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var f=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var p=(i,e,t,a)=>{for(var o=a>1?void 0:a?y(e,t):e,c=i.length-1,r;c>=0;c--)(r=i[c])&&(o=(a?r(e,t,o):r(o))||o);return a&&o&&f(e,t,o),o},n=(i,e)=>(t,a)=>e(t,a,i);import{DeviceModelId as l,isHexaString as S}from"@ledgerhq/device-management-kit";import{inject as m,injectable as T}from"inversify";import{pkiTypes as D}from"../../pki/di/pkiTypes";import{KeyUsage as k}from"../../pki/model/KeyUsage";import{ClearSignContextType as C}from"../../shared/model/ClearSignContext";import{transactionCheckTypes as x}from"../../transaction-check/di/transactionCheckTypes";const I=[C.TRANSACTION_CHECK];let d=class{constructor(e,t){this.typedDataCheckDataSource=e;this.certificateLoader=t}canHandle(e,t){return typeof e=="object"&&e!==null&&"from"in e&&e.from!==void 0&&S(e.from)&&e.from!=="0x"&&"data"in e&&typeof e.data=="object"&&"deviceModelId"in e&&e.deviceModelId!==void 0&&e.deviceModelId!==l.NANO_S&&I.every(o=>t.includes(o))}async load(e){const{from:t,data:a}=e;return!t||!a?[]:[await(await this.typedDataCheckDataSource.getTypedDataCheck({data:a,from:t})).caseOf({Left:r=>Promise.resolve({type:C.ERROR,error:r}),Right:async r=>{const s=await this.certificateLoader.loadCertificate({keyId:r.publicKeyId,keyUsage:k.TxSimulationSigner,targetDevice:e.deviceModelId});return{type:C.TRANSACTION_CHECK,payload:r.descriptor,certificate:s}}})]}};d=p([T(),n(0,m(x.TypedDataCheckDataSource)),n(1,m(D.PkiCertificateLoader))],d);export{d as TypedDataCheckContextLoader};
2
+ //# sourceMappingURL=TypedDataCheckContextLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/domain/TypedDataCheckContextLoader.ts"],
4
+ "sourcesContent": ["import { DeviceModelId, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport {\n TypedData,\n type TypedDataCheckDataSource,\n} from \"@/transaction-check/data/TypedDataCheckDataSource\";\nimport { transactionCheckTypes } from \"@/transaction-check/di/transactionCheckTypes\";\n\nexport type TypedDataCheckContextInput = {\n from: string;\n data: TypedData;\n deviceModelId: DeviceModelId;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.TRANSACTION_CHECK,\n];\n\n@injectable()\nexport class TypedDataCheckContextLoader\n implements ContextLoader<TypedDataCheckContextInput>\n{\n constructor(\n @inject(transactionCheckTypes.TypedDataCheckDataSource)\n private typedDataCheckDataSource: TypedDataCheckDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private certificateLoader: PkiCertificateLoader,\n ) {}\n\n canHandle(\n input: unknown,\n expectedType: ClearSignContextType[],\n ): input is TypedDataCheckContextInput {\n const result =\n typeof input === \"object\" &&\n input !== null &&\n \"from\" in input &&\n input.from !== undefined &&\n isHexaString(input.from) &&\n input.from !== \"0x\" &&\n \"data\" in input &&\n typeof input.data === \"object\" &&\n \"deviceModelId\" in input &&\n input.deviceModelId !== undefined &&\n input.deviceModelId !== DeviceModelId.NANO_S &&\n SUPPORTED_TYPES.every((type) => expectedType.includes(type));\n\n return result;\n }\n\n async load(ctx: TypedDataCheckContextInput): Promise<ClearSignContext[]> {\n const { from, data } = ctx;\n\n if (!from || !data) {\n return [];\n }\n\n const txCheck = await this.typedDataCheckDataSource.getTypedDataCheck({\n data,\n from,\n });\n\n const context = await txCheck.caseOf<Promise<ClearSignContext>>({\n Left: (error) =>\n Promise.resolve({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: async (result) => {\n const certificate = await this.certificateLoader.loadCertificate({\n keyId: result.publicKeyId,\n keyUsage: KeyUsage.TxSimulationSigner,\n targetDevice: ctx.deviceModelId,\n });\n\n return {\n type: ClearSignContextType.TRANSACTION_CHECK,\n payload: result.descriptor,\n certificate,\n };\n },\n });\n\n return [context];\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,iBAAAA,EAAe,gBAAAC,MAAoB,kCAC5C,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAEnC,OAAS,YAAAC,MAAgB,oBAEzB,OAAS,YAAAC,MAAgB,uBAEzB,OAEE,wBAAAC,MACK,kCAKP,OAAS,yBAAAC,MAA6B,+CAQtC,MAAMC,EAA0C,CAC9CC,EAAqB,iBACvB,EAGO,IAAMC,EAAN,KAEP,CACE,YAEUC,EAEAC,EACR,CAHQ,8BAAAD,EAEA,uBAAAC,CACP,CAEH,UACEC,EACAC,EACqC,CAerC,OAbE,OAAOD,GAAU,UACjBA,IAAU,MACV,SAAUA,GACVA,EAAM,OAAS,QACfE,EAAaF,EAAM,IAAI,GACvBA,EAAM,OAAS,MACf,SAAUA,GACV,OAAOA,EAAM,MAAS,UACtB,kBAAmBA,GACnBA,EAAM,gBAAkB,QACxBA,EAAM,gBAAkBG,EAAc,QACtCR,EAAgB,MAAOS,GAASH,EAAa,SAASG,CAAI,CAAC,CAG/D,CAEA,MAAM,KAAKC,EAA8D,CACvE,KAAM,CAAE,KAAAC,EAAM,KAAAC,CAAK,EAAIF,EAEvB,MAAI,CAACC,GAAQ,CAACC,EACL,CAAC,EA6BH,CArBS,MALA,MAAM,KAAK,yBAAyB,kBAAkB,CACpE,KAAAA,EACA,KAAAD,CACF,CAAC,GAE6B,OAAkC,CAC9D,KAAOE,GACL,QAAQ,QAAQ,CACd,KAAMZ,EAAqB,MAC3B,MAAAY,CACF,CAAC,EACH,MAAO,MAAOC,GAAW,CACvB,MAAMC,EAAc,MAAM,KAAK,kBAAkB,gBAAgB,CAC/D,MAAOD,EAAO,YACd,SAAUE,EAAS,mBACnB,aAAcN,EAAI,aACpB,CAAC,EAED,MAAO,CACL,KAAMT,EAAqB,kBAC3B,QAASa,EAAO,WAChB,YAAAC,CACF,CACF,CACF,CAAC,CAEc,CACjB,CACF,EAlEab,EAANe,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAsB,wBAAwB,GAErDF,EAAA,EAAAC,EAAOE,EAAS,oBAAoB,IAN5BpB",
6
+ "names": ["DeviceModelId", "isHexaString", "inject", "injectable", "pkiTypes", "KeyUsage", "ClearSignContextType", "transactionCheckTypes", "SUPPORTED_TYPES", "ClearSignContextType", "TypedDataCheckContextLoader", "typedDataCheckDataSource", "certificateLoader", "input", "expectedType", "isHexaString", "DeviceModelId", "type", "ctx", "from", "data", "error", "result", "certificate", "KeyUsage", "__decorateClass", "injectable", "__decorateParam", "inject", "transactionCheckTypes", "pkiTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{DeviceModelId as l}from"@ledgerhq/device-management-kit";import{Left as y,Right as p}from"purify-ts";import{KeyUsage as m}from"../../pki/model/KeyUsage";import{ClearSignContextType as c}from"../../shared/model/ClearSignContext";import{TypedDataCheckContextLoader as u}from"../../transaction-check/domain/TypedDataCheckContextLoader";describe("TypedDataCheckContextLoader",()=>{const o={getTypedDataCheck:vi.fn()},d={loadCertificate:vi.fn()},n=new u(o,d),r=[c.TRANSACTION_CHECK];beforeEach(()=>{vi.resetAllMocks()}),describe("canHandle function",()=>{const e={from:"0x1234567890123456789012345678901234567890",data:{domain:{name:"Test Domain",version:"1",chainId:1,verifyingContract:"0x1234567890123456789012345678901234567890"},types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Person:[{name:"name",type:"string"},{name:"wallet",type:"address"}]},primaryType:"Person",message:{name:"Alice",wallet:"0x1234567890123456789012345678901234567890"}},deviceModelId:l.FLEX};it("should return true for valid input",()=>{expect(n.canHandle(e,r)).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(n.canHandle(e,[c.TOKEN])).toBe(!1)}),it.each([[null,"null input"],[void 0,"undefined input"],[{},"empty object"],["string","string input"],[123,"number input"]])("should return false for %s",(a,t)=>{expect(n.canHandle(a,r)).toBe(!1)}),it.each([[{...e,from:void 0},"missing from"],[{...e,data:void 0},"missing data"],[{...e,deviceModelId:void 0},"missing deviceModelId"]])("should return false for %s",(a,t)=>{expect(n.canHandle(a,r)).toBe(!1)}),it.each([[{...e,from:"invalid-hex"},"invalid from hex"],[{...e,from:"0x"},"empty from hex"],[{...e,from:"not-hex"},"non-hex from"]])("should return false for %s",(a,t)=>{expect(n.canHandle(a,r)).toBe(!1)}),it("should return false for NANO_S device model",()=>{const a={...e,deviceModelId:l.NANO_S};expect(n.canHandle(a,r)).toBe(!1)}),it("should return false for non-object data",()=>{const a={...e,data:"not-an-object"};expect(n.canHandle(a,r)).toBe(!1)})}),describe("load function",()=>{const s={domain:{name:"Test Domain",version:"1",chainId:1,verifyingContract:"0x1234567890123456789012345678901234567890"},types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Person:[{name:"name",type:"string"},{name:"wallet",type:"address"}]},primaryType:"Person",message:{name:"Alice",wallet:"0x1234567890123456789012345678901234567890"}},e={from:"0x1234567890123456789012345678901234567890",data:s,deviceModelId:l.FLEX},a={descriptor:"cert-descriptor",signature:"cert-signature",keyUsageNumber:0,payload:new Uint8Array};it("should return empty array when from is empty",async()=>{const t={...e,from:""},i=await n.load(t);expect(i).toEqual([])}),it("should return error context when typed data check fails",async()=>{const t=new Error("Typed data check failed");vi.spyOn(o,"getTypedDataCheck").mockResolvedValue(y(t));const i=await n.load(e);expect(i).toEqual([{type:c.ERROR,error:t}])}),it("should return transaction check context when successful",async()=>{const t={publicKeyId:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(o,"getTypedDataCheck").mockResolvedValue(p(t)),vi.spyOn(d,"loadCertificate").mockResolvedValue(a);const i=await n.load(e);expect(o.getTypedDataCheck).toHaveBeenCalledWith({data:e.data,from:e.from}),expect(d.loadCertificate).toHaveBeenCalledWith({keyId:t.publicKeyId,keyUsage:m.TxSimulationSigner,targetDevice:e.deviceModelId}),expect(i).toEqual([{type:c.TRANSACTION_CHECK,payload:t.descriptor,certificate:a}])}),it("should handle certificate loading failure",async()=>{const t={publicKeyId:"test-key-id",descriptor:"test-descriptor"},i=new Error("Certificate loading failed");vi.spyOn(o,"getTypedDataCheck").mockResolvedValue(p(t)),vi.spyOn(d,"loadCertificate").mockRejectedValue(i),await expect(n.load(e)).rejects.toThrow(i)}),it("should call typed data check with correct parameters",async()=>{const t={publicKeyId:"test-key-id",descriptor:"test-descriptor"};vi.spyOn(o,"getTypedDataCheck").mockResolvedValue(p(t)),vi.spyOn(d,"loadCertificate").mockResolvedValue(a),await n.load(e),expect(o.getTypedDataCheck).toHaveBeenCalledWith({data:s,from:e.from})})})});
2
+ //# sourceMappingURL=TypedDataCheckContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/transaction-check/domain/TypedDataCheckContextLoader.test.ts"],
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport type { PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport {\n type TypedData,\n type TypedDataCheckDataSource,\n} from \"@/transaction-check/data/TypedDataCheckDataSource\";\nimport {\n type TypedDataCheckContextInput,\n TypedDataCheckContextLoader,\n} from \"@/transaction-check/domain/TypedDataCheckContextLoader\";\n\ndescribe(\"TypedDataCheckContextLoader\", () => {\n const mockTypedDataCheckDataSource: TypedDataCheckDataSource = {\n getTypedDataCheck: vi.fn(),\n };\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n const loader = new TypedDataCheckContextLoader(\n mockTypedDataCheckDataSource,\n mockCertificateLoader,\n );\n\n const SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.TRANSACTION_CHECK,\n ];\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"canHandle function\", () => {\n const validTypedData: TypedData = {\n domain: {\n name: \"Test Domain\",\n version: \"1\",\n chainId: 1,\n verifyingContract: \"0x1234567890123456789012345678901234567890\",\n },\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n Person: [\n { name: \"name\", type: \"string\" },\n { name: \"wallet\", type: \"address\" },\n ],\n },\n primaryType: \"Person\",\n message: {\n name: \"Alice\",\n wallet: \"0x1234567890123456789012345678901234567890\",\n },\n };\n\n const validInput: TypedDataCheckContextInput = {\n from: \"0x1234567890123456789012345678901234567890\",\n data: validTypedData,\n deviceModelId: DeviceModelId.FLEX,\n };\n\n it(\"should return true for valid input\", () => {\n expect(loader.canHandle(validInput, SUPPORTED_TYPES)).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n false,\n );\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, from: undefined }, \"missing from\"],\n [{ ...validInput, data: undefined }, \"missing data\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing deviceModelId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, from: \"invalid-hex\" }, \"invalid from hex\"],\n [{ ...validInput, from: \"0x\" }, \"empty from hex\"],\n [{ ...validInput, from: \"not-hex\" }, \"non-hex from\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it(\"should return false for NANO_S device model\", () => {\n const inputWithNanoS = {\n ...validInput,\n deviceModelId: DeviceModelId.NANO_S,\n };\n expect(loader.canHandle(inputWithNanoS, SUPPORTED_TYPES)).toBe(false);\n });\n\n it(\"should return false for non-object data\", () => {\n const inputWithInvalidData = {\n ...validInput,\n data: \"not-an-object\" as unknown as TypedData,\n };\n expect(loader.canHandle(inputWithInvalidData, SUPPORTED_TYPES)).toBe(\n false,\n );\n });\n });\n\n describe(\"load function\", () => {\n const validTypedData: TypedData = {\n domain: {\n name: \"Test Domain\",\n version: \"1\",\n chainId: 1,\n verifyingContract: \"0x1234567890123456789012345678901234567890\",\n },\n types: {\n EIP712Domain: [\n { name: \"name\", type: \"string\" },\n { name: \"version\", type: \"string\" },\n { name: \"chainId\", type: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\" },\n ],\n Person: [\n { name: \"name\", type: \"string\" },\n { name: \"wallet\", type: \"address\" },\n ],\n },\n primaryType: \"Person\",\n message: {\n name: \"Alice\",\n wallet: \"0x1234567890123456789012345678901234567890\",\n },\n };\n\n const validInput: TypedDataCheckContextInput = {\n from: \"0x1234567890123456789012345678901234567890\",\n data: validTypedData,\n deviceModelId: DeviceModelId.FLEX,\n };\n\n const mockCertificate = {\n descriptor: \"cert-descriptor\",\n signature: \"cert-signature\",\n keyUsageNumber: 0,\n payload: new Uint8Array(),\n };\n\n it(\"should return empty array when from is empty\", async () => {\n const inputWithEmptyFrom = { ...validInput, from: \"\" };\n const result = await loader.load(inputWithEmptyFrom);\n expect(result).toEqual([]);\n });\n\n it(\"should return error context when typed data check fails\", async () => {\n const error = new Error(\"Typed data check failed\");\n vi.spyOn(\n mockTypedDataCheckDataSource,\n \"getTypedDataCheck\",\n ).mockResolvedValue(Left(error));\n\n const result = await loader.load(validInput);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error,\n },\n ]);\n });\n\n it(\"should return transaction check context when successful\", async () => {\n const typedDataCheckData = {\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(\n mockTypedDataCheckDataSource,\n \"getTypedDataCheck\",\n ).mockResolvedValue(Right(typedDataCheckData));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n\n const result = await loader.load(validInput);\n\n expect(\n mockTypedDataCheckDataSource.getTypedDataCheck,\n ).toHaveBeenCalledWith({\n data: validInput.data,\n from: validInput.from,\n });\n\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: typedDataCheckData.publicKeyId,\n keyUsage: KeyUsage.TxSimulationSigner,\n targetDevice: validInput.deviceModelId,\n });\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.TRANSACTION_CHECK,\n payload: typedDataCheckData.descriptor,\n certificate: mockCertificate,\n },\n ]);\n });\n\n it(\"should handle certificate loading failure\", async () => {\n const typedDataCheckData = {\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n const certificateError = new Error(\"Certificate loading failed\");\n\n vi.spyOn(\n mockTypedDataCheckDataSource,\n \"getTypedDataCheck\",\n ).mockResolvedValue(Right(typedDataCheckData));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockRejectedValue(\n certificateError,\n );\n\n await expect(loader.load(validInput)).rejects.toThrow(certificateError);\n });\n\n it(\"should call typed data check with correct parameters\", async () => {\n const typedDataCheckData = {\n publicKeyId: \"test-key-id\",\n descriptor: \"test-descriptor\",\n };\n vi.spyOn(\n mockTypedDataCheckDataSource,\n \"getTypedDataCheck\",\n ).mockResolvedValue(Right(typedDataCheckData));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n\n await loader.load(validInput);\n\n expect(\n mockTypedDataCheckDataSource.getTypedDataCheck,\n ).toHaveBeenCalledWith({\n data: validTypedData,\n from: validInput.from,\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceModelId", "Left", "Right", "KeyUsage", "ClearSignContextType", "TypedDataCheckContextLoader", "mockTypedDataCheckDataSource", "mockCertificateLoader", "loader", "SUPPORTED_TYPES", "validInput", "input", "_description", "inputWithNanoS", "inputWithInvalidData", "validTypedData", "mockCertificate", "inputWithEmptyFrom", "result", "error", "typedDataCheckData", "certificateError"]
7
+ }
@@ -1,2 +1,2 @@
1
- var $=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var l=(s,r,e,o)=>{for(var t=o>1?void 0:o?D(r,e):r,a=s.length-1,n;a>=0;a--)(n=s[a])&&(t=(o?n(r,e,t):n(t))||t);return o&&t&&$(r,e,t),t},p=(s,r)=>(e,o)=>r(e,o,s);import f from"axios";import{inject as N,injectable as T}from"inversify";import{Left as m,Right as c}from"purify-ts";import{configTypes as C}from"../../config/di/configTypes";import h from"../../../package.json";let d=class{constructor(r){this.config=r}async getDomainNamePayload({chainId:r,domain:e,challenge:o}){try{const n=await f.request({method:"GET",url:`https://nft.api.live.ledger.com/v2/names/ethereum/${r}/forward/${e}?types=eoa&sources=ens&challenge=${o}`,headers:{"X-Ledger-Client-Version":`context-module/${h.version}`}});return n.data.signedDescriptor?.data?c(n.data.signedDescriptor.data):m(new Error("[ContextModule] HttpTrustedNameDataSource: error getting domain payload"))}catch{return m(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch domain name"))}}async getTrustedNamePayload({chainId:r,address:e,challenge:o,sources:t,types:a}){try{t=t.filter(g=>g==="ens"||g==="crypto_asset_list");const i=(await f.request({method:"GET",url:`https://nft.api.live.ledger.com/v2/names/ethereum/${r}/reverse/${e}?types=${a.join(",")}&sources=${t.join(",")}&challenge=${o}`,headers:{"X-Ledger-Client-Version":`context-module/${h.version}`}})).data;if(!i?.signedDescriptor?.data)return m(new Error(`[ContextModule] HttpTrustedNameDataSource: no trusted name metadata for address ${e}`));const u=i.signedDescriptor.data;if(!i.signedDescriptor.signatures||typeof i.signedDescriptor.signatures[this.config.cal.mode]!="string")return c(u);const y=i.signedDescriptor.signatures[this.config.cal.mode];return c(this.formatTrustedName(u,y))}catch{return m(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch trusted name"))}}formatTrustedName(r,e){e.length%2!==0&&(e="0"+e);const o="15",t=(e.length/2).toString(16);return`${r}${o}${t}${e}`}};d=l([T(),p(0,N(C.Config))],d);export{d as HttpTrustedNameDataSource};
1
+ var T=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=(i,e,r,s)=>{for(var t=s>1?void 0:s?h(e,r):e,n=i.length-1,o;n>=0;n--)(o=i[n])&&(t=(s?o(e,r,t):o(t))||t);return s&&t&&T(e,r,t),t},f=(i,e)=>(r,s)=>e(r,s,i);import p from"axios";import{inject as $,injectable as E}from"inversify";import{Left as a,Right as m}from"purify-ts";import{configTypes as k}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as y,LEDGER_ORIGIN_TOKEN_HEADER as l}from"../../shared/constant/HttpHeaders";import D from"../../../package.json";let d=class{constructor(e){this.config=e}async getDomainNamePayload({chainId:e,domain:r,challenge:s}){let t;try{t=(await p.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v2/names/ethereum/${e}/forward/${r}?types=eoa&sources=ens&challenge=${s}`,headers:{[y]:`context-module/${D.version}`,[l]:this.config.originToken}})).data}catch{return a(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch domain name"))}return t?this.isTrustedNameDto(t)?m({data:t.signedDescriptor.data,keyId:t.keyId,keyUsage:t.keyUsage}):a(new Error(`[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for domain ${r} on chain ${e}`)):a(new Error(`[ContextModule] HttpTrustedNameDataSource: No data received for domain ${r} on chain ${e}`))}async getTrustedNamePayload({chainId:e,address:r,challenge:s,sources:t,types:n}){let o;try{t=t.filter(u=>u==="ens"||u==="crypto_asset_list"),o=(await p.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v2/names/ethereum/${e}/reverse/${r}?types=${n.join(",")}&sources=${t.join(",")}&challenge=${s}`,headers:{[y]:`context-module/${D.version}`,[l]:this.config.originToken}})).data}catch{return a(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch trusted name"))}if(!o)return a(new Error(`[ContextModule] HttpTrustedNameDataSource: No data received for address ${r} on chain ${e}`));if(!this.isTrustedNameDto(o))return a(new Error(`[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for address ${r} on chain ${e}`));if(typeof o.signedDescriptor.signatures[this.config.cal.mode]!="string")return m({data:o.signedDescriptor.data,keyId:o.keyId,keyUsage:o.keyUsage});const c=o.signedDescriptor.signatures[this.config.cal.mode];return m({data:this.formatTrustedName(o.signedDescriptor.data,c),keyId:o.keyId,keyUsage:o.keyUsage})}formatTrustedName(e,r){r.length%2!==0&&(r="0"+r);const s="15",t=(r.length/2).toString(16);return`${e}${s}${t}${r}`}isTrustedNameDto(e){return typeof e=="object"&&e!==null&&"signedDescriptor"in e&&"keyId"in e&&"keyUsage"in e&&typeof e.keyId=="string"&&typeof e.keyUsage=="string"&&typeof e.signedDescriptor=="object"&&e.signedDescriptor!==null&&"data"in e.signedDescriptor&&"signatures"in e.signedDescriptor&&typeof e.signedDescriptor.data=="string"&&typeof e.signedDescriptor.signatures=="object"}};d=g([E(),f(0,$(k.Config))],d);export{d as HttpTrustedNameDataSource};
2
2
  //# sourceMappingURL=HttpTrustedNameDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/trusted-name/data/HttpTrustedNameDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n GetDomainNameInfosParams,\n GetTrustedNameInfosParams,\n TrustedNameDataSource,\n} from \"@/trusted-name/data/TrustedNameDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { TrustedNameDto } from \"./TrustedNameDto\";\n\n@injectable()\nexport class HttpTrustedNameDataSource implements TrustedNameDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getDomainNamePayload({\n chainId,\n domain,\n challenge,\n }: GetDomainNameInfosParams): Promise<Either<Error, string>> {\n try {\n const type = \"eoa\"; // Externally owned account\n const source = \"ens\"; // Ethereum name service\n const response = await axios.request<TrustedNameDto>({\n method: \"GET\",\n url: `https://nft.api.live.ledger.com/v2/names/ethereum/${chainId}/forward/${domain}?types=${type}&sources=${source}&challenge=${challenge}`,\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n return response.data.signedDescriptor?.data\n ? Right(response.data.signedDescriptor.data)\n : Left(\n new Error(\n \"[ContextModule] HttpTrustedNameDataSource: error getting domain payload\",\n ),\n );\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTrustedNameDataSource: Failed to fetch domain name\",\n ),\n );\n }\n }\n\n public async getTrustedNamePayload({\n chainId,\n address,\n challenge,\n sources,\n types,\n }: GetTrustedNameInfosParams): Promise<Either<Error, string>> {\n try {\n // TODO remove that filtering once https://ledgerhq.atlassian.net/browse/BACK-8075 is done\n // For now we have to filter or trusted names won't work with the generic parser, because transaction\n // fields descriptors can contain unsupported sources.\n sources = sources.filter(\n (source) => source === \"ens\" || source === \"crypto_asset_list\",\n );\n const response = await axios.request<TrustedNameDto>({\n method: \"GET\",\n url: `https://nft.api.live.ledger.com/v2/names/ethereum/${chainId}/reverse/${address}?types=${types.join(\",\")}&sources=${sources.join(\",\")}&challenge=${challenge}`,\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n const trustedName = response.data;\n if (!trustedName?.signedDescriptor?.data) {\n return Left(\n new Error(\n `[ContextModule] HttpTrustedNameDataSource: no trusted name metadata for address ${address}`,\n ),\n );\n }\n const payload = trustedName.signedDescriptor.data;\n\n if (\n !trustedName.signedDescriptor.signatures ||\n typeof trustedName.signedDescriptor.signatures[this.config.cal.mode] !==\n \"string\"\n ) {\n // If we have no separated signature but a valid descriptor, it may mean the descriptor was\n // signed on-the-fly for dynamic sources such as ens\n return Right(payload);\n }\n\n const signature =\n trustedName.signedDescriptor.signatures[this.config.cal.mode]!;\n return Right(this.formatTrustedName(payload, signature));\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTrustedNameDataSource: Failed to fetch trusted name\",\n ),\n );\n }\n }\n\n private formatTrustedName(payload: string, signature: string): string {\n // Ensure correct padding\n if (signature.length % 2 !== 0) {\n signature = \"0\" + signature;\n }\n // TLV encoding as according to trusted name documentation\n const signatureTag = \"15\";\n const signatureLength = (signature.length / 2).toString(16);\n return `${payload}${signatureTag}${signatureLength}${signature}`;\n }\n}\n"],
5
- "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAO5B,OAAOC,MAAa,qBAKb,IAAMC,EAAN,KAAiE,CACtE,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAa,qBAAqB,CAChC,QAAAC,EACA,OAAAC,EACA,UAAAC,CACF,EAA6D,CAC3D,GAAI,CAGF,MAAMC,EAAW,MAAMC,EAAM,QAAwB,CACnD,OAAQ,MACR,IAAK,qDAAqDJ,CAAO,YAAYC,CAAM,oCAA8CC,CAAS,GAC1I,QAAS,CACP,0BAA2B,kBAAkBG,EAAQ,OAAO,EAC9D,CACF,CAAC,EAED,OAAOF,EAAS,KAAK,kBAAkB,KACnCG,EAAMH,EAAS,KAAK,iBAAiB,IAAI,EACzCI,EACE,IAAI,MACF,yEACF,CACF,CACN,MAAiB,CACf,OAAOA,EACL,IAAI,MACF,wEACF,CACF,CACF,CACF,CAEA,MAAa,sBAAsB,CACjC,QAAAP,EACA,QAAAQ,EACA,UAAAN,EACA,QAAAO,EACA,MAAAC,CACF,EAA8D,CAC5D,GAAI,CAIFD,EAAUA,EAAQ,OACfE,GAAWA,IAAW,OAASA,IAAW,mBAC7C,EAQA,MAAMC,GAPW,MAAMR,EAAM,QAAwB,CACnD,OAAQ,MACR,IAAK,qDAAqDJ,CAAO,YAAYQ,CAAO,UAAUE,EAAM,KAAK,GAAG,CAAC,YAAYD,EAAQ,KAAK,GAAG,CAAC,cAAcP,CAAS,GACjK,QAAS,CACP,0BAA2B,kBAAkBG,EAAQ,OAAO,EAC9D,CACF,CAAC,GAC4B,KAC7B,GAAI,CAACO,GAAa,kBAAkB,KAClC,OAAOL,EACL,IAAI,MACF,mFAAmFC,CAAO,EAC5F,CACF,EAEF,MAAMK,EAAUD,EAAY,iBAAiB,KAE7C,GACE,CAACA,EAAY,iBAAiB,YAC9B,OAAOA,EAAY,iBAAiB,WAAW,KAAK,OAAO,IAAI,IAAI,GACjE,SAIF,OAAON,EAAMO,CAAO,EAGtB,MAAMC,EACJF,EAAY,iBAAiB,WAAW,KAAK,OAAO,IAAI,IAAI,EAC9D,OAAON,EAAM,KAAK,kBAAkBO,EAASC,CAAS,CAAC,CACzD,MAAiB,CACf,OAAOP,EACL,IAAI,MACF,yEACF,CACF,CACF,CACF,CAEQ,kBAAkBM,EAAiBC,EAA2B,CAEhEA,EAAU,OAAS,IAAM,IAC3BA,EAAY,IAAMA,GAGpB,MAAMC,EAAe,KACfC,GAAmBF,EAAU,OAAS,GAAG,SAAS,EAAE,EAC1D,MAAO,GAAGD,CAAO,GAAGE,CAAY,GAAGC,CAAe,GAAGF,CAAS,EAChE,CACF,EApGahB,EAANmB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBvB",
6
- "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "PACKAGE", "HttpTrustedNameDataSource", "config", "chainId", "domain", "challenge", "response", "axios", "PACKAGE", "Right", "Left", "address", "sources", "types", "source", "trustedName", "payload", "signature", "signatureTag", "signatureLength", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport {\n GetDomainNameInfosParams,\n GetTrustedNameInfosParams,\n TrustedNameDataSource,\n TrustedNamePayload,\n} from \"@/trusted-name/data/TrustedNameDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { TrustedNameDto } from \"./TrustedNameDto\";\n\n@injectable()\nexport class HttpTrustedNameDataSource implements TrustedNameDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getDomainNamePayload({\n chainId,\n domain,\n challenge,\n }: GetDomainNameInfosParams): Promise<Either<Error, TrustedNamePayload>> {\n let dto: TrustedNameDto | undefined;\n try {\n const type = \"eoa\"; // Externally owned account\n const source = \"ens\"; // Ethereum name service\n const response = await axios.request<TrustedNameDto>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v2/names/ethereum/${chainId}/forward/${domain}?types=${type}&sources=${source}&challenge=${challenge}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n dto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTrustedNameDataSource: Failed to fetch domain name\",\n ),\n );\n }\n\n if (!dto) {\n return Left(\n new Error(\n `[ContextModule] HttpTrustedNameDataSource: No data received for domain ${domain} on chain ${chainId}`,\n ),\n );\n }\n\n if (!this.isTrustedNameDto(dto)) {\n return Left(\n new Error(\n `[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for domain ${domain} on chain ${chainId}`,\n ),\n );\n }\n\n return Right({\n data: dto.signedDescriptor.data,\n keyId: dto.keyId,\n keyUsage: dto.keyUsage,\n });\n }\n\n public async getTrustedNamePayload({\n chainId,\n address,\n challenge,\n sources,\n types,\n }: GetTrustedNameInfosParams): Promise<Either<Error, TrustedNamePayload>> {\n let dto: TrustedNameDto | undefined;\n try {\n // TODO remove that filtering once https://ledgerhq.atlassian.net/browse/BACK-8075 is done\n // For now we have to filter or trusted names won't work with the generic parser, because transaction\n // fields descriptors can contain unsupported sources.\n sources = sources.filter(\n (source) => source === \"ens\" || source === \"crypto_asset_list\",\n );\n const response = await axios.request<TrustedNameDto>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v2/names/ethereum/${chainId}/reverse/${address}?types=${types.join(\",\")}&sources=${sources.join(\",\")}&challenge=${challenge}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n dto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTrustedNameDataSource: Failed to fetch trusted name\",\n ),\n );\n }\n\n if (!dto) {\n return Left(\n new Error(\n `[ContextModule] HttpTrustedNameDataSource: No data received for address ${address} on chain ${chainId}`,\n ),\n );\n }\n\n if (!this.isTrustedNameDto(dto)) {\n return Left(\n new Error(\n `[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for address ${address} on chain ${chainId}`,\n ),\n );\n }\n\n if (\n typeof dto.signedDescriptor.signatures[this.config.cal.mode] !== \"string\"\n ) {\n // If we have no separated signature but a valid descriptor, it may mean the descriptor was\n // signed on-the-fly for dynamic sources such as ens\n return Right({\n data: dto.signedDescriptor.data,\n keyId: dto.keyId,\n keyUsage: dto.keyUsage,\n });\n }\n\n const signature = dto.signedDescriptor.signatures[this.config.cal.mode]!;\n return Right({\n data: this.formatTrustedName(dto.signedDescriptor.data, signature),\n keyId: dto.keyId,\n keyUsage: dto.keyUsage,\n });\n }\n\n private formatTrustedName(payload: string, signature: string): string {\n // Ensure correct padding\n if (signature.length % 2 !== 0) {\n signature = \"0\" + signature;\n }\n // TLV encoding as according to trusted name documentation\n const signatureTag = \"15\";\n const signatureLength = (signature.length / 2).toString(16);\n return `${payload}${signatureTag}${signatureLength}${signature}`;\n }\n /**\n * Type guard to validate ProxyDelegateCallDto\n */\n private isTrustedNameDto(value: unknown): value is TrustedNameDto {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"signedDescriptor\" in value &&\n \"keyId\" in value &&\n \"keyUsage\" in value &&\n typeof value.keyId === \"string\" &&\n typeof value.keyUsage === \"string\" &&\n typeof value.signedDescriptor === \"object\" &&\n value.signedDescriptor !== null &&\n \"data\" in value.signedDescriptor &&\n \"signatures\" in value.signedDescriptor &&\n typeof value.signedDescriptor.data === \"string\" &&\n typeof value.signedDescriptor.signatures === \"object\"\n );\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpTrustedNameDataSource", "config", "chainId", "domain", "challenge", "dto", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "Left", "Right", "address", "sources", "types", "source", "signature", "payload", "signatureTag", "signatureLength", "value", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import o from"axios";import{Left as s,Right as r}from"purify-ts";import{HttpTrustedNameDataSource as l}from"../../trusted-name/data/HttpTrustedNameDataSource";import n from"../../../package.json";vi.mock("axios");describe("HttpTrustedNameDataSource",()=>{let t;beforeAll(()=>{const e={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"prod",branch:"main"}};t=new l(e),vi.clearAllMocks()}),describe("getDomainNamePayload",()=>{it("should call axios with the correct url and ledger client version header",async()=>{const e=`context-module/${n.version}`,a=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(o,"request").mockImplementation(a),await t.getDomainNamePayload({chainId:137,challenge:"9876",domain:"hello.eth"}),expect(a).toHaveBeenCalledWith(expect.objectContaining({url:"https://nft.api.live.ledger.com/v2/names/ethereum/137/forward/hello.eth?types=eoa&sources=ens&challenge=9876",headers:{"X-Ledger-Client-Version":e}}))}),it("should throw an error when axios throws an error",async()=>{vi.spyOn(o,"request").mockRejectedValue(new Error);const e=await t.getDomainNamePayload({chainId:137,challenge:"",domain:"hello.eth"});expect(e).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch domain name")))}),it("should return an error when no payload is returned",async()=>{const e={data:{test:""}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getDomainNamePayload({chainId:137,challenge:"",domain:"hello.eth"});expect(a).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: error getting domain payload")))}),it("should return a payload",async()=>{const e={data:{signedDescriptor:{data:"payload"}}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getDomainNamePayload({chainId:137,challenge:"challenge",domain:"hello.eth"});expect(a).toEqual(r("payload"))})}),describe("getTrustedNamePayload",()=>{it("should call axios with the correct url and ledger client version header",async()=>{const e=`context-module/${n.version}`,a=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(o,"request").mockImplementation(a),await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"5678",sources:["ens","crypto_asset_list"],types:["eoa"]}),expect(a).toHaveBeenCalledWith(expect.objectContaining({url:"https://nft.api.live.ledger.com/v2/names/ethereum/137/reverse/0x1234?types=eoa&sources=ens,crypto_asset_list&challenge=5678",headers:{"X-Ledger-Client-Version":e}}))}),it("should throw an error when axios throws an error",async()=>{vi.spyOn(o,"request").mockRejectedValue(new Error);const e=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(e).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch trusted name")))}),it("should return an error when no payload is returned",async()=>{const e={data:{test:""}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: no trusted name metadata for address 0x1234")))}),it("should return a payload",async()=>{const e={data:{signedDescriptor:{data:"payload"}}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(r("payload"))}),it("should return a payload with a signature",async()=>{const e={data:{signedDescriptor:{data:"payload",signatures:{prod:"12345"}}}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(r("payload153012345"))})})});
1
+ import o from"axios";import{Left as s,Right as r}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as d,LEDGER_ORIGIN_TOKEN_HEADER as l}from"../../shared/constant/HttpHeaders";import{HttpTrustedNameDataSource as c}from"../../trusted-name/data/HttpTrustedNameDataSource";import i from"../../../package.json";vi.mock("axios");const n={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"prod",branch:"main"},metadataServiceDomain:{url:"https://nft.api.live.ledger.com"},originToken:"originToken"};describe("HttpTrustedNameDataSource",()=>{let t;beforeAll(()=>{t=new c(n),vi.clearAllMocks()}),describe("getDomainNamePayload",()=>{it("should call axios with the correct url and ledger client version header",async()=>{const e=`context-module/${i.version}`,a=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(o,"request").mockImplementation(a),await t.getDomainNamePayload({chainId:137,challenge:"9876",domain:"hello.eth"}),expect(a).toHaveBeenCalledWith(expect.objectContaining({url:"https://nft.api.live.ledger.com/v2/names/ethereum/137/forward/hello.eth?types=eoa&sources=ens&challenge=9876",headers:{[d]:e,[l]:n.originToken}}))}),it("should throw an error when axios throws an error",async()=>{vi.spyOn(o,"request").mockRejectedValue(new Error);const e=await t.getDomainNamePayload({chainId:137,challenge:"",domain:"hello.eth"});expect(e).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch domain name")))}),it("should return an error when no payload is returned",async()=>{const e={data:{test:""}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getDomainNamePayload({chainId:137,challenge:"",domain:"hello.eth"});expect(a).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for domain hello.eth on chain 137")))}),it("should return a payload",async()=>{const e={data:{signedDescriptor:{data:"payload",signatures:{}},keyId:"testKeyId",keyUsage:"testKeyUsage"}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getDomainNamePayload({chainId:137,challenge:"challenge",domain:"hello.eth"});expect(a).toEqual(r({data:"payload",keyId:"testKeyId",keyUsage:"testKeyUsage"}))})}),describe("getTrustedNamePayload",()=>{it("should call axios with the correct url and ledger client version header",async()=>{const e=`context-module/${i.version}`,a=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(o,"request").mockImplementation(a),await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"5678",sources:["ens","crypto_asset_list"],types:["eoa"]}),expect(a).toHaveBeenCalledWith(expect.objectContaining({url:"https://nft.api.live.ledger.com/v2/names/ethereum/137/reverse/0x1234?types=eoa&sources=ens,crypto_asset_list&challenge=5678",headers:{[d]:e,[l]:n.originToken}}))}),it("should throw an error when axios throws an error",async()=>{vi.spyOn(o,"request").mockRejectedValue(new Error);const e=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(e).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Failed to fetch trusted name")))}),it("should return an error when no payload is returned",async()=>{const e={data:{test:""}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for address 0x1234 on chain 137")))}),it("should return an error when no keys are returned",async()=>{const e={data:{signedDescriptor:{data:"payload",signatures:{prod:"12345"}}}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(s(new Error("[ContextModule] HttpTrustedNameDataSource: Invalid trusted name response format for address 0x1234 on chain 137")))}),it("should return a payload",async()=>{const e={data:{signedDescriptor:{data:"payload",signatures:{}},keyId:"testKeyId",keyUsage:"testKeyUsage"}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(r({data:"payload",keyId:"testKeyId",keyUsage:"testKeyUsage"}))}),it("should return a payload with a signature",async()=>{const e={data:{signedDescriptor:{data:"payload",signatures:{prod:"12345"}},keyId:"testKeyId",keyUsage:"testKeyUsage"}};vi.spyOn(o,"request").mockResolvedValue(e);const a=await t.getTrustedNamePayload({chainId:137,address:"0x1234",challenge:"",sources:["ens"],types:["eoa"]});expect(a).toEqual(r({data:"payload153012345",keyId:"testKeyId",keyUsage:"testKeyUsage"}))})})});
2
2
  //# sourceMappingURL=HttpTrustedNameDataSource.test.js.map