@ledgerhq/context-module 0.0.0-hid-candidate-4-20250528125313 → 0.0.0-intent-queue-2-20251112131539

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 (800) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/ContextModule.js +1 -1
  3. package/lib/cjs/src/ContextModule.js.map +1 -1
  4. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  6. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  7. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  8. package/lib/cjs/src/DefaultContextModule.js +1 -1
  9. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  10. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  11. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  12. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  13. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  14. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  15. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  18. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  19. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  20. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  21. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  22. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  23. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  24. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  25. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  28. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  29. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  30. package/lib/cjs/src/di.js +1 -1
  31. package/lib/cjs/src/di.js.map +3 -3
  32. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js +2 -0
  33. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  34. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  35. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  36. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  37. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  38. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +2 -0
  39. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  40. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  41. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  42. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  43. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  44. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  45. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  46. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  47. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  48. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js +2 -0
  49. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  50. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  51. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +2 -2
  52. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  53. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  54. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  55. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  56. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  57. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  58. package/lib/cjs/src/index.js +1 -1
  59. package/lib/cjs/src/index.js.map +2 -2
  60. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  61. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  62. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  63. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  64. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  65. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  66. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  67. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  68. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  69. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  70. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  71. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  72. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  73. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  74. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  75. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  76. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +2 -2
  77. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +1 -1
  78. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +3 -3
  79. package/lib/cjs/src/pki/model/KeyUsage.js +1 -1
  80. package/lib/cjs/src/pki/model/KeyUsage.js.map +2 -2
  81. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +1 -1
  82. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +1 -1
  83. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  84. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  85. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  86. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  87. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  88. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  89. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  90. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  91. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  92. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  93. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js +2 -0
  94. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  95. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js +2 -0
  96. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  97. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  98. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  99. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  100. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  101. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  102. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  103. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  104. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  105. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  106. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  107. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  108. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  109. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  110. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  111. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  112. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  113. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  114. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  115. package/lib/cjs/src/safe/data/SafeAccountDataSource.js +2 -0
  116. package/lib/cjs/src/safe/data/SafeAccountDataSource.js.map +7 -0
  117. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js +2 -0
  118. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  119. package/lib/cjs/src/safe/di/safeModuleFactory.js +2 -0
  120. package/lib/cjs/src/safe/di/safeModuleFactory.js.map +7 -0
  121. package/lib/cjs/src/safe/di/safeModuleFactory.test.js +2 -0
  122. package/lib/cjs/src/safe/di/safeModuleFactory.test.js.map +7 -0
  123. package/lib/cjs/src/safe/di/safeTypes.js +2 -0
  124. package/lib/cjs/src/safe/di/safeTypes.js.map +7 -0
  125. package/lib/cjs/src/safe/domain/SafeAddressLoader.js +2 -0
  126. package/lib/cjs/src/safe/domain/SafeAddressLoader.js.map +7 -0
  127. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js +2 -0
  128. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  129. package/lib/cjs/src/shared/constant/HttpHeaders.js +1 -1
  130. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +1 -1
  131. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  132. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  133. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  134. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  135. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  136. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  137. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +2 -0
  138. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +7 -0
  139. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  140. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  141. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  142. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  143. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  144. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  145. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +1 -1
  146. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +2 -2
  147. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +1 -1
  148. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  149. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  150. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  151. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  152. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  153. package/lib/cjs/src/solana/data/SolanaDataSource.js +2 -0
  154. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +7 -0
  155. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js +2 -0
  156. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  157. package/lib/cjs/src/solana/di/solanaContextTypes.js +2 -0
  158. package/lib/cjs/src/solana/di/solanaContextTypes.js.map +7 -0
  159. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  160. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  161. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  162. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  163. package/lib/cjs/src/solana/domain/SolanaContextLoader.js +2 -0
  164. package/lib/cjs/src/solana/domain/SolanaContextLoader.js.map +7 -0
  165. package/lib/cjs/src/solana/domain/solanaContextTypes.js +2 -0
  166. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +7 -0
  167. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  168. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +2 -2
  169. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  170. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +2 -2
  171. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  172. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  173. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  174. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  175. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  176. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  177. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  178. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  179. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  180. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  181. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  182. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  183. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  184. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  185. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  186. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  187. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  188. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  189. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  190. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  191. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js +2 -0
  192. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  193. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js +2 -0
  194. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  195. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js +2 -0
  196. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  197. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js +2 -0
  198. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  199. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  200. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  201. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js +2 -0
  202. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  203. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  204. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  205. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  206. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  207. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  208. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  209. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  210. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  211. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  212. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  213. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  214. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  215. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  216. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  217. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  218. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  219. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  220. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  221. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  222. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  223. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  224. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  225. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  226. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  227. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  228. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  229. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  230. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  231. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  232. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  233. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  234. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  235. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  236. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  237. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  238. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  239. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  240. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  241. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  242. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  243. package/lib/cjs/src/uniswap/constants/uniswap.js +1 -1
  244. package/lib/cjs/src/uniswap/constants/uniswap.js.map +3 -3
  245. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +1 -1
  246. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  247. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  248. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  249. package/lib/esm/package.json +1 -1
  250. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  251. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  252. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  253. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  254. package/lib/esm/src/DefaultContextModule.js +1 -1
  255. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  256. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  257. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  258. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  259. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  260. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  261. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  262. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  263. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  264. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  265. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  266. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  267. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  268. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  269. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  270. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  271. package/lib/esm/src/di.js +1 -1
  272. package/lib/esm/src/di.js.map +3 -3
  273. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js +1 -0
  274. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  275. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  276. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  277. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  278. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +1 -0
  279. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  280. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  281. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  282. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  283. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  284. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  285. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  286. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  287. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js +1 -0
  288. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  289. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  290. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  291. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  292. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  293. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  294. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  295. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  296. package/lib/esm/src/index.js +1 -1
  297. package/lib/esm/src/index.js.map +2 -2
  298. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  299. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  300. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  301. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  302. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  303. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  304. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  305. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  306. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  307. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  308. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  309. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  310. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  311. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  312. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  313. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  314. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +2 -2
  315. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +1 -1
  316. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +3 -3
  317. package/lib/esm/src/pki/model/KeyUsage.js +1 -1
  318. package/lib/esm/src/pki/model/KeyUsage.js.map +2 -2
  319. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  320. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  321. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  322. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  323. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  324. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  325. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  326. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  327. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  328. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js +1 -0
  329. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js +1 -0
  330. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  331. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  332. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  333. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  334. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  335. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  336. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  337. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  338. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  339. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  340. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  341. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  342. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  343. package/lib/esm/src/proxy/model/ProxyDelegateCall.js +1 -0
  344. package/lib/esm/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  345. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  346. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  347. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  348. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  349. package/lib/esm/src/safe/data/SafeAccountDataSource.js +1 -0
  350. package/lib/esm/src/safe/data/SafeAccountDataSource.js.map +7 -0
  351. package/lib/esm/src/safe/data/dto/SafeAccountDto.js +1 -0
  352. package/lib/esm/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  353. package/lib/esm/src/safe/di/safeModuleFactory.js +2 -0
  354. package/lib/esm/src/safe/di/safeModuleFactory.js.map +7 -0
  355. package/lib/esm/src/safe/di/safeModuleFactory.test.js +2 -0
  356. package/lib/esm/src/safe/di/safeModuleFactory.test.js.map +7 -0
  357. package/lib/esm/src/safe/di/safeTypes.js +2 -0
  358. package/lib/esm/src/safe/di/safeTypes.js.map +7 -0
  359. package/lib/esm/src/safe/domain/SafeAddressLoader.js +2 -0
  360. package/lib/esm/src/safe/domain/SafeAddressLoader.js.map +7 -0
  361. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js +2 -0
  362. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  363. package/lib/esm/src/shared/constant/HttpHeaders.js +1 -1
  364. package/lib/esm/src/shared/constant/HttpHeaders.js.map +1 -1
  365. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  366. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  367. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  368. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  369. package/lib/esm/src/shared/model/SolanaTransactionContext.js +1 -0
  370. package/lib/esm/src/shared/model/SolanaTransactionContext.js.map +7 -0
  371. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  372. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  373. package/lib/esm/src/shared/utils/KeyUsageMapper.js +1 -1
  374. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +2 -2
  375. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +1 -1
  376. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  377. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  378. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  379. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  380. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  381. package/lib/esm/src/solana/data/SolanaDataSource.js +1 -0
  382. package/lib/esm/src/solana/data/SolanaDataSource.js.map +7 -0
  383. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js +2 -0
  384. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  385. package/lib/esm/src/solana/di/solanaContextTypes.js +2 -0
  386. package/lib/esm/src/solana/di/solanaContextTypes.js.map +7 -0
  387. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  388. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  389. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  390. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  391. package/lib/esm/src/solana/domain/SolanaContextLoader.js +1 -0
  392. package/lib/esm/src/solana/domain/SolanaContextLoader.js.map +7 -0
  393. package/lib/esm/src/solana/domain/solanaContextTypes.js +1 -0
  394. package/lib/esm/src/solana/domain/solanaContextTypes.js.map +7 -0
  395. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  396. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +2 -2
  397. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  398. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +2 -2
  399. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  400. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  401. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  402. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  403. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  404. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  405. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  406. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  407. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  408. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  409. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  410. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  411. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  412. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  413. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  414. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  415. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  416. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  417. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  418. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  419. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js +1 -0
  420. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  421. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js +1 -0
  422. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  423. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js +1 -0
  424. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  425. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js +1 -0
  426. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  427. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  428. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  429. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js +2 -0
  430. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  431. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  432. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  433. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  434. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  435. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  436. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  437. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  438. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  439. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  440. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  441. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  442. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  443. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  444. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  445. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  446. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  447. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  448. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  449. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  450. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  451. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  452. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  453. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  454. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  455. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  456. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  457. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  458. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  459. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  460. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  461. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  462. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  463. package/lib/esm/src/uniswap/constants/uniswap.js +1 -1
  464. package/lib/esm/src/uniswap/constants/uniswap.js.map +3 -3
  465. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +1 -1
  466. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  467. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  468. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  469. package/lib/types/src/ContextModule.d.ts +6 -6
  470. package/lib/types/src/ContextModule.d.ts.map +1 -1
  471. package/lib/types/src/ContextModuleBuilder.d.ts +21 -8
  472. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  473. package/lib/types/src/DefaultContextModule.d.ts +10 -8
  474. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  475. package/lib/types/src/{transaction/data/TransactionDataSource.d.ts → calldata/data/CalldataDescriptorDataSource.d.ts} +4 -4
  476. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  477. package/lib/types/src/{transaction/data/HttpTransactionDataSource.d.ts → calldata/data/HttpCalldataDescriptorDataSource.d.ts} +6 -5
  478. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  479. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  480. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  481. package/lib/types/src/{transaction/data → calldata/data/dto}/CalldataDto.d.ts +10 -1
  482. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  483. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  484. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  485. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  486. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  487. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  488. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  489. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  490. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  491. package/lib/types/src/config/model/ContextModuleConfig.d.ts +13 -2
  492. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  493. package/lib/types/src/di.d.ts.map +1 -1
  494. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts +6 -0
  495. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts.map +1 -0
  496. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +13 -0
  497. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -0
  498. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts +2 -0
  499. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts.map +1 -0
  500. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts +14 -0
  501. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts.map +1 -0
  502. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts +3 -0
  503. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts.map +1 -0
  504. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts +5 -0
  505. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts.map +1 -0
  506. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +19 -0
  507. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -0
  508. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts +2 -0
  509. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts.map +1 -0
  510. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts +16 -0
  511. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts.map +1 -0
  512. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  513. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +20 -5
  514. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  515. package/lib/types/src/index.d.ts +39 -3
  516. package/lib/types/src/index.d.ts.map +1 -1
  517. package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -0
  518. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  519. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  520. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  521. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  522. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  523. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  524. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  525. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  526. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  527. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  528. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -1
  529. package/lib/types/src/pki/model/KeyUsage.d.ts +2 -1
  530. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -1
  531. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +1 -2
  532. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -1
  533. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  534. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  535. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts +2 -0
  536. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  537. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  538. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  539. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  540. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  541. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  542. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  543. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts +5 -0
  544. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  545. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts +6 -0
  546. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  547. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  548. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  549. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  550. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  551. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  552. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  553. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  554. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  555. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  556. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  557. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  558. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  559. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  560. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  561. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +11 -0
  562. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -0
  563. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts +2 -0
  564. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts.map +1 -0
  565. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts +20 -0
  566. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts.map +1 -0
  567. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts +10 -0
  568. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts.map +1 -0
  569. package/lib/types/src/safe/di/safeModuleFactory.d.ts +3 -0
  570. package/lib/types/src/safe/di/safeModuleFactory.d.ts.map +1 -0
  571. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts +2 -0
  572. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts.map +1 -0
  573. package/lib/types/src/safe/di/safeTypes.d.ts +5 -0
  574. package/lib/types/src/safe/di/safeTypes.d.ts.map +1 -0
  575. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts +19 -0
  576. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts.map +1 -0
  577. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts +2 -0
  578. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts.map +1 -0
  579. package/lib/types/src/shared/constant/HttpHeaders.d.ts +1 -1
  580. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -1
  581. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +15 -0
  582. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  583. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  584. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  585. package/lib/types/src/shared/model/ClearSignContext.d.ts +33 -10
  586. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  587. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +11 -0
  588. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -0
  589. package/lib/types/src/shared/model/TransactionSubset.d.ts +3 -2
  590. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  591. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +33 -1
  592. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  593. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  594. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  595. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +1 -2
  596. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -1
  597. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +13 -0
  598. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -0
  599. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts +2 -0
  600. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts.map +1 -0
  601. package/lib/types/src/solana/data/SolanaDataSource.d.ts +12 -0
  602. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -0
  603. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts +3 -0
  604. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts.map +1 -0
  605. package/lib/types/src/solana/di/solanaContextTypes.d.ts +5 -0
  606. package/lib/types/src/solana/di/solanaContextTypes.d.ts.map +1 -0
  607. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +11 -0
  608. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -0
  609. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts +2 -0
  610. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts.map +1 -0
  611. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts +5 -0
  612. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts.map +1 -0
  613. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +27 -0
  614. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -0
  615. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  616. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  617. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  618. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  619. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  620. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  621. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  622. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  623. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  624. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  625. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +10 -0
  626. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -0
  627. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts +2 -0
  628. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts.map +1 -0
  629. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +10 -0
  630. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -0
  631. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts +2 -0
  632. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts.map +1 -0
  633. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts +14 -0
  634. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts.map +1 -0
  635. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts +28 -0
  636. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts.map +1 -0
  637. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts +5 -0
  638. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts.map +1 -0
  639. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts +5 -0
  640. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts.map +1 -0
  641. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts +3 -0
  642. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts.map +1 -0
  643. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts +7 -0
  644. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts.map +1 -0
  645. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +19 -0
  646. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -0
  647. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts +2 -0
  648. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts.map +1 -0
  649. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +18 -0
  650. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -0
  651. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts +2 -0
  652. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts.map +1 -0
  653. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  654. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  655. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +7 -2
  656. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  657. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  658. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  659. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  660. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  661. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  662. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  663. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  664. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  665. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  666. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  667. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  668. package/lib/types/src/typed-data/data/FiltersDto.d.ts +32 -2
  669. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  670. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +3 -0
  671. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  672. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  673. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  674. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  675. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  676. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  677. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  678. package/lib/types/src/uniswap/constants/uniswap.d.ts +0 -1
  679. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -1
  680. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +10 -11
  681. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -1
  682. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  683. package/package.json +5 -5
  684. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  685. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  686. package/lib/cjs/src/transaction/data/CalldataDto.js +0 -2
  687. package/lib/cjs/src/transaction/data/CalldataDto.js.map +0 -7
  688. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  689. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  690. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  691. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  692. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  693. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  694. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  695. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  696. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  697. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  698. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  699. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  700. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  701. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  702. package/lib/cjs/src/uniswap/constants/plugin.js +0 -2
  703. package/lib/cjs/src/uniswap/constants/plugin.js.map +0 -7
  704. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  705. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  706. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  707. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  708. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js +0 -2
  709. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js.map +0 -7
  710. package/lib/cjs/src/web3-check/data/Web3CheckDto.js +0 -2
  711. package/lib/cjs/src/web3-check/data/Web3CheckDto.js.map +0 -7
  712. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  713. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  714. package/lib/cjs/src/web3-check/di/web3CheckTypes.js +0 -2
  715. package/lib/cjs/src/web3-check/di/web3CheckTypes.js.map +0 -7
  716. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  717. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  718. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  719. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  720. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js +0 -2
  721. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js.map +0 -7
  722. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js +0 -2
  723. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js.map +0 -7
  724. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  725. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  726. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  727. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  728. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  729. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  730. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  731. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  732. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  733. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  734. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  735. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  736. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  737. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  738. package/lib/esm/src/uniswap/constants/plugin.js +0 -2
  739. package/lib/esm/src/uniswap/constants/plugin.js.map +0 -7
  740. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  741. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  742. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  743. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  744. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js +0 -1
  745. package/lib/esm/src/web3-check/data/Web3CheckDto.js +0 -1
  746. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  747. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  748. package/lib/esm/src/web3-check/di/web3CheckTypes.js +0 -2
  749. package/lib/esm/src/web3-check/di/web3CheckTypes.js.map +0 -7
  750. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  751. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  752. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  753. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  754. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js +0 -1
  755. package/lib/esm/src/web3-check/domain/web3CheckTypes.js +0 -1
  756. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -21
  757. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  758. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +0 -1
  759. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  760. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  761. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  762. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  763. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  764. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  765. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
  766. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  767. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -10
  768. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  769. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  770. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  771. package/lib/types/src/uniswap/constants/plugin.d.ts +0 -3
  772. package/lib/types/src/uniswap/constants/plugin.d.ts.map +0 -1
  773. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts +0 -14
  774. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts.map +0 -1
  775. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts +0 -2
  776. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts.map +0 -1
  777. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts +0 -6
  778. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts.map +0 -1
  779. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts +0 -20
  780. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts.map +0 -1
  781. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts +0 -3
  782. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts.map +0 -1
  783. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts +0 -5
  784. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts.map +0 -1
  785. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts +0 -10
  786. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts.map +0 -1
  787. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts +0 -2
  788. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts.map +0 -1
  789. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts +0 -6
  790. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts.map +0 -1
  791. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts +0 -35
  792. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts.map +0 -1
  793. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  794. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js +0 -0
  795. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js.map +0 -0
  796. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → dynamic-network/data/DynamicNetworkDataSource.js.map} +0 -0
  797. /package/lib/esm/src/{web3-check/data/Web3CheckDataSource.js.map → dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map} +0 -0
  798. /package/lib/esm/src/{web3-check/data/Web3CheckDto.js.map → dynamic-network/model/DynamicNetworkConfiguration.js.map} +0 -0
  799. /package/lib/esm/src/{web3-check/domain/Web3CheckContextLoader.js.map → proxy/data/ProxyDataSource.js.map} +0 -0
  800. /package/lib/esm/src/{web3-check/domain/web3CheckTypes.js.map → proxy/data/dto/ProxyDelegateCallDto.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/dynamic-network/data/HttpDynamicNetworkDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\nimport { beforeAll, beforeEach, describe, expect, it, vi } from \"vitest\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\n\nimport { HttpDynamicNetworkDataSource } from \"./HttpDynamicNetworkDataSource\";\n\nvi.mock(\"axios\");\n\ndescribe(\"HttpNetworkDataSource\", () => {\n let datasource: HttpDynamicNetworkDataSource;\n const mockConfig: ContextModuleConfig = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com\",\n mode: \"prod\",\n branch: \"main\",\n },\n } as ContextModuleConfig;\n\n const mockNetworkResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x010108020101510101230800000000000000895207506f6c79676f6e2403504f4c\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"3045022100c116b5470c266c2947b92aa9eadbe3da03305efc6b8fee041e04e8484a9834af022041d5b82b359614ea8dd94a542dfd87b0ae6f3b4a075aad9a53a030064ab42cd0\",\n test: \"3045022100f78bac5c9c3f2ceeea26680aaea17be61fce84ae7ec983a8194e68275f4fe5900220231afbe39fcec63edfea2b4e787a72d79ce53d6a4c408f24b5a116905a9082d3\",\n },\n },\n stax: {\n data: \"0x010108020101510101230800000000000000895207506f6c79676f6e2403504f4c53204aa5034d2fd4c46647d382aa64d0a03d06b185512bb7942390318bda18d0423a\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"3045022100cf42c039c16fc95dc97c09f15cdd93bed0e63ee45cf5c38c2b30bb8a3bc17f8d022053a96c9e51695c3c1c1a31f5cbf84bd6febadc97f4bb02bdc67cf3e24ad0c32d\",\n test: \"304402207e1e1b8f99b45c95b0cf1e90f46cf07e6a90f82c49ccdb6e2e95ab0c1e2f5a370220784e1fac16bb01c5d096733e1cbf067d616e4de659fda2c388f8c3502e7f7f80\",\n },\n },\n },\n },\n ],\n };\n\n beforeAll(() => {\n datasource = new HttpDynamicNetworkDataSource(mockConfig);\n });\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"getNetworkConfiguration\", () => {\n it(\"should return network configuration successfully\", async () => {\n vi.mocked(axios.get).mockResolvedValue(mockNetworkResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(axios.get).toHaveBeenCalledWith(\n \"https://crypto-assets-service.api.ledger.com/networks?output=id,descriptors,icons&chain_id=1\",\n expect.objectContaining({\n headers: expect.any(Object) as Record<string, string>,\n }),\n );\n\n expect(result).toEqual(\n Right({\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x010108020101510101230800000000000000895207506f6c79676f6e2403504f4c\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"3045022100c116b5470c266c2947b92aa9eadbe3da03305efc6b8fee041e04e8484a9834af022041d5b82b359614ea8dd94a542dfd87b0ae6f3b4a075aad9a53a030064ab42cd0\",\n test: \"3045022100f78bac5c9c3f2ceeea26680aaea17be61fce84ae7ec983a8194e68275f4fe5900220231afbe39fcec63edfea2b4e787a72d79ce53d6a4c408f24b5a116905a9082d3\",\n },\n icon: undefined,\n },\n stax: {\n data: \"0x010108020101510101230800000000000000895207506f6c79676f6e2403504f4c53204aa5034d2fd4c46647d382aa64d0a03d06b185512bb7942390318bda18d0423a\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"3045022100cf42c039c16fc95dc97c09f15cdd93bed0e63ee45cf5c38c2b30bb8a3bc17f8d022053a96c9e51695c3c1c1a31f5cbf84bd6febadc97f4bb02bdc67cf3e24ad0c32d\",\n test: \"304402207e1e1b8f99b45c95b0cf1e90f46cf07e6a90f82c49ccdb6e2e95ab0c1e2f5a370220784e1fac16bb01c5d096733e1cbf067d616e4de659fda2c388f8c3502e7f7f80\",\n },\n icon: undefined,\n },\n },\n }),\n );\n });\n\n it(\"should return error when network data is not found\", async () => {\n vi.mocked(axios.get).mockResolvedValue({ data: [] });\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(new Error(\"Network configuration not found for chain ID: 1\")),\n );\n });\n\n it(\"should return error when network data is undefined\", async () => {\n vi.mocked(axios.get).mockResolvedValue({ data: undefined });\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(new Error(\"Network configuration not found for chain ID: 1\")),\n );\n });\n\n it(\"should return error when axios throws an error\", async () => {\n vi.mocked(axios.get).mockRejectedValue(new Error(\"Network error\"));\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(Left(new Error(\"Network error\")));\n });\n\n it(\"should return generic error when axios throws non-Error\", async () => {\n vi.mocked(axios.get).mockRejectedValue(\"String error\");\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(new Error(\"Failed to fetch network configuration\")),\n );\n });\n\n it(\"should handle invalid data - missing id\", async () => {\n const invalidResponse = {\n data: [\n {\n // Missing id\n descriptors: {},\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid data - missing descriptors\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n // Missing descriptors\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid descriptor - missing data field\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n // Missing data\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: { prod: \"sig1\", test: \"sig2\" },\n },\n },\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid descriptor - missing signatures\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n // Missing signatures\n },\n },\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid signatures - missing prod\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n // Missing prod\n test: \"sig2\",\n },\n },\n },\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should include icons when available\", async () => {\n const responseWithIcons = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"sig1\",\n test: \"sig2\",\n },\n },\n stax: {\n data: \"0x0102\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"sig3\",\n test: \"sig4\",\n },\n },\n },\n icons: {\n flex: \"icon1\",\n stax: \"icon2\",\n },\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(responseWithIcons);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result.isRight()).toBe(true);\n const configuration = result.unsafeCoerce();\n expect(configuration.descriptors.flex.icon).toBe(\"icon1\");\n expect(configuration.descriptors.stax.icon).toBe(\"icon2\");\n });\n\n it(\"should transform data correctly for Polygon chain ID\", async () => {\n vi.mocked(axios.get).mockResolvedValue(mockNetworkResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(137);\n\n expect(axios.get).toHaveBeenCalledWith(\n \"https://crypto-assets-service.api.ledger.com/networks?output=id,descriptors,icons&chain_id=137\",\n expect.objectContaining({\n headers: expect.any(Object) as Record<string, string>,\n }),\n );\n\n expect(result.isRight()).toBe(true);\n const configuration = result.unsafeCoerce();\n expect(Object.keys(configuration.descriptors)).toEqual([\"flex\", \"stax\"]);\n });\n\n it(\"should handle invalid data - null data\", async () => {\n const invalidResponse = {\n data: [null],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(new Error(\"Network configuration not found for chain ID: 1\")),\n );\n });\n\n it(\"should handle invalid data - non-object data\", async () => {\n const invalidResponse = {\n data: [\"string_instead_of_object\"],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid data - icons as string instead of object\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"sig1\",\n test: \"sig2\",\n },\n },\n },\n icons: \"should_be_object_not_string\",\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid data - icons as number instead of object (line 93)\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"sig1\",\n test: \"sig2\",\n },\n },\n },\n icons: 123,\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid descriptor - null descriptor (line 103)\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: null,\n },\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n\n it(\"should handle invalid descriptor - non-object descriptor (line 103)\", async () => {\n const invalidResponse = {\n data: [\n {\n id: \"ethereum\",\n descriptors: {\n flex: \"should_be_object_not_string\",\n },\n },\n ],\n };\n vi.mocked(axios.get).mockResolvedValue(invalidResponse);\n\n const result = await datasource.getDynamicNetworkConfiguration(1);\n\n expect(result).toEqual(\n Left(\n new Error(\"Invalid network configuration response for chain ID: 1\"),\n ),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_axios", "import_purify_ts", "import_vitest", "import_HttpDynamicNetworkDataSource", "datasource", "mockConfig", "mockNetworkResponse", "axios", "result", "invalidResponse", "responseWithIcons", "configuration"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var d=(s,r,n,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of g(r))!p.call(s,t)&&t!==n&&e(s,t,{get:()=>r[t],enumerable:!(i=o(r,t))||i.enumerable});return s};var c=s=>d(e({},"__esModule",{value:!0}),s);var a={};module.exports=c(a);
2
+ //# sourceMappingURL=DynamicNetworkApiResponseDto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.ts"],
4
+ "sourcesContent": ["export type DynamicNetworkApiResponseDto = Array<{\n id: string;\n descriptors: Record<\n string,\n {\n data: string;\n descriptorType: string;\n descriptorVersion: string;\n signatures: {\n prod: string;\n test: string;\n };\n }\n >;\n icons: Record<string, string>;\n}>;\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["DynamicNetworkApiResponseDto_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var D=(o,t)=>{for(var e in t)a(o,e,{get:t[e],enumerable:!0})},N=(o,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of w(t))!k.call(o,r)&&r!==e&&a(o,r,{get:()=>t[r],enumerable:!(n=p(t,r))||n.enumerable});return o};var d=o=>N(a({},"__esModule",{value:!0}),o);var u={};D(u,{dynamicNetworkModuleFactory:()=>f});module.exports=d(u);var c=require("inversify"),i=require("../../dynamic-network/data/HttpDynamicNetworkDataSource"),y=require("../../dynamic-network/domain/DynamicNetworkContextLoader"),m=require("./dynamicNetworkTypes");const f=()=>new c.ContainerModule(({bind:o})=>{o(m.dynamicNetworkTypes.DynamicNetworkDataSource).to(i.HttpDynamicNetworkDataSource),o(m.dynamicNetworkTypes.DynamicNetworkContextLoader).to(y.DynamicNetworkContextLoader)});0&&(module.exports={dynamicNetworkModuleFactory});
2
+ //# sourceMappingURL=dynamicNetworkModuleFactory.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/dynamic-network/di/dynamicNetworkModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpDynamicNetworkDataSource } from \"@/dynamic-network/data/HttpDynamicNetworkDataSource\";\nimport { DynamicNetworkContextLoader } from \"@/dynamic-network/domain/DynamicNetworkContextLoader\";\n\nimport { dynamicNetworkTypes } from \"./dynamicNetworkTypes\";\n\nexport const dynamicNetworkModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(dynamicNetworkTypes.DynamicNetworkDataSource).to(\n HttpDynamicNetworkDataSource,\n );\n bind(dynamicNetworkTypes.DynamicNetworkContextLoader).to(\n DynamicNetworkContextLoader,\n );\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6C,+DAC7CC,EAA4C,gEAE5CC,EAAoC,iCAE7B,MAAML,EAA8B,IACzC,IAAI,kBAAgB,CAAC,CAAE,KAAAM,CAAK,IAAM,CAChCA,EAAK,sBAAoB,wBAAwB,EAAE,GACjD,8BACF,EACAA,EAAK,sBAAoB,2BAA2B,EAAE,GACpD,6BACF,CACF,CAAC",
6
+ "names": ["dynamicNetworkModuleFactory_exports", "__export", "dynamicNetworkModuleFactory", "__toCommonJS", "import_inversify", "import_HttpDynamicNetworkDataSource", "import_DynamicNetworkContextLoader", "import_dynamicNetworkTypes", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var r=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var D=(e,o)=>{for(var a in o)r(e,a,{get:o[a],enumerable:!0})},i=(e,o,a,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of y(o))!m.call(e,t)&&t!==a&&r(e,t,{get:()=>o[t],enumerable:!(c=n(o,t))||c.enumerable});return e};var k=e=>i(r({},"__esModule",{value:!0}),e);var N={};D(N,{dynamicNetworkTypes:()=>w});module.exports=k(N);const w={DynamicNetworkDataSource:Symbol("DynamicNetworkDataSource"),DynamicNetworkContextLoader:Symbol("DynamicNetworkContextLoader")};0&&(module.exports={dynamicNetworkTypes});
2
+ //# sourceMappingURL=dynamicNetworkTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/dynamic-network/di/dynamicNetworkTypes.ts"],
4
+ "sourcesContent": ["export const dynamicNetworkTypes = {\n DynamicNetworkDataSource: Symbol(\"DynamicNetworkDataSource\"),\n DynamicNetworkContextLoader: Symbol(\"DynamicNetworkContextLoader\"),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAsB,CACjC,yBAA0B,OAAO,0BAA0B,EAC3D,4BAA6B,OAAO,6BAA6B,CACnE",
6
+ "names": ["dynamicNetworkTypes_exports", "__export", "dynamicNetworkTypes", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var M=(i,e)=>{for(var t in e)s(i,t,{get:e[t],enumerable:!0})},h=(i,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of T(e))!w.call(i,r)&&r!==t&&s(i,r,{get:()=>e[r],enumerable:!(o=y(e,r))||o.enumerable});return i};var v=i=>h(s({},"__esModule",{value:!0}),i),u=(i,e,t,o)=>{for(var r=o>1?void 0:o?y(e,t):e,a=i.length-1,c;a>=0;a--)(c=i[a])&&(r=(o?c(e,t,r):c(r))||r);return o&&r&&s(e,t,r),r},m=(i,e)=>(t,o)=>e(t,o,i);var E={};M(E,{DynamicNetworkContextLoader:()=>p});module.exports=v(E);var g=require("@ledgerhq/device-management-kit"),n=require("inversify"),I=require("../../config/di/configTypes"),N=require("../../dynamic-network/di/dynamicNetworkTypes"),D=require("../../pki/di/pkiTypes"),k=require("../../pki/model/KeyId"),S=require("../../pki/model/KeyUsage"),f=require("../../shared/model/ClearSignContext"),_=require("../../shared/utils/HexStringUtils");const O="15",P=[f.ClearSignContextType.DYNAMIC_NETWORK,f.ClearSignContextType.DYNAMIC_NETWORK_ICON];let p=class{_networkDataSource;_config;_certificateLoader;constructor(e,t,o){this._networkDataSource=e,this._config=t,this._certificateLoader=o}canHandle(e,t){return typeof e=="object"&&e!==null&&"chainId"in e&&"deviceModelId"in e&&e.deviceModelId!==void 0&&e.deviceModelId!==g.DeviceModelId.NANO_S&&typeof e.chainId=="number"&&P.every(o=>t.includes(o))}async load(e){const{chainId:t,deviceModelId:o}=e,r=await this._networkDataSource.getDynamicNetworkConfiguration(t),a=await this._certificateLoader.loadCertificate({keyId:k.KeyId.CalNetwork,keyUsage:S.KeyUsage.Network,targetDevice:o});return r.caseOf({Left:()=>[],Right:c=>{const l=[],d=c.descriptors[o];if(!d)return[];const C=d.signatures[this._config.cal.mode];if(!C)return[];const x=_.HexStringUtils.appendSignatureToPayload(d.data,C,O);return l.push({type:f.ClearSignContextType.DYNAMIC_NETWORK,payload:x,certificate:a}),d.icon&&l.push({type:f.ClearSignContextType.DYNAMIC_NETWORK_ICON,payload:d.icon}),l}})}};p=u([(0,n.injectable)(),m(0,(0,n.inject)(N.dynamicNetworkTypes.DynamicNetworkDataSource)),m(1,(0,n.inject)(I.configTypes.Config)),m(2,(0,n.inject)(D.pkiTypes.PkiCertificateLoader))],p);0&&(module.exports={DynamicNetworkContextLoader});
2
+ //# sourceMappingURL=DynamicNetworkContextLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/dynamic-network/domain/DynamicNetworkContextLoader.ts"],
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { type DynamicNetworkDataSource } from \"@/dynamic-network/data/DynamicNetworkDataSource\";\nimport { dynamicNetworkTypes } from \"@/dynamic-network/di/dynamicNetworkTypes\";\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { HexStringUtils } from \"@/shared/utils/HexStringUtils\";\n\nexport type DynamicNetworkContextInput = {\n chainId: number;\n deviceModelId: DeviceModelId;\n};\n\nconst NETWORK_SIGNATURE_TAG = \"15\";\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.DYNAMIC_NETWORK,\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n];\n\n@injectable()\nexport class DynamicNetworkContextLoader\n implements ContextLoader<DynamicNetworkContextInput>\n{\n private readonly _networkDataSource: DynamicNetworkDataSource;\n private readonly _config: ContextModuleConfig;\n private readonly _certificateLoader: PkiCertificateLoader;\n\n constructor(\n @inject(dynamicNetworkTypes.DynamicNetworkDataSource)\n networkDataSource: DynamicNetworkDataSource,\n @inject(configTypes.Config)\n config: ContextModuleConfig,\n @inject(pkiTypes.PkiCertificateLoader)\n certificateLoader: PkiCertificateLoader,\n ) {\n this._networkDataSource = networkDataSource;\n this._config = config;\n this._certificateLoader = certificateLoader;\n }\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is DynamicNetworkContextInput {\n return (\n typeof input === \"object\" &&\n input !== null &&\n \"chainId\" in input &&\n \"deviceModelId\" in input &&\n input.deviceModelId !== undefined &&\n input.deviceModelId !== DeviceModelId.NANO_S &&\n typeof input.chainId === \"number\" &&\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type))\n );\n }\n\n async load(input: DynamicNetworkContextInput): Promise<ClearSignContext[]> {\n const { chainId, deviceModelId } = input;\n\n const result =\n await this._networkDataSource.getDynamicNetworkConfiguration(chainId);\n\n // Fetch certificate for the network configuration upfront\n const certificate = await this._certificateLoader.loadCertificate({\n keyId: KeyId.CalNetwork,\n keyUsage: KeyUsage.Network,\n targetDevice: deviceModelId,\n });\n\n return result.caseOf({\n Left: () => [],\n Right: (configuration) => {\n const contexts: ClearSignContext[] = [];\n const descriptor = configuration.descriptors[deviceModelId];\n\n if (!descriptor) {\n return [];\n }\n\n const signature = descriptor.signatures[this._config.cal.mode];\n\n if (!signature) {\n return [];\n }\n\n const configPayload = HexStringUtils.appendSignatureToPayload(\n descriptor.data,\n signature,\n NETWORK_SIGNATURE_TAG,\n );\n\n contexts.push({\n type: ClearSignContextType.DYNAMIC_NETWORK,\n payload: configPayload,\n certificate,\n });\n\n // Add icon if available in the descriptor\n if (descriptor.icon) {\n // Icons don't need signatures appended\n contexts.push({\n type: ClearSignContextType.DYNAMIC_NETWORK_ICON,\n payload: descriptor.icon,\n });\n }\n\n return contexts;\n },\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA8B,2CAC9BC,EAAmC,qBAEnCC,EAA4B,mCAG5BC,EAAoC,oDACpCC,EAAyB,6BAEzBC,EAAsB,6BACtBC,EAAyB,gCAEzBC,EAGO,2CACPC,EAA+B,yCAO/B,MAAMC,EAAwB,KAExBC,EAA0C,CAC9C,uBAAqB,gBACrB,uBAAqB,oBACvB,EAGO,IAAMC,EAAN,KAEP,CACmB,mBACA,QACA,mBAEjB,YAEEC,EAEAC,EAEAC,EACA,CACA,KAAK,mBAAqBF,EAC1B,KAAK,QAAUC,EACf,KAAK,mBAAqBC,CAC5B,CAEA,UACEC,EACAC,EACqC,CACrC,OACE,OAAOD,GAAU,UACjBA,IAAU,MACV,YAAaA,GACb,kBAAmBA,GACnBA,EAAM,gBAAkB,QACxBA,EAAM,gBAAkB,gBAAc,QACtC,OAAOA,EAAM,SAAY,UACzBL,EAAgB,MAAOO,GAASD,EAAc,SAASC,CAAI,CAAC,CAEhE,CAEA,MAAM,KAAKF,EAAgE,CACzE,KAAM,CAAE,QAAAG,EAAS,cAAAC,CAAc,EAAIJ,EAE7BK,EACJ,MAAM,KAAK,mBAAmB,+BAA+BF,CAAO,EAGhEG,EAAc,MAAM,KAAK,mBAAmB,gBAAgB,CAChE,MAAO,QAAM,WACb,SAAU,WAAS,QACnB,aAAcF,CAChB,CAAC,EAED,OAAOC,EAAO,OAAO,CACnB,KAAM,IAAM,CAAC,EACb,MAAQE,GAAkB,CACxB,MAAMC,EAA+B,CAAC,EAChCC,EAAaF,EAAc,YAAYH,CAAa,EAE1D,GAAI,CAACK,EACH,MAAO,CAAC,EAGV,MAAMC,EAAYD,EAAW,WAAW,KAAK,QAAQ,IAAI,IAAI,EAE7D,GAAI,CAACC,EACH,MAAO,CAAC,EAGV,MAAMC,EAAgB,iBAAe,yBACnCF,EAAW,KACXC,EACAhB,CACF,EAEA,OAAAc,EAAS,KAAK,CACZ,KAAM,uBAAqB,gBAC3B,QAASG,EACT,YAAAL,CACF,CAAC,EAGGG,EAAW,MAEbD,EAAS,KAAK,CACZ,KAAM,uBAAqB,qBAC3B,QAASC,EAAW,IACtB,CAAC,EAGID,CACT,CACF,CAAC,CACH,CACF,EA1FaZ,EAANgB,EAAA,IADN,cAAW,EASPC,EAAA,eAAO,sBAAoB,wBAAwB,GAEnDA,EAAA,eAAO,cAAY,MAAM,GAEzBA,EAAA,eAAO,WAAS,oBAAoB,IAZ5BjB",
6
+ "names": ["DynamicNetworkContextLoader_exports", "__export", "DynamicNetworkContextLoader", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_configTypes", "import_dynamicNetworkTypes", "import_pkiTypes", "import_KeyId", "import_KeyUsage", "import_ClearSignContext", "import_HexStringUtils", "NETWORK_SIGNATURE_TAG", "SUPPORTED_TYPES", "DynamicNetworkContextLoader", "networkDataSource", "config", "certificateLoader", "input", "expectedTypes", "type", "chainId", "deviceModelId", "result", "certificate", "configuration", "contexts", "descriptor", "signature", "configPayload", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("@ledgerhq/device-management-kit"),d=require("purify-ts"),f=require("../../dynamic-network/domain/DynamicNetworkContextLoader"),y=require("../../pki/model/KeyId"),m=require("../../pki/model/KeyUsage"),r=require("../../shared/model/ClearSignContext");describe("DynamicNetworkContextLoader",()=>{const c={getDynamicNetworkConfiguration:vi.fn()},l={cal:{url:"https://crypto-assets-service.api.ledger.com",mode:"prod",branch:"main"}},p={loadCertificate:vi.fn()},u={keyUsageNumber:1,payload:new Uint8Array([1,2,3])},a=new f.DynamicNetworkContextLoader(c,l,p),t=o=>({data:"",descriptorType:"",descriptorVersion:"",signatures:{prod:"",test:""},icon:void 0,...o});beforeEach(()=>{vi.restoreAllMocks(),vi.spyOn(p,"loadCertificate").mockResolvedValue(u)}),describe("canHandle function",()=>{const o={chainId:1,deviceModelId:e.DeviceModelId.STAX};it("should return true for valid input",()=>{expect(a.canHandle(o,[r.ClearSignContextType.DYNAMIC_NETWORK,r.ClearSignContextType.DYNAMIC_NETWORK_ICON])).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(a.canHandle(o,[r.ClearSignContextType.TOKEN])).toBe(!1),expect(a.canHandle(o,[r.ClearSignContextType.DYNAMIC_NETWORK])).toBe(!1),expect(a.canHandle(o,[r.ClearSignContextType.DYNAMIC_NETWORK_ICON])).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,i)=>{expect(a.canHandle(n,[r.ClearSignContextType.DYNAMIC_NETWORK,r.ClearSignContextType.DYNAMIC_NETWORK_ICON])).toBe(!1)}),it.each([[{...o,chainId:void 0},"missing chainId"],[{...o,deviceModelId:void 0},"missing deviceModelId"]])("should return false for %s",(n,i)=>{expect(a.canHandle(n,[r.ClearSignContextType.DYNAMIC_NETWORK,r.ClearSignContextType.DYNAMIC_NETWORK_ICON])).toBe(!1)}),it.each([[{...o,chainId:"1"},"string chainId"],[{...o,chainId:null},"null chainId"],[{...o,deviceModelId:e.DeviceModelId.NANO_S},"NANO_S deviceModelId"]])("should return false for %s",(n,i)=>{expect(a.canHandle(n,[r.ClearSignContextType.DYNAMIC_NETWORK,r.ClearSignContextType.DYNAMIC_NETWORK_ICON])).toBe(!1)})}),describe("load function",()=>{it("should return empty array when network data source returns error",async()=>{const o={chainId:1,deviceModelId:e.DeviceModelId.STAX};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Left)(new Error("Network error")));const n=await a.load(o);expect(n).toEqual([]),expect(c.getDynamicNetworkConfiguration).toHaveBeenCalledWith(1)}),it("should return empty array when descriptor for device model is not found",async()=>{const o={chainId:1,deviceModelId:e.DeviceModelId.STAX},n={id:"ethereum",descriptors:{[e.DeviceModelId.NANO_S]:t(),[e.DeviceModelId.NANO_SP]:t(),[e.DeviceModelId.NANO_X]:t(),[e.DeviceModelId.FLEX]:t({data:"0x0101",descriptorType:"network",descriptorVersion:"v1",signatures:{prod:"prod-sig",test:"test-sig"},icon:void 0})}};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Right)(n));const i=await a.load(o);expect(i).toEqual([])}),it("should return empty array when signature for mode is not found",async()=>{const o={chainId:1,deviceModelId:e.DeviceModelId.STAX},n={id:"ethereum",descriptors:{[e.DeviceModelId.APEX]:t(),[e.DeviceModelId.NANO_S]:t(),[e.DeviceModelId.NANO_SP]:t(),[e.DeviceModelId.NANO_X]:t(),[e.DeviceModelId.FLEX]:t(),[e.DeviceModelId.STAX]:t({data:"0x0101",descriptorType:"network",descriptorVersion:"v1",signatures:{test:"test-sig"},icon:void 0})}};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Right)(n));const i=await a.load(o);expect(i).toEqual([])}),it("should return context with network configuration when all data is available",async()=>{const o={chainId:137,deviceModelId:e.DeviceModelId.STAX},n={id:"polygon",descriptors:{[e.DeviceModelId.APEX]:t(),[e.DeviceModelId.NANO_S]:t(),[e.DeviceModelId.NANO_SP]:t(),[e.DeviceModelId.NANO_X]:t(),[e.DeviceModelId.FLEX]:t(),[e.DeviceModelId.STAX]:{data:"0x0101080201015101012308000000000000008952",descriptorType:"network",descriptorVersion:"v1",signatures:{prod:"3045022100cf42c039c16fc95dc97c09f15cdd93bed0e63ee45cf5c38c2b30bb8a3bc17f8d022053a96c9e51695c3c1c1a31f5cbf84bd6febadc97f4bb02bdc67cf3e24ad0c32d",test:"test-sig"},icon:void 0}}};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Right)(n));const i=await a.load(o);expect(i).toHaveLength(1),expect(i[0]).toMatchObject({type:r.ClearSignContextType.DYNAMIC_NETWORK,payload:expect.stringContaining("0x0101080201015101012308000000000000008952"),certificate:u}),expect(p.loadCertificate).toHaveBeenCalledWith({keyId:y.KeyId.CalNetwork,keyUsage:m.KeyUsage.Network,targetDevice:e.DeviceModelId.STAX})}),it("should include icon context when icon is available",async()=>{const o={chainId:1,deviceModelId:e.DeviceModelId.STAX},n={id:"ethereum",descriptors:{[e.DeviceModelId.APEX]:t(),[e.DeviceModelId.NANO_S]:t(),[e.DeviceModelId.NANO_SP]:t(),[e.DeviceModelId.NANO_X]:t(),[e.DeviceModelId.FLEX]:t(),[e.DeviceModelId.STAX]:{data:"0x0101",descriptorType:"network",descriptorVersion:"v1",signatures:{prod:"prod-sig",test:"test-sig"},icon:"icon-hex-data"}}};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Right)(n));const i=await a.load(o);expect(i).toHaveLength(2),expect(i[0]).toMatchObject({type:r.ClearSignContextType.DYNAMIC_NETWORK,payload:expect.any(String),certificate:u}),expect(i[1]).toMatchObject({type:r.ClearSignContextType.DYNAMIC_NETWORK_ICON,payload:"icon-hex-data"})}),it("should handle multiple device models correctly",async()=>{const o={chainId:1,deviceModelId:e.DeviceModelId.FLEX},n={id:"ethereum",descriptors:{[e.DeviceModelId.APEX]:t(),[e.DeviceModelId.NANO_S]:t(),[e.DeviceModelId.NANO_SP]:t(),[e.DeviceModelId.NANO_X]:t(),[e.DeviceModelId.FLEX]:{data:"0xFLEX",descriptorType:"network",descriptorVersion:"v1",signatures:{prod:"flex-prod-sig",test:"flex-test-sig"},icon:void 0},[e.DeviceModelId.STAX]:{data:"0xSTAX",descriptorType:"network",descriptorVersion:"v1",signatures:{prod:"stax-prod-sig",test:"stax-test-sig"},icon:void 0}}};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Right)(n));const i=await a.load(o);expect(i).toHaveLength(1);const s=i[0];s&&"payload"in s&&(expect(s.payload).toContain("0xFLEX"),expect(s.payload).toContain("flex-prod-sig"))}),it("should use test mode signature when configured",async()=>{const o=new f.DynamicNetworkContextLoader(c,{...l,cal:{...l.cal,mode:"test"}},p),n={chainId:1,deviceModelId:e.DeviceModelId.STAX},i={id:"ethereum",descriptors:{[e.DeviceModelId.APEX]:t(),[e.DeviceModelId.NANO_S]:t(),[e.DeviceModelId.NANO_SP]:t(),[e.DeviceModelId.NANO_X]:t(),[e.DeviceModelId.FLEX]:t(),[e.DeviceModelId.STAX]:{data:"0x0101",descriptorType:"network",descriptorVersion:"v1",signatures:{prod:"prod-sig",test:"test-sig"},icon:void 0}}};vi.spyOn(c,"getDynamicNetworkConfiguration").mockResolvedValue((0,d.Right)(i));const s=await o.load(n);expect(s).toHaveLength(1);const N=s[0];N&&"payload"in N&&expect(N.payload).toContain("test-sig")})})});
2
+ //# sourceMappingURL=DynamicNetworkContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/dynamic-network/domain/DynamicNetworkContextLoader.test.ts"],
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { type DynamicNetworkDataSource } from \"@/dynamic-network/data/DynamicNetworkDataSource\";\nimport {\n type DynamicNetworkContextInput,\n DynamicNetworkContextLoader,\n} from \"@/dynamic-network/domain/DynamicNetworkContextLoader\";\nimport {\n type DynamicNetworkConfiguration,\n type DynamicNetworkDescriptor,\n} from \"@/dynamic-network/model/DynamicNetworkConfiguration\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\n\ndescribe(\"DynamicNetworkContextLoader\", () => {\n const mockNetworkDataSource: DynamicNetworkDataSource = {\n getDynamicNetworkConfiguration: vi.fn(),\n };\n\n const mockConfig = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com\",\n mode: \"prod\",\n branch: \"main\",\n },\n } as ContextModuleConfig;\n\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n\n const mockCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([0x01, 0x02, 0x03]),\n };\n\n const loader = new DynamicNetworkContextLoader(\n mockNetworkDataSource,\n mockConfig,\n mockCertificateLoader,\n );\n\n // Helper function to create a mock NetworkDescriptor\n const createMockDescriptor = (\n partial?: Partial<DynamicNetworkDescriptor>,\n ): DynamicNetworkDescriptor => ({\n data: \"\",\n descriptorType: \"\",\n descriptorVersion: \"\",\n signatures: {\n prod: \"\",\n test: \"\",\n },\n icon: undefined,\n ...partial,\n });\n\n beforeEach(() => {\n vi.restoreAllMocks();\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n });\n\n describe(\"canHandle function\", () => {\n const validInput: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n\n it(\"should return true for valid input\", () => {\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.DYNAMIC_NETWORK,\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n ]),\n ).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 expect(\n loader.canHandle(validInput, [ClearSignContextType.DYNAMIC_NETWORK]),\n ).toBe(false);\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n ]),\n ).toBe(false);\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(\n loader.canHandle(input, [\n ClearSignContextType.DYNAMIC_NETWORK,\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing deviceModelId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.DYNAMIC_NETWORK,\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n [\n { ...validInput, deviceModelId: DeviceModelId.NANO_S },\n \"NANO_S deviceModelId\",\n ],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.DYNAMIC_NETWORK,\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n ]),\n ).toBe(false);\n });\n });\n\n describe(\"load function\", () => {\n it(\"should return empty array when network data source returns error\", async () => {\n // GIVEN\n const input: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Left(new Error(\"Network error\")));\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n expect(\n mockNetworkDataSource.getDynamicNetworkConfiguration,\n ).toHaveBeenCalledWith(1);\n });\n\n it(\"should return empty array when descriptor for device model is not found\", async () => {\n // GIVEN\n const input: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n const networkConfig: DynamicNetworkConfiguration = {\n id: \"ethereum\",\n descriptors: {\n [DeviceModelId.NANO_S]: createMockDescriptor(),\n [DeviceModelId.NANO_SP]: createMockDescriptor(),\n [DeviceModelId.NANO_X]: createMockDescriptor(),\n // STAX descriptor is intentionally missing\n [DeviceModelId.FLEX]: createMockDescriptor({\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"prod-sig\",\n test: \"test-sig\",\n },\n icon: undefined,\n }),\n } as Record<DeviceModelId, DynamicNetworkDescriptor>,\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Right(networkConfig));\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return empty array when signature for mode is not found\", async () => {\n // GIVEN\n const input: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n const networkConfig: DynamicNetworkConfiguration = {\n id: \"ethereum\",\n descriptors: {\n [DeviceModelId.APEX]: createMockDescriptor(),\n [DeviceModelId.NANO_S]: createMockDescriptor(),\n [DeviceModelId.NANO_SP]: createMockDescriptor(),\n [DeviceModelId.NANO_X]: createMockDescriptor(),\n [DeviceModelId.FLEX]: createMockDescriptor(),\n [DeviceModelId.STAX]: createMockDescriptor({\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n test: \"test-sig\",\n // Missing prod signature - intentionally partial\n } as { prod: string; test: string },\n icon: undefined,\n }),\n },\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Right(networkConfig));\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return context with network configuration when all data is available\", async () => {\n // GIVEN\n const input: DynamicNetworkContextInput = {\n chainId: 137,\n deviceModelId: DeviceModelId.STAX,\n };\n const networkConfig: DynamicNetworkConfiguration = {\n id: \"polygon\",\n descriptors: {\n [DeviceModelId.APEX]: createMockDescriptor(),\n [DeviceModelId.NANO_S]: createMockDescriptor(),\n [DeviceModelId.NANO_SP]: createMockDescriptor(),\n [DeviceModelId.NANO_X]: createMockDescriptor(),\n [DeviceModelId.FLEX]: createMockDescriptor(),\n [DeviceModelId.STAX]: {\n data: \"0x0101080201015101012308000000000000008952\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"3045022100cf42c039c16fc95dc97c09f15cdd93bed0e63ee45cf5c38c2b30bb8a3bc17f8d022053a96c9e51695c3c1c1a31f5cbf84bd6febadc97f4bb02bdc67cf3e24ad0c32d\",\n test: \"test-sig\",\n },\n icon: undefined,\n },\n },\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Right(networkConfig));\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toHaveLength(1);\n expect(result[0]).toMatchObject({\n type: ClearSignContextType.DYNAMIC_NETWORK,\n payload: expect.stringContaining(\n \"0x0101080201015101012308000000000000008952\",\n ),\n certificate: mockCertificate,\n });\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: KeyId.CalNetwork,\n keyUsage: KeyUsage.Network,\n targetDevice: DeviceModelId.STAX,\n });\n });\n\n it(\"should include icon context when icon is available\", async () => {\n // GIVEN\n const input: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n const networkConfig: DynamicNetworkConfiguration = {\n id: \"ethereum\",\n descriptors: {\n [DeviceModelId.APEX]: createMockDescriptor(),\n [DeviceModelId.NANO_S]: createMockDescriptor(),\n [DeviceModelId.NANO_SP]: createMockDescriptor(),\n [DeviceModelId.NANO_X]: createMockDescriptor(),\n [DeviceModelId.FLEX]: createMockDescriptor(),\n [DeviceModelId.STAX]: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"prod-sig\",\n test: \"test-sig\",\n },\n icon: \"icon-hex-data\",\n },\n },\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Right(networkConfig));\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toHaveLength(2);\n expect(result[0]).toMatchObject({\n type: ClearSignContextType.DYNAMIC_NETWORK,\n payload: expect.any(String),\n certificate: mockCertificate,\n });\n expect(result[1]).toMatchObject({\n type: ClearSignContextType.DYNAMIC_NETWORK_ICON,\n payload: \"icon-hex-data\",\n });\n });\n\n it(\"should handle multiple device models correctly\", async () => {\n // GIVEN\n const input: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.FLEX,\n };\n const networkConfig: DynamicNetworkConfiguration = {\n id: \"ethereum\",\n descriptors: {\n [DeviceModelId.APEX]: createMockDescriptor(),\n [DeviceModelId.NANO_S]: createMockDescriptor(),\n [DeviceModelId.NANO_SP]: createMockDescriptor(),\n [DeviceModelId.NANO_X]: createMockDescriptor(),\n [DeviceModelId.FLEX]: {\n data: \"0xFLEX\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"flex-prod-sig\",\n test: \"flex-test-sig\",\n },\n icon: undefined,\n },\n [DeviceModelId.STAX]: {\n data: \"0xSTAX\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"stax-prod-sig\",\n test: \"stax-test-sig\",\n },\n icon: undefined,\n },\n },\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Right(networkConfig));\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toHaveLength(1);\n const context = result[0];\n if (context && \"payload\" in context) {\n expect(context.payload).toContain(\"0xFLEX\");\n expect(context.payload).toContain(\"flex-prod-sig\");\n }\n });\n\n it(\"should use test mode signature when configured\", async () => {\n // GIVEN\n const testModeLoader = new DynamicNetworkContextLoader(\n mockNetworkDataSource,\n { ...mockConfig, cal: { ...mockConfig.cal, mode: \"test\" } },\n mockCertificateLoader,\n );\n const input: DynamicNetworkContextInput = {\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n const networkConfig: DynamicNetworkConfiguration = {\n id: \"ethereum\",\n descriptors: {\n [DeviceModelId.APEX]: createMockDescriptor(),\n [DeviceModelId.NANO_S]: createMockDescriptor(),\n [DeviceModelId.NANO_SP]: createMockDescriptor(),\n [DeviceModelId.NANO_X]: createMockDescriptor(),\n [DeviceModelId.FLEX]: createMockDescriptor(),\n [DeviceModelId.STAX]: {\n data: \"0x0101\",\n descriptorType: \"network\",\n descriptorVersion: \"v1\",\n signatures: {\n prod: \"prod-sig\",\n test: \"test-sig\",\n },\n icon: undefined,\n },\n },\n };\n vi.spyOn(\n mockNetworkDataSource,\n \"getDynamicNetworkConfiguration\",\n ).mockResolvedValue(Right(networkConfig));\n\n // WHEN\n const result = await testModeLoader.load(input);\n\n // THEN\n expect(result).toHaveLength(1);\n const context = result[0];\n if (context && \"payload\" in context) {\n expect(context.payload).toContain(\"test-sig\");\n }\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_purify_ts", "import_DynamicNetworkContextLoader", "import_KeyId", "import_KeyUsage", "import_ClearSignContext", "mockNetworkDataSource", "mockConfig", "mockCertificateLoader", "mockCertificate", "loader", "createMockDescriptor", "partial", "validInput", "input", "_description", "result", "networkConfig", "context", "testModeLoader"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(e,r,n,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of d(r))!p.call(e,t)&&t!==n&&o(e,t,{get:()=>r[t],enumerable:!(i=s(r,t))||i.enumerable});return e};var g=e=>c(o({},"__esModule",{value:!0}),e);var a={};module.exports=g(a);
2
+ //# sourceMappingURL=DynamicNetworkConfiguration.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/dynamic-network/model/DynamicNetworkConfiguration.ts"],
4
+ "sourcesContent": ["import { type DeviceModelId } from \"@ledgerhq/device-management-kit\";\n\nexport type DynamicNetworkDescriptor = {\n descriptorType: string;\n descriptorVersion: string;\n data: string;\n signatures: {\n prod: string;\n test: string;\n };\n icon: string | undefined;\n};\n\nexport type DynamicNetworkConfiguration = {\n id: string;\n descriptors: Record<DeviceModelId, DynamicNetworkDescriptor>;\n};\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["DynamicNetworkConfiguration_exports", "__toCommonJS"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var A=Object.create;var f=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var M=(e,o)=>{for(var t in o)f(e,t,{get:o[t],enumerable:!0})},g=(e,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of G(o))!w.call(e,r)&&r!==t&&f(e,r,{get:()=>o[r],enumerable:!(i=D(o,r))||i.enumerable});return e};var E=(e,o,t)=>(t=e!=null?A(L(e)):{},g(o||!e||!e.__esModule?f(t,"default",{value:e,enumerable:!0}):t,e)),R=e=>g(f({},"__esModule",{value:!0}),e),C=(e,o,t,i)=>{for(var r=i>1?void 0:i?D(o,t):o,a=e.length-1,s;a>=0;a--)(s=e[a])&&(r=(i?s(o,t,r):s(r))||r);return i&&r&&f(o,t,r),r},h=(e,o)=>(t,i)=>o(t,i,e);var S={};M(S,{HttpExternalPluginDataSource:()=>p});module.exports=R(S);var I=E(require("axios")),c=require("inversify"),n=require("purify-ts"),b=require("../../config/di/configTypes"),x=require("../../shared/constant/HttpHeaders"),_=E(require("../../../package.json"));let p=class{constructor(o){this.config=o}async getDappInfos({chainId:o,address:t,selector:i}){try{const r=await I.default.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{output:"b2c,b2c_signatures,abis",chain_id:o,contracts:t},headers:{[x.LEDGER_CLIENT_VERSION_HEADER]:`context-module/${_.default.version}`}});if(!r.data[0])return(0,n.Right)(void 0);t=t.toLowerCase(),i=`0x${i.slice(2).toLowerCase()}`;const{erc20OfInterest:a,method:s,plugin:m}=r.data[0].b2c?.contracts?.find(y=>y.address===t)?.selectors?.[i]||{},{signature:u,serialized_data:l}=r.data[0].b2c_signatures?.[t]?.[i]||{};if(!a||!s||!m||!u||!l)return(0,n.Right)(void 0);const d=r.data[0].abis?.[t];return d?(0,n.Right)({selectorDetails:{method:s,plugin:m,erc20OfInterest:a,signature:u,serializedData:l},abi:d}):(0,n.Right)(void 0)}catch{return(0,n.Left)(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"))}}};p=C([(0,c.injectable)(),h(0,(0,c.inject)(b.configTypes.Config))],p);0&&(module.exports={HttpExternalPluginDataSource});
1
+ "use strict";var R=Object.create;var f=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var T=(e,o)=>{for(var t in o)f(e,t,{get:o[t],enumerable:!0})},g=(e,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of A(o))!y.call(e,r)&&r!==t&&f(e,r,{get:()=>o[r],enumerable:!(i=E(o,r))||i.enumerable});return e};var C=(e,o,t)=>(t=e!=null?R(L(e)):{},g(o||!e||!e.__esModule?f(t,"default",{value:e,enumerable:!0}):t,e)),w=e=>g(f({},"__esModule",{value:!0}),e),h=(e,o,t,i)=>{for(var r=i>1?void 0:i?E(o,t):o,a=e.length-1,s;a>=0;a--)(s=e[a])&&(r=(i?s(o,t,r):s(r))||r);return i&&r&&f(o,t,r),r},I=(e,o)=>(t,i)=>o(t,i,e);var M={};T(M,{HttpExternalPluginDataSource:()=>p});module.exports=w(M);var _=C(require("axios")),c=require("inversify"),n=require("purify-ts"),b=require("../../config/di/configTypes"),m=require("../../shared/constant/HttpHeaders"),x=C(require("../../../package.json"));let p=class{constructor(o){this.config=o}async getDappInfos({chainId:o,address:t,selector:i}){try{const r=await _.default.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{output:"b2c,b2c_signatures,abis",chain_id:o,contracts:t},headers:{[m.LEDGER_CLIENT_VERSION_HEADER]:`context-module/${x.default.version}`,[m.LEDGER_ORIGIN_TOKEN_HEADER]:this.config.originToken}});if(!r.data[0])return(0,n.Right)(void 0);t=t.toLowerCase(),i=`0x${i.slice(2).toLowerCase()}`;const{erc20OfInterest:a,method:s,plugin:u}=r.data[0].b2c?.contracts?.find(G=>G.address===t)?.selectors?.[i]||{},{signature:l,serialized_data:d}=r.data[0].b2c_signatures?.[t]?.[i]||{};if(!a||!s||!u||!l||!d)return(0,n.Right)(void 0);const D=r.data[0].abis?.[t];return D?(0,n.Right)({selectorDetails:{method:s,plugin:u,erc20OfInterest:a,signature:l,serializedData:d},abi:D}):(0,n.Right)(void 0)}catch{return(0,n.Left)(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"))}}};p=h([(0,c.injectable)(),I(0,(0,c.inject)(b.configTypes.Config))],p);0&&(module.exports={HttpExternalPluginDataSource});
2
2
  //# sourceMappingURL=HttpExternalPluginDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.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 { DAppDto } from \"@/external-plugin/data/DAppDto\";\nimport {\n ExternalPluginDataSource,\n GetDappInfos,\n} from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { DappInfos } from \"@/external-plugin/model/DappInfos\";\nimport { SelectorDetails } from \"@/external-plugin/model/SelectorDetails\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\n@injectable()\nexport class HttpExternalPluginDataSource implements ExternalPluginDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async getDappInfos({\n chainId,\n address,\n selector,\n }: GetDappInfos): Promise<Either<Error, DappInfos | undefined>> {\n try {\n const dappInfos = await axios.request<DAppDto[]>({\n method: \"GET\",\n url: `${this.config.cal.url}/dapps`,\n params: {\n output: \"b2c,b2c_signatures,abis\",\n chain_id: chainId,\n contracts: address,\n },\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n },\n });\n\n if (!dappInfos.data[0]) {\n return Right(undefined);\n }\n\n // Normalize the address and selector\n address = address.toLowerCase();\n selector = `0x${selector.slice(2).toLowerCase()}`;\n\n const { erc20OfInterest, method, plugin } =\n dappInfos.data[0].b2c?.contracts?.find((c) => c.address === address)\n ?.selectors?.[selector] || {};\n const { signature, serialized_data: serializedData } =\n dappInfos.data[0].b2c_signatures?.[address]?.[selector] || {};\n\n if (\n !erc20OfInterest ||\n !method ||\n !plugin ||\n !signature ||\n !serializedData\n ) {\n return Right(undefined);\n }\n\n const abi = dappInfos.data[0].abis?.[address];\n\n if (!abi) {\n return Right(undefined);\n }\n\n const selectorDetails: SelectorDetails = {\n method,\n plugin,\n erc20OfInterest,\n signature,\n serializedData,\n };\n\n return Right({ selectorDetails, abi });\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos\",\n ),\n );\n }\n }\n}\n"],
5
- "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAS5BC,EAA6C,yCAC7CC,EAAoB,iCAGb,IAAMC,EAAN,KAAuE,CAC5E,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,aAAa,CACjB,QAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAAgE,CAC9D,GAAI,CACF,MAAMC,EAAY,MAAM,EAAAC,QAAM,QAAmB,CAC/C,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,IAAI,GAAG,SAC3B,OAAQ,CACN,OAAQ,0BACR,SAAUJ,EACV,UAAWC,CACb,EACA,QAAS,CACP,CAAC,8BAA4B,EAAG,kBAAkB,EAAAI,QAAQ,OAAO,EACnE,CACF,CAAC,EAED,GAAI,CAACF,EAAU,KAAK,CAAC,EACnB,SAAO,SAAM,MAAS,EAIxBF,EAAUA,EAAQ,YAAY,EAC9BC,EAAW,KAAKA,EAAS,MAAM,CAAC,EAAE,YAAY,CAAC,GAE/C,KAAM,CAAE,gBAAAI,EAAiB,OAAAC,EAAQ,OAAAC,CAAO,EACtCL,EAAU,KAAK,CAAC,EAAE,KAAK,WAAW,KAAMM,GAAMA,EAAE,UAAYR,CAAO,GAC/D,YAAYC,CAAQ,GAAK,CAAC,EAC1B,CAAE,UAAAQ,EAAW,gBAAiBC,CAAe,EACjDR,EAAU,KAAK,CAAC,EAAE,iBAAiBF,CAAO,IAAIC,CAAQ,GAAK,CAAC,EAE9D,GACE,CAACI,GACD,CAACC,GACD,CAACC,GACD,CAACE,GACD,CAACC,EAED,SAAO,SAAM,MAAS,EAGxB,MAAMC,EAAMT,EAAU,KAAK,CAAC,EAAE,OAAOF,CAAO,EAE5C,OAAKW,KAYE,SAAM,CAAE,gBAR0B,CACvC,OAAAL,EACA,OAAAC,EACA,gBAAAF,EACA,UAAAI,EACA,eAAAC,CACF,EAEgC,IAAAC,CAAI,CAAC,KAX5B,SAAM,MAAS,CAY1B,MAAiB,CACf,SAAO,QACL,IAAI,MACF,yEACF,CACF,CACF,CACF,CACF,EAvEad,EAANe,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,IAFjBhB",
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 { DAppDto } from \"@/external-plugin/data/DAppDto\";\nimport {\n ExternalPluginDataSource,\n GetDappInfos,\n} from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { DappInfos } from \"@/external-plugin/model/DappInfos\";\nimport { SelectorDetails } from \"@/external-plugin/model/SelectorDetails\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\n@injectable()\nexport class HttpExternalPluginDataSource implements ExternalPluginDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async getDappInfos({\n chainId,\n address,\n selector,\n }: GetDappInfos): Promise<Either<Error, DappInfos | undefined>> {\n try {\n const dappInfos = await axios.request<DAppDto[]>({\n method: \"GET\",\n url: `${this.config.cal.url}/dapps`,\n params: {\n output: \"b2c,b2c_signatures,abis\",\n chain_id: chainId,\n contracts: address,\n },\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n\n if (!dappInfos.data[0]) {\n return Right(undefined);\n }\n\n // Normalize the address and selector\n address = address.toLowerCase();\n selector = `0x${selector.slice(2).toLowerCase()}`;\n\n const { erc20OfInterest, method, plugin } =\n dappInfos.data[0].b2c?.contracts?.find((c) => c.address === address)\n ?.selectors?.[selector] || {};\n const { signature, serialized_data: serializedData } =\n dappInfos.data[0].b2c_signatures?.[address]?.[selector] || {};\n\n if (\n !erc20OfInterest ||\n !method ||\n !plugin ||\n !signature ||\n !serializedData\n ) {\n return Right(undefined);\n }\n\n const abi = dappInfos.data[0].abis?.[address];\n\n if (!abi) {\n return Right(undefined);\n }\n\n const selectorDetails: SelectorDetails = {\n method,\n plugin,\n erc20OfInterest,\n signature,\n serializedData,\n };\n\n return Right({ selectorDetails, abi });\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos\",\n ),\n );\n }\n }\n}\n"],
5
+ "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAS5BC,EAGO,yCACPC,EAAoB,iCAGb,IAAMC,EAAN,KAAuE,CAC5E,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,aAAa,CACjB,QAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAAgE,CAC9D,GAAI,CACF,MAAMC,EAAY,MAAM,EAAAC,QAAM,QAAmB,CAC/C,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,IAAI,GAAG,SAC3B,OAAQ,CACN,OAAQ,0BACR,SAAUJ,EACV,UAAWC,CACb,EACA,QAAS,CACP,CAAC,8BAA4B,EAAG,kBAAkB,EAAAI,QAAQ,OAAO,GACjE,CAAC,4BAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,EAED,GAAI,CAACF,EAAU,KAAK,CAAC,EACnB,SAAO,SAAM,MAAS,EAIxBF,EAAUA,EAAQ,YAAY,EAC9BC,EAAW,KAAKA,EAAS,MAAM,CAAC,EAAE,YAAY,CAAC,GAE/C,KAAM,CAAE,gBAAAI,EAAiB,OAAAC,EAAQ,OAAAC,CAAO,EACtCL,EAAU,KAAK,CAAC,EAAE,KAAK,WAAW,KAAMM,GAAMA,EAAE,UAAYR,CAAO,GAC/D,YAAYC,CAAQ,GAAK,CAAC,EAC1B,CAAE,UAAAQ,EAAW,gBAAiBC,CAAe,EACjDR,EAAU,KAAK,CAAC,EAAE,iBAAiBF,CAAO,IAAIC,CAAQ,GAAK,CAAC,EAE9D,GACE,CAACI,GACD,CAACC,GACD,CAACC,GACD,CAACE,GACD,CAACC,EAED,SAAO,SAAM,MAAS,EAGxB,MAAMC,EAAMT,EAAU,KAAK,CAAC,EAAE,OAAOF,CAAO,EAE5C,OAAKW,KAYE,SAAM,CAAE,gBAR0B,CACvC,OAAAL,EACA,OAAAC,EACA,gBAAAF,EACA,UAAAI,EACA,eAAAC,CACF,EAEgC,IAAAC,CAAI,CAAC,KAX5B,SAAM,MAAS,CAY1B,MAAiB,CACf,SAAO,QACL,IAAI,MACF,yEACF,CACF,CACF,CACF,CACF,EAxEad,EAANe,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,IAFjBhB",
6
6
  "names": ["HttpExternalPluginDataSource_exports", "__export", "HttpExternalPluginDataSource", "__toCommonJS", "import_axios", "import_inversify", "import_purify_ts", "import_configTypes", "import_HttpHeaders", "import_package", "HttpExternalPluginDataSource", "config", "chainId", "address", "selector", "dappInfos", "axios", "PACKAGE", "erc20OfInterest", "method", "plugin", "c", "signature", "serializedData", "abi", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var b=Object.create;var l=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var w=(t,n,c,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of g(n))!I.call(t,e)&&e!==c&&l(t,e,{get:()=>n[e],enumerable:!(o=m(n,e))||o.enumerable});return t};var d=(t,n,c)=>(c=t!=null?b(h(t)):{},w(n||!t||!t.__esModule?l(c,"default",{value:t,enumerable:!0}):c,t));var a=d(require("axios")),u=d(require("@/external-plugin/__tests__/abi.json")),p=require("../../external-plugin/data/HttpExternalPluginDataSource"),f=require("../../shared/constant/HttpHeaders"),x=d(require("../../../package.json"));vi.mock("axios");const r=t=>({data:t});describe("HttpExternalPuginDataSource",()=>{let t;const n={blockchainName:"ethereum",chainId:1,contracts:[{address:"0x1ef",contractName:"otherName",selectors:{"0x01ee":{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin"}}},{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin"}}}],name:"test"},c={"0x1ef":u.default,"0x0abc":u.default},o={"0x1ef":{"0x01ee":{plugin:"plugin",serialized_data:"0x001",signature:"0x002"}},"0x0abc":{"0x01ff":{plugin:"plugin",serialized_data:"0x001",signature:"0x002"}}};beforeAll(()=>{const e={cal:{url:"https://crypto-assets-service.api.ledger.com/v1"}};t=new p.HttpExternalPluginDataSource(e),vi.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const e=`context-module/${x.default.version}`,s=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(a.default,"request").mockImplementation(s),await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"}),expect(s).toHaveBeenCalledWith(expect.objectContaining({headers:{[f.LEDGER_CLIENT_VERSION_HEADER]:e}}))}),it("should return undefined when no abis is undefined",async()=>{const e=r([{b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual(void 0)}),it("should return undefined when no selectors",async()=>{const e=r([{abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual(void 0)}),it("should return undefined when no abis data",async()=>{const e=r([{abis:{},b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual(void 0)}),it("should return undefined when no abis data",async()=>{const e=r([{abis:{},b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual(void 0)}),it("should return undefined when no abis data for the contract address",async()=>{const s=r([{abis:{"0x1":u.default},b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no b2c signature",async()=>{const e=r([{b2c:n,abis:c}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual(void 0)}),it("should return undefined when no ecc20OfInterest",async()=>{const s=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{method:"swap",plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no method",async()=>{const s=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no plugin",async()=>{const s=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],method:"swap"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no method",async()=>{const s=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no signature",async()=>{const s=r([{b2c:n,abis:c,b2c_signatures:{"0x0abc":{"0x01ff":{plugin:"plugin",serialized_data:"0x001"}}}}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no serialized data",async()=>{const s=r([{b2c:n,abis:c,b2c_signatures:{"0x0abc":{"0x01ff":{plugin:"plugin",signature:"0x002"}}}}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const i=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return a correct response",async()=>{const e=r([{b2c:n,abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual({abi:u.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin",serializedData:"0x001",signature:"0x002"}})}),it("should normalize the address and selector",async()=>{const e=r([{b2c:n,abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(e);const s=await t.getDappInfos({chainId:1,address:"0x0AbC",selector:"0x01Ff"});expect(s.extract()).toEqual({abi:u.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin",serializedData:"0x001",signature:"0x002"}})}),it("should return an error when axios throws an error",async()=>{vi.spyOn(a.default,"request").mockRejectedValue(new Error("error"));const e=await t.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e.extract()).toEqual(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"))})});
1
+ "use strict";var m=Object.create;var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var k=(e,n,c,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of h(n))!w.call(e,s)&&s!==c&&p(e,s,{get:()=>n[s],enumerable:!(o=g(n,s))||o.enumerable});return e};var l=(e,n,c)=>(c=e!=null?m(I(e)):{},k(n||!e||!e.__esModule?p(c,"default",{value:e,enumerable:!0}):c,e));var a=l(require("axios")),u=l(require("@/external-plugin/__tests__/abi.json")),x=require("../../external-plugin/data/HttpExternalPluginDataSource"),d=require("../../shared/constant/HttpHeaders"),b=l(require("../../../package.json"));vi.mock("axios");const r=e=>({data:e}),f={web3checks:{url:"web3checksUrl"},cal:{url:"https://crypto-assets-service.api.ledger.com/v1"},originToken:"originToken"};describe("HttpExternalPuginDataSource",()=>{let e;const n={blockchainName:"ethereum",chainId:1,contracts:[{address:"0x1ef",contractName:"otherName",selectors:{"0x01ee":{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin"}}},{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin"}}}],name:"test"},c={"0x1ef":u.default,"0x0abc":u.default},o={"0x1ef":{"0x01ee":{plugin:"plugin",serialized_data:"0x001",signature:"0x002"}},"0x0abc":{"0x01ff":{plugin:"plugin",serialized_data:"0x001",signature:"0x002"}}};beforeAll(()=>{e=new x.HttpExternalPluginDataSource(f),vi.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const s=`context-module/${b.default.version}`,t=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(a.default,"request").mockImplementation(t),await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"}),expect(t).toHaveBeenCalledWith(expect.objectContaining({headers:{[d.LEDGER_CLIENT_VERSION_HEADER]:s,[d.LEDGER_ORIGIN_TOKEN_HEADER]:f.originToken}}))}),it("should return undefined when no abis is undefined",async()=>{const s=r([{b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no selectors",async()=>{const s=r([{abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no abis data",async()=>{const s=r([{abis:{},b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no abis data",async()=>{const s=r([{abis:{},b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no abis data for the contract address",async()=>{const t=r([{abis:{"0x1":u.default},b2c:n,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no b2c signature",async()=>{const s=r([{b2c:n,abis:c}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no ecc20OfInterest",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{method:"swap",plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no method",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no plugin",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],method:"swap"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no method",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no signature",async()=>{const t=r([{b2c:n,abis:c,b2c_signatures:{"0x0abc":{"0x01ff":{plugin:"plugin",serialized_data:"0x001"}}}}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no serialized data",async()=>{const t=r([{b2c:n,abis:c,b2c_signatures:{"0x0abc":{"0x01ff":{plugin:"plugin",signature:"0x002"}}}}]);vi.spyOn(a.default,"request").mockResolvedValue(t);const i=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return a correct response",async()=>{const s=r([{b2c:n,abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual({abi:u.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin",serializedData:"0x001",signature:"0x002"}})}),it("should normalize the address and selector",async()=>{const s=r([{b2c:n,abis:c,b2c_signatures:o}]);vi.spyOn(a.default,"request").mockResolvedValue(s);const t=await e.getDappInfos({chainId:1,address:"0x0AbC",selector:"0x01Ff"});expect(t.extract()).toEqual({abi:u.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin",serializedData:"0x001",signature:"0x002"}})}),it("should return an error when axios throws an error",async()=>{vi.spyOn(a.default,"request").mockRejectedValue(new Error("error"));const s=await e.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(s.extract()).toEqual(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"))})});
2
2
  //# sourceMappingURL=HttpExternalPluginDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.test.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport ABI from \"@/external-plugin/__tests__/abi.json\";\nimport {\n type Abis,\n type B2c,\n type B2cSignatures,\n type DAppDto,\n} from \"@/external-plugin/data/DAppDto\";\nimport { type ExternalPluginDataSource } from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { HttpExternalPluginDataSource } from \"@/external-plugin/data/HttpExternalPluginDataSource\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\nconst axiosResponseBuilder = (dto: Partial<DAppDto>[]) => {\n return { data: dto };\n};\n\ndescribe(\"HttpExternalPuginDataSource\", () => {\n let datasource: ExternalPluginDataSource;\n const exampleB2c: B2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x1ef\",\n contractName: \"otherName\",\n selectors: {\n \"0x01ee\": {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n },\n },\n },\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n },\n },\n },\n ],\n name: \"test\",\n };\n const exampleAbis: Abis = { \"0x1ef\": ABI, \"0x0abc\": ABI };\n const exampleB2cSignatures: B2cSignatures = {\n \"0x1ef\": {\n \"0x01ee\": {\n plugin: \"plugin\",\n serialized_data: \"0x001\",\n signature: \"0x002\",\n },\n },\n \"0x0abc\": {\n \"0x01ff\": {\n plugin: \"plugin\",\n serialized_data: \"0x001\",\n signature: \"0x002\",\n },\n },\n };\n\n beforeAll(() => {\n const config = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n },\n } as ContextModuleConfig;\n datasource = new HttpExternalPluginDataSource(config);\n vi.clearAllMocks();\n });\n\n it(\"should call axios with the ledger client version header\", async () => {\n // GIVEN\n const version = `context-module/${PACKAGE.version}`;\n const requestSpy = vi.fn(() => Promise.resolve({ data: [] }));\n vi.spyOn(axios, \"request\").mockImplementation(requestSpy);\n\n // WHEN\n await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(requestSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: { [LEDGER_CLIENT_VERSION_HEADER]: version },\n }),\n );\n });\n\n it(\"should return undefined when no abis is undefined\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no selectors\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no abis data\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { abis: {}, b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no abis data\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { abis: {}, b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no abis data for the contract address\", async () => {\n // GIVEN\n const abis: Abis = { \"0x1\": ABI };\n const response = axiosResponseBuilder([\n { abis, b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no b2c signature\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, abis: exampleAbis },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no ecc20OfInterest\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { method: \"swap\", plugin: \"plugin\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no method\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { erc20OfInterest: [\"fromToken\"], plugin: \"plugin\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no plugin\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { erc20OfInterest: [\"fromToken\"], method: \"swap\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no method\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { erc20OfInterest: [\"fromToken\"], plugin: \"plugin\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no signature\", async () => {\n // GIVEN\n const B2CSignature = {\n \"0x0abc\": { \"0x01ff\": { plugin: \"plugin\", serialized_data: \"0x001\" } },\n } as unknown as B2cSignatures;\n\n // FIXME\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, abis: exampleAbis, b2c_signatures: B2CSignature },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no serialized data\", async () => {\n // GIVEN\n const B2CSignature = {\n \"0x0abc\": { \"0x01ff\": { plugin: \"plugin\", signature: \"0x002\" } },\n } as unknown as B2cSignatures;\n\n // FIXME\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, abis: exampleAbis, b2c_signatures: B2CSignature },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return a correct response\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n {\n b2c: exampleB2c,\n abis: exampleAbis,\n b2c_signatures: exampleB2cSignatures,\n },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n serializedData: \"0x001\",\n signature: \"0x002\",\n },\n });\n });\n\n it(\"should normalize the address and selector\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n {\n b2c: exampleB2c,\n abis: exampleAbis,\n b2c_signatures: exampleB2cSignatures,\n },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0AbC\",\n selector: \"0x01Ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n serializedData: \"0x001\",\n signature: \"0x002\",\n },\n });\n });\n\n it(\"should return an error when axios throws an error\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"error\"));\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos\",\n ),\n );\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_axios", "import_abi", "import_HttpExternalPluginDataSource", "import_HttpHeaders", "import_package", "axiosResponseBuilder", "dto", "datasource", "exampleB2c", "exampleAbis", "ABI", "exampleB2cSignatures", "config", "version", "PACKAGE", "requestSpy", "axios", "response", "result"]
4
+ "sourcesContent": ["import axios from \"axios\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport ABI from \"@/external-plugin/__tests__/abi.json\";\nimport {\n type Abis,\n type B2c,\n type B2cSignatures,\n type DAppDto,\n} from \"@/external-plugin/data/DAppDto\";\nimport { type ExternalPluginDataSource } from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { HttpExternalPluginDataSource } from \"@/external-plugin/data/HttpExternalPluginDataSource\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\nconst axiosResponseBuilder = (dto: Partial<DAppDto>[]) => {\n return { data: dto };\n};\n\nconst config = {\n web3checks: {\n url: \"web3checksUrl\",\n },\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n },\n originToken: \"originToken\",\n} as ContextModuleConfig;\n\ndescribe(\"HttpExternalPuginDataSource\", () => {\n let datasource: ExternalPluginDataSource;\n const exampleB2c: B2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x1ef\",\n contractName: \"otherName\",\n selectors: {\n \"0x01ee\": {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n },\n },\n },\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n },\n },\n },\n ],\n name: \"test\",\n };\n const exampleAbis: Abis = { \"0x1ef\": ABI, \"0x0abc\": ABI };\n const exampleB2cSignatures: B2cSignatures = {\n \"0x1ef\": {\n \"0x01ee\": {\n plugin: \"plugin\",\n serialized_data: \"0x001\",\n signature: \"0x002\",\n },\n },\n \"0x0abc\": {\n \"0x01ff\": {\n plugin: \"plugin\",\n serialized_data: \"0x001\",\n signature: \"0x002\",\n },\n },\n };\n\n beforeAll(() => {\n datasource = new HttpExternalPluginDataSource(config);\n vi.clearAllMocks();\n });\n\n it(\"should call axios with the ledger client version header\", async () => {\n // GIVEN\n const version = `context-module/${PACKAGE.version}`;\n const requestSpy = vi.fn(() => Promise.resolve({ data: [] }));\n vi.spyOn(axios, \"request\").mockImplementation(requestSpy);\n\n // WHEN\n await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(requestSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: version,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n }),\n );\n });\n\n it(\"should return undefined when no abis is undefined\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no selectors\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no abis data\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { abis: {}, b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no abis data\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { abis: {}, b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no abis data for the contract address\", async () => {\n // GIVEN\n const abis: Abis = { \"0x1\": ABI };\n const response = axiosResponseBuilder([\n { abis, b2c: exampleB2c, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no b2c signature\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, abis: exampleAbis },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no ecc20OfInterest\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { method: \"swap\", plugin: \"plugin\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no method\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { erc20OfInterest: [\"fromToken\"], plugin: \"plugin\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no plugin\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { erc20OfInterest: [\"fromToken\"], method: \"swap\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no method\", async () => {\n // GIVEN\n const b2c = {\n blockchainName: \"ethereum\",\n chainId: 1,\n contracts: [\n {\n address: \"0x0abc\",\n contractName: \"name\",\n selectors: {\n \"0x01ff\": { erc20OfInterest: [\"fromToken\"], plugin: \"plugin\" },\n },\n },\n ],\n name: \"test\",\n } as unknown as B2c;\n const response = axiosResponseBuilder([\n { b2c, abis: exampleAbis, b2c_signatures: exampleB2cSignatures },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no signature\", async () => {\n // GIVEN\n const B2CSignature = {\n \"0x0abc\": { \"0x01ff\": { plugin: \"plugin\", serialized_data: \"0x001\" } },\n } as unknown as B2cSignatures;\n\n // FIXME\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, abis: exampleAbis, b2c_signatures: B2CSignature },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return undefined when no serialized data\", async () => {\n // GIVEN\n const B2CSignature = {\n \"0x0abc\": { \"0x01ff\": { plugin: \"plugin\", signature: \"0x002\" } },\n } as unknown as B2cSignatures;\n\n // FIXME\n const response = axiosResponseBuilder([\n { b2c: exampleB2c, abis: exampleAbis, b2c_signatures: B2CSignature },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(undefined);\n });\n\n it(\"should return a correct response\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n {\n b2c: exampleB2c,\n abis: exampleAbis,\n b2c_signatures: exampleB2cSignatures,\n },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n serializedData: \"0x001\",\n signature: \"0x002\",\n },\n });\n });\n\n it(\"should normalize the address and selector\", async () => {\n // GIVEN\n const response = axiosResponseBuilder([\n {\n b2c: exampleB2c,\n abis: exampleAbis,\n b2c_signatures: exampleB2cSignatures,\n },\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0AbC\",\n selector: \"0x01Ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"swap\",\n plugin: \"plugin\",\n serializedData: \"0x001\",\n signature: \"0x002\",\n },\n });\n });\n\n it(\"should return an error when axios throws an error\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"error\"));\n\n // WHEN\n const result = await datasource.getDappInfos({\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos\",\n ),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_axios", "import_abi", "import_HttpExternalPluginDataSource", "import_HttpHeaders", "import_package", "axiosResponseBuilder", "dto", "config", "datasource", "exampleB2c", "exampleAbis", "ABI", "exampleB2cSignatures", "version", "PACKAGE", "requestSpy", "axios", "response", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var T=(o,e)=>{for(var a in e)u(o,a,{get:e[a],enumerable:!0})},I=(o,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of P(e))!k.call(o,t)&&t!==a&&u(o,t,{get:()=>e[t],enumerable:!(r=D(e,t))||r.enumerable});return o};var w=o=>I(u({},"__esModule",{value:!0}),o),h=(o,e,a,r)=>{for(var t=r>1?void 0:r?D(e,a):e,n=o.length-1,l;n>=0;n--)(l=o[n])&&(t=(r?l(e,a,t):l(t))||t);return r&&t&&u(e,a,t),t},f=(o,e)=>(a,r)=>e(a,r,o);var O={};T(O,{ExternalPluginContextLoader:()=>c});module.exports=w(O);var m=require("@ledgerhq/device-management-kit"),C=require("ethers"),d=require("inversify"),s=require("purify-ts"),S=require("../../external-plugin/di/externalPluginTypes"),i=require("../../shared/model/ClearSignContext"),y=require("../../token/di/tokenTypes");let c=class{_externalPluginDataSource;_tokenDataSource;constructor(e,a){this._externalPluginDataSource=e,this._tokenDataSource=a}async load(e){if(!e.to||!e.data||e.data==="0x")return[];const a=e.data.slice(0,10);if(!(0,m.isHexaString)(a))return[{type:i.ClearSignContextType.ERROR,error:new Error("Invalid selector")}];const r=await this._externalPluginDataSource.getDappInfos({address:e.to,chainId:e.chainId,selector:a});return(0,s.EitherAsync)(async({liftEither:t})=>{const n=await t(r);if(!n)return[];const l={type:i.ClearSignContextType.EXTERNAL_PLUGIN,payload:n.selectorDetails.serializedData.concat(n.selectorDetails.signature)},p=this.getDecodedCallData(n.abi,n.selectorDetails.method,e.data);if(p.isLeft())return[{type:i.ClearSignContextType.ERROR,error:p.extract()},l];const E=p.extract(),R=n.selectorDetails.erc20OfInterest.map(async g=>this.getTokenPayload(e,g,E));return[...(await Promise.all(R)).map(g=>g.caseOf({Left:x=>({type:i.ClearSignContextType.ERROR,error:x}),Right:x=>({type:i.ClearSignContextType.TOKEN,payload:x})})),l]}).caseOf({Left:t=>[{type:i.ClearSignContextType.ERROR,error:t}],Right:t=>t})}getTokenPayload(e,a,r){const t=this.getAddressFromPath(a,r);return(0,s.EitherAsync)(({fromPromise:n})=>n(this._tokenDataSource.getTokenInfosPayload({address:t,chainId:e.chainId})))}getDecodedCallData(e,a,r){try{const t=new C.Interface(e);return(0,s.Right)(t.decodeFunctionData(a,r))}catch{return(0,s.Left)(new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi"))}}getAddressFromPath(e,a){let r=a;for(const t of e.split("."))t==="-1"?r=r[r.length-1]:r=r[t];if(!(0,m.isHexaString)(r))throw new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address");return r}};c=h([(0,d.injectable)(),f(0,(0,d.inject)(S.externalPluginTypes.ExternalPluginDataSource)),f(1,(0,d.inject)(y.tokenTypes.TokenDataSource))],c);0&&(module.exports={ExternalPluginContextLoader});
1
+ "use strict";var m=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var b=(n,e)=>{for(var r in e)m(n,r,{get:e[r],enumerable:!0})},H=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of w(e))!_.call(n,a)&&a!==r&&m(n,a,{get:()=>e[a],enumerable:!(t=P(e,a))||t.enumerable});return n};var O=n=>H(m({},"__esModule",{value:!0}),n),E=(n,e,r,t)=>{for(var a=t>1?void 0:t?P(e,r):e,s=n.length-1,d;s>=0;s--)(d=n[s])&&(a=(t?d(e,r,a):d(a))||a);return t&&a&&m(e,r,a),a},C=(n,e)=>(r,t)=>e(r,t,n);var v={};b(v,{ExternalPluginContextLoader:()=>p});module.exports=O(v);var g=require("@ledgerhq/device-management-kit"),D=require("ethers"),c=require("inversify"),l=require("purify-ts"),I=require("../../external-plugin/di/externalPluginTypes"),o=require("../../shared/model/ClearSignContext"),T=require("../../token/di/tokenTypes"),L=require("../../uniswap/di/uniswapTypes");const U=[o.ClearSignContextType.EXTERNAL_PLUGIN,o.ClearSignContextType.TOKEN];let p=class{constructor(e,r,t){this._externalPluginDataSource=e;this._tokenDataSource=r;this._uniswapLoader=t;this._customPluginLoaders={Uniswap:this._uniswapLoader}}_customPluginLoaders;canHandle(e,r){return typeof e=="object"&&e!==null&&"to"in e&&"data"in e&&"selector"in e&&"chainId"in e&&typeof e.chainId=="number"&&(0,g.isHexaString)(e.to)&&e.to!=="0x"&&(0,g.isHexaString)(e.data)&&e.data!=="0x"&&(0,g.isHexaString)(e.selector)&&e.selector!=="0x"&&U.every(t=>r.includes(t))}async load(e){const{to:r,data:t,selector:a,chainId:s}=e,d=await this._externalPluginDataSource.getDappInfos({address:r,chainId:s,selector:a});return(0,l.EitherAsync)(async({liftEither:u})=>{const i=await u(d);if(!i)return[];const f={type:o.ClearSignContextType.EXTERNAL_PLUGIN,payload:i.selectorDetails.serializedData.concat(i.selectorDetails.signature)},h=this._customPluginLoaders[i.selectorDetails.plugin];if(h!==void 0&&h.canHandle(e,[o.ClearSignContextType.TOKEN])){const x=await h.load(e);return[f,...x]}const y=this.getDecodedCallData(i.abi,i.selectorDetails.method,t);if(y.isLeft())return[{type:o.ClearSignContextType.ERROR,error:y.extract()},f];const R=y.extract(),k=i.selectorDetails.erc20OfInterest.map(async x=>this.getTokenPayload(e,x,R));return[...(await Promise.all(k)).map(x=>x.caseOf({Left:S=>({type:o.ClearSignContextType.ERROR,error:S}),Right:S=>({type:o.ClearSignContextType.TOKEN,payload:S})})),f]}).caseOf({Left:u=>[{type:o.ClearSignContextType.ERROR,error:u}],Right:u=>u})}getTokenPayload(e,r,t){const a=this.getAddressFromPath(r,t);return(0,l.EitherAsync)(({fromPromise:s})=>s(this._tokenDataSource.getTokenInfosPayload({address:a,chainId:e.chainId})))}getDecodedCallData(e,r,t){try{const a=new D.Interface(e);return(0,l.Right)(a.decodeFunctionData(r,t))}catch{return(0,l.Left)(new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi"))}}getAddressFromPath(e,r){let t=r;for(const a of e.split("."))a==="-1"?t=t[t.length-1]:t=t[a];if(!(0,g.isHexaString)(t))throw new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address");return t}};p=E([(0,c.injectable)(),C(0,(0,c.inject)(I.externalPluginTypes.ExternalPluginDataSource)),C(1,(0,c.inject)(T.tokenTypes.TokenDataSource)),C(2,(0,c.inject)(L.uniswapTypes.UniswapContextLoader))],p);0&&(module.exports={ExternalPluginContextLoader});
2
2
  //# sourceMappingURL=ExternalPluginContextLoader.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/external-plugin/domain/ExternalPluginContextLoader.ts"],
4
- "sourcesContent": ["import { HexaString, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { ethers, Interface } from \"ethers\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, EitherAsync, Left, Right } from \"purify-ts\";\n\nimport type { ExternalPluginDataSource } from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { externalPluginTypes } from \"@/external-plugin/di/externalPluginTypes\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { TransactionContext } from \"@/shared/model/TransactionContext\";\nimport type { TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport { tokenTypes } from \"@/token/di/tokenTypes\";\n\n@injectable()\nexport class ExternalPluginContextLoader implements ContextLoader {\n private _externalPluginDataSource: ExternalPluginDataSource;\n private _tokenDataSource: TokenDataSource;\n\n constructor(\n @inject(externalPluginTypes.ExternalPluginDataSource)\n externalPluginDataSource: ExternalPluginDataSource,\n @inject(tokenTypes.TokenDataSource) tokenDataSource: TokenDataSource,\n ) {\n this._externalPluginDataSource = externalPluginDataSource;\n this._tokenDataSource = tokenDataSource;\n }\n\n async load(transaction: TransactionContext): Promise<ClearSignContext[]> {\n if (!transaction.to || !transaction.data || transaction.data === \"0x\") {\n return [];\n }\n\n const selector = transaction.data.slice(0, 10);\n\n if (!isHexaString(selector)) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Invalid selector\"),\n },\n ];\n }\n\n const eitherDappInfos = await this._externalPluginDataSource.getDappInfos({\n address: transaction.to,\n chainId: transaction.chainId,\n selector,\n });\n\n return EitherAsync<Error, ClearSignContext[]>(async ({ liftEither }) => {\n const dappInfos = await liftEither(eitherDappInfos);\n\n // if the dappInfos is null, return an empty array\n // this means that the selector is not a known selector\n if (!dappInfos) {\n return [];\n }\n\n const externalPluginContext: ClearSignContext = {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: dappInfos.selectorDetails.serializedData.concat(\n dappInfos.selectorDetails.signature,\n ),\n };\n\n const decodedCallData = this.getDecodedCallData(\n dappInfos.abi,\n dappInfos.selectorDetails.method,\n transaction.data!, // trasaction.data is not null and not infered correctly\n );\n\n // if the call data cannot be decoded, return the error\n // but also the externalPluginContext because it is still valid\n if (decodedCallData.isLeft()) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: decodedCallData.extract(),\n },\n externalPluginContext,\n ];\n }\n\n // decodedCallData is a Right so we can extract it safely\n const extractedDecodedCallData =\n decodedCallData.extract() as ethers.Result;\n\n // get the token payload for each erc20OfInterest\n // and return the payload or the error\n const promises = dappInfos.selectorDetails.erc20OfInterest.map(\n async (erc20Path) =>\n this.getTokenPayload(\n transaction,\n erc20Path,\n extractedDecodedCallData,\n ),\n );\n\n const tokensPayload = await Promise.all(promises);\n\n // map the payload or the error to a ClearSignContext\n const contexts: ClearSignContext[] = tokensPayload.map((eitherToken) =>\n eitherToken.caseOf<ClearSignContext>({\n Left: (error) => ({ type: ClearSignContextType.ERROR, error }),\n Right: (payload) => ({ type: ClearSignContextType.TOKEN, payload }),\n }),\n );\n\n return [...contexts, externalPluginContext];\n }).caseOf<ClearSignContext[]>({\n // parse all errors into ClearSignContext\n Left: (error) => [{ type: ClearSignContextType.ERROR, error }],\n Right: (contexts) => contexts,\n });\n }\n\n private getTokenPayload(\n transaction: TransactionContext,\n erc20Path: string,\n decodedCallData: ethers.Result,\n ) {\n const address = this.getAddressFromPath(erc20Path, decodedCallData);\n\n return EitherAsync<Error, string>(({ fromPromise }) =>\n fromPromise(\n this._tokenDataSource.getTokenInfosPayload({\n address,\n chainId: transaction.chainId,\n }),\n ),\n );\n }\n\n private getDecodedCallData(\n abi: object[],\n method: string,\n data: string,\n ): Either<Error, ethers.Result> {\n try {\n const contractInterface = new Interface(abi);\n return Right(contractInterface.decodeFunctionData(method, data));\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to parse abi\",\n ),\n );\n }\n }\n\n private getAddressFromPath(\n path: string,\n decodedCallData: ethers.Result,\n ): HexaString {\n // ethers.Result is a record string, any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let value: any = decodedCallData;\n for (const key of path.split(\".\")) {\n // In Solidity, a struct cannot begin with a number\n // Additionally, when we use -1, it signifies the last element of the array.\n if (key === \"-1\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n value = value[value.length - 1];\n } else {\n // This access can throw a RangeError error in case of an invalid key\n // but is correctly caught by the liftEither above\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n value = value[key];\n }\n }\n\n if (!isHexaString(value)) {\n throw new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to get address\",\n );\n }\n\n return value;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["ExternalPluginContextLoader_exports", "__export", "ExternalPluginContextLoader", "__toCommonJS", "import_device_management_kit", "import_ethers", "import_inversify", "import_purify_ts", "import_externalPluginTypes", "import_ClearSignContext", "import_tokenTypes", "ExternalPluginContextLoader", "externalPluginDataSource", "tokenDataSource", "transaction", "selector", "eitherDappInfos", "liftEither", "dappInfos", "externalPluginContext", "decodedCallData", "extractedDecodedCallData", "promises", "erc20Path", "eitherToken", "error", "payload", "contexts", "address", "fromPromise", "abi", "method", "data", "contractInterface", "path", "value", "key", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { HexaString, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { ethers, Interface } from \"ethers\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, EitherAsync, Left, Right } from \"purify-ts\";\n\nimport type { ExternalPluginDataSource } from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { externalPluginTypes } from \"@/external-plugin/di/externalPluginTypes\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport type { TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport { tokenTypes } from \"@/token/di/tokenTypes\";\nimport { uniswapTypes } from \"@/uniswap/di/uniswapTypes\";\nimport type { UniswapContextLoader } from \"@/uniswap/domain/UniswapContextLoader\";\n\nexport type ExternalPluginContextInput = {\n to: HexaString;\n data: HexaString;\n selector: HexaString;\n chainId: number;\n};\n\nexport type ExternalPluginTokensInput = {\n data: HexaString;\n selector: HexaString;\n chainId: number;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.EXTERNAL_PLUGIN,\n ClearSignContextType.TOKEN,\n];\n\n@injectable()\nexport class ExternalPluginContextLoader\n implements ContextLoader<ExternalPluginContextInput>\n{\n private _customPluginLoaders: Record<\n string,\n ContextLoader<ExternalPluginTokensInput>\n >;\n\n constructor(\n @inject(externalPluginTypes.ExternalPluginDataSource)\n private _externalPluginDataSource: ExternalPluginDataSource,\n @inject(tokenTypes.TokenDataSource)\n private _tokenDataSource: TokenDataSource,\n @inject(uniswapTypes.UniswapContextLoader)\n private _uniswapLoader: UniswapContextLoader,\n ) {\n this._customPluginLoaders = {\n Uniswap: this._uniswapLoader,\n };\n }\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is ExternalPluginContextInput {\n return (\n typeof input === \"object\" &&\n input !== null &&\n \"to\" in input &&\n \"data\" in input &&\n \"selector\" in input &&\n \"chainId\" in input &&\n typeof input.chainId === \"number\" &&\n isHexaString(input.to) &&\n input.to !== \"0x\" &&\n isHexaString(input.data) &&\n input.data !== \"0x\" && // non empty data\n isHexaString(input.selector) &&\n input.selector !== \"0x\" &&\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type))\n );\n }\n\n async load(input: ExternalPluginContextInput): Promise<ClearSignContext[]> {\n const { to, data, selector, chainId } = input;\n\n const eitherDappInfos = await this._externalPluginDataSource.getDappInfos({\n address: to,\n chainId,\n selector,\n });\n\n return EitherAsync<Error, ClearSignContext[]>(async ({ liftEither }) => {\n const dappInfos = await liftEither(eitherDappInfos);\n\n // if the dappInfos is null, return an empty array\n // this means that the selector is not a known selector\n if (!dappInfos) {\n return [];\n }\n\n const externalPluginContext: ClearSignContext = {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: dappInfos.selectorDetails.serializedData.concat(\n dappInfos.selectorDetails.signature,\n ),\n };\n\n const customLoader =\n this._customPluginLoaders[dappInfos.selectorDetails.plugin];\n if (\n customLoader !== undefined &&\n customLoader.canHandle(input, [ClearSignContextType.TOKEN])\n ) {\n const tokens = await customLoader.load(input);\n return [externalPluginContext, ...tokens];\n }\n\n const decodedCallData = this.getDecodedCallData(\n dappInfos.abi,\n dappInfos.selectorDetails.method,\n data,\n );\n\n // if the call data cannot be decoded, return the error\n // but also the externalPluginContext because it is still valid\n if (decodedCallData.isLeft()) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: decodedCallData.extract(),\n },\n externalPluginContext,\n ];\n }\n\n // decodedCallData is a Right so we can extract it safely\n const extractedDecodedCallData =\n decodedCallData.extract() as ethers.Result;\n\n // get the token payload for each erc20OfInterest\n // and return the payload or the error\n const promises = dappInfos.selectorDetails.erc20OfInterest.map(\n async (erc20Path) =>\n this.getTokenPayload(input, erc20Path, extractedDecodedCallData),\n );\n\n const tokensPayload = await Promise.all(promises);\n\n // map the payload or the error to a ClearSignContext\n const contexts: ClearSignContext[] = tokensPayload.map((eitherToken) =>\n eitherToken.caseOf<ClearSignContext>({\n Left: (error) => ({ type: ClearSignContextType.ERROR, error }),\n Right: (payload) => ({ type: ClearSignContextType.TOKEN, payload }),\n }),\n );\n\n return [...contexts, externalPluginContext];\n }).caseOf<ClearSignContext[]>({\n // parse all errors into ClearSignContext\n Left: (error) => [{ type: ClearSignContextType.ERROR, error }],\n Right: (contexts) => contexts,\n });\n }\n\n private getTokenPayload(\n input: ExternalPluginContextInput,\n erc20Path: string,\n decodedCallData: ethers.Result,\n ) {\n const address = this.getAddressFromPath(erc20Path, decodedCallData);\n\n return EitherAsync<Error, string>(({ fromPromise }) =>\n fromPromise(\n this._tokenDataSource.getTokenInfosPayload({\n address,\n chainId: input.chainId,\n }),\n ),\n );\n }\n\n private getDecodedCallData(\n abi: object[],\n method: string,\n data: string,\n ): Either<Error, ethers.Result> {\n try {\n const contractInterface = new Interface(abi);\n return Right(contractInterface.decodeFunctionData(method, data));\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to parse abi\",\n ),\n );\n }\n }\n\n private getAddressFromPath(\n path: string,\n decodedCallData: ethers.Result,\n ): HexaString {\n // ethers.Result is a record string, any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let value: any = decodedCallData;\n for (const key of path.split(\".\")) {\n // In Solidity, a struct cannot begin with a number\n // Additionally, when we use -1, it signifies the last element of the array.\n if (key === \"-1\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n value = value[value.length - 1];\n } else {\n // This access can throw a RangeError error in case of an invalid key\n // but is correctly caught by the liftEither above\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n value = value[key];\n }\n }\n\n if (!isHexaString(value)) {\n throw new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to get address\",\n );\n }\n\n return value;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ExternalPluginContextLoader_exports", "__export", "ExternalPluginContextLoader", "__toCommonJS", "import_device_management_kit", "import_ethers", "import_inversify", "import_purify_ts", "import_externalPluginTypes", "import_ClearSignContext", "import_tokenTypes", "import_uniswapTypes", "SUPPORTED_TYPES", "ExternalPluginContextLoader", "_externalPluginDataSource", "_tokenDataSource", "_uniswapLoader", "input", "expectedTypes", "type", "to", "data", "selector", "chainId", "eitherDappInfos", "liftEither", "dappInfos", "externalPluginContext", "customLoader", "tokens", "decodedCallData", "extractedDecodedCallData", "promises", "erc20Path", "eitherToken", "error", "payload", "contexts", "address", "fromPromise", "abi", "method", "contractInterface", "path", "value", "key", "__decorateClass", "__decorateParam"]
7
7
  }