@ledgerhq/context-module 0.0.0-signer-eth-20250122093657 → 0.0.0-test-recursive-stack-20251002122259

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 (832) hide show
  1. package/README.md +17 -5
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +16 -16
  4. package/lib/cjs/src/ContextModule.js +1 -1
  5. package/lib/cjs/src/ContextModule.js.map +1 -1
  6. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  7. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  8. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  9. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  10. package/lib/cjs/src/DefaultContextModule.js +1 -1
  11. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  12. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  13. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  14. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  15. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  18. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  19. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  20. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  21. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  22. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  23. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  24. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  25. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  28. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  29. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  30. package/lib/cjs/src/config/di/configModuleFactory.js +1 -1
  31. package/lib/cjs/src/config/di/configModuleFactory.js.map +3 -3
  32. package/lib/cjs/src/config/di/configTypes.js +1 -1
  33. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  34. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +2 -0
  35. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  36. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  37. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  38. package/lib/cjs/src/di.js +1 -1
  39. package/lib/cjs/src/di.js.map +3 -3
  40. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js +2 -0
  41. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  42. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  43. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  44. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  45. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  46. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +2 -0
  47. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  48. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  49. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  50. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  51. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  52. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  53. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  54. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  55. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  56. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js +2 -0
  57. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  58. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  59. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  60. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  61. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  62. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  63. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  64. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  65. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  66. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  67. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  68. package/lib/cjs/src/index.js +1 -1
  69. package/lib/cjs/src/index.js.map +2 -2
  70. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  71. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  72. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  73. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  74. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  75. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  76. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  77. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  78. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  79. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  80. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  81. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  82. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  83. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  84. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  85. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  86. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  87. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  88. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  89. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  90. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js +2 -0
  91. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  92. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js +2 -0
  93. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  94. package/lib/cjs/src/pki/di/pkiModuleFactory.js +2 -0
  95. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +7 -0
  96. package/lib/cjs/src/pki/di/pkiTypes.js +2 -0
  97. package/lib/cjs/src/pki/di/pkiTypes.js.map +7 -0
  98. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  99. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  100. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  101. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  102. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js +2 -0
  103. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  104. package/lib/cjs/src/pki/model/KeyId.js +2 -0
  105. package/lib/cjs/src/pki/model/KeyId.js.map +7 -0
  106. package/lib/cjs/src/pki/model/KeyUsage.js +2 -0
  107. package/lib/cjs/src/pki/model/KeyUsage.js.map +7 -0
  108. package/lib/cjs/src/pki/model/PkiCertificate.js +2 -0
  109. package/lib/cjs/src/pki/model/PkiCertificate.js.map +7 -0
  110. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +2 -0
  111. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +7 -0
  112. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  113. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  114. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  115. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  116. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  117. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  118. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  119. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  120. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  121. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  122. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js +2 -0
  123. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  124. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js +2 -0
  125. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  126. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  127. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  128. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  129. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  130. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  131. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  132. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  133. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  134. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  135. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  136. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  137. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  138. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  139. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  140. package/lib/cjs/src/shared/constant/HttpHeaders.js +2 -0
  141. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +7 -0
  142. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  143. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  144. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  145. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  146. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  147. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  148. package/lib/cjs/src/shared/model/SignatureTags.js +2 -0
  149. package/lib/cjs/src/shared/model/SignatureTags.js.map +7 -0
  150. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +2 -0
  151. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +7 -0
  152. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  153. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  154. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  155. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  156. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  157. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  158. package/lib/cjs/src/shared/utils/HexStringUtils.js +1 -1
  159. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +3 -3
  160. package/lib/cjs/src/shared/utils/HexStringUtils.test.js +2 -0
  161. package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +7 -0
  162. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +2 -0
  163. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +7 -0
  164. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +2 -0
  165. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  166. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  167. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  168. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  169. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  170. package/lib/cjs/src/solana/data/SolanaDataSource.js +2 -0
  171. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +7 -0
  172. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js +2 -0
  173. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  174. package/lib/cjs/src/solana/di/solanaContextTypes.js +2 -0
  175. package/lib/cjs/src/solana/di/solanaContextTypes.js.map +7 -0
  176. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  177. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  178. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  179. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  180. package/lib/cjs/src/solana/domain/SolanaContextLoader.js +2 -0
  181. package/lib/cjs/src/solana/domain/SolanaContextLoader.js.map +7 -0
  182. package/lib/cjs/src/solana/domain/solanaContextTypes.js +2 -0
  183. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +7 -0
  184. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  185. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
  186. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  187. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  188. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  189. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  190. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  191. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  192. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  193. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  194. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  195. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  196. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  197. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  198. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  199. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  200. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  201. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  202. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  203. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  204. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  205. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  206. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  207. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  208. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  209. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  210. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  211. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  212. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  213. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  214. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  215. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  216. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  217. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  218. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  219. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  220. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  221. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  222. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  223. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  224. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  225. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  226. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  227. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  228. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +1 -1
  229. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  230. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  231. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  232. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  233. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  234. package/lib/cjs/src/uniswap/constants/plugin.js +2 -0
  235. package/lib/cjs/src/uniswap/constants/plugin.js.map +7 -0
  236. package/lib/cjs/src/uniswap/constants/uniswap.js +2 -0
  237. package/lib/cjs/src/uniswap/constants/uniswap.js.map +7 -0
  238. package/lib/cjs/src/uniswap/constants/weth.js +2 -0
  239. package/lib/cjs/src/uniswap/constants/weth.js.map +7 -0
  240. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js +2 -0
  241. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  242. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js +2 -0
  243. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  244. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  245. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  246. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  247. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  248. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  249. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  250. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  251. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  252. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +2 -0
  253. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  254. package/lib/cjs/src/uniswap/di/uniswapTypes.js +2 -0
  255. package/lib/cjs/src/uniswap/di/uniswapTypes.js.map +7 -0
  256. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +2 -0
  257. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  258. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  259. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  260. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js +2 -0
  261. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js.map +7 -0
  262. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js +2 -0
  263. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +7 -0
  264. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js +2 -0
  265. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js.map +7 -0
  266. package/lib/cjs/src/web3-check/data/Web3CheckDto.js +2 -0
  267. package/lib/cjs/src/web3-check/data/Web3CheckDto.js.map +7 -0
  268. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js +2 -0
  269. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js.map +7 -0
  270. package/lib/cjs/src/web3-check/di/web3CheckTypes.js +2 -0
  271. package/lib/cjs/src/web3-check/di/web3CheckTypes.js.map +7 -0
  272. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js +2 -0
  273. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +7 -0
  274. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +2 -0
  275. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +7 -0
  276. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js +2 -0
  277. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js.map +7 -0
  278. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js +2 -0
  279. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js.map +7 -0
  280. package/lib/esm/package.json +16 -16
  281. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  282. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  283. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  284. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  285. package/lib/esm/src/DefaultContextModule.js +1 -1
  286. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  287. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  288. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  289. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  290. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  291. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  292. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  293. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  294. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  295. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  296. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  297. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  298. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  299. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  300. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  301. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  302. package/lib/esm/src/config/di/configModuleFactory.js +1 -1
  303. package/lib/esm/src/config/di/configModuleFactory.js.map +3 -3
  304. package/lib/esm/src/config/di/configTypes.js +1 -1
  305. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  306. package/lib/esm/src/config/model/ContextModuleBuildArgs.js +1 -0
  307. package/lib/esm/src/di.js +1 -1
  308. package/lib/esm/src/di.js.map +3 -3
  309. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js +1 -0
  310. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  311. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  312. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  313. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  314. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  315. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +1 -0
  316. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  317. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  318. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  319. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  320. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  321. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  322. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  323. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  324. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  325. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js +1 -0
  326. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  327. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  328. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  329. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  330. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  331. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  332. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  333. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  334. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  335. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  336. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  337. package/lib/esm/src/index.js +1 -1
  338. package/lib/esm/src/index.js.map +2 -2
  339. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  340. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  341. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  342. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  343. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  344. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  345. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  346. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  347. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  348. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  349. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  350. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  351. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  352. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  353. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  354. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  355. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  356. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  357. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  358. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  359. package/lib/esm/src/pki/data/PkiCertificateDataSource.js +1 -0
  360. package/lib/esm/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  361. package/lib/esm/src/pki/data/pkiDataSourceTypes.js +1 -0
  362. package/lib/esm/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  363. package/lib/esm/src/pki/di/pkiModuleFactory.js +2 -0
  364. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +7 -0
  365. package/lib/esm/src/pki/di/pkiTypes.js +2 -0
  366. package/lib/esm/src/pki/di/pkiTypes.js.map +7 -0
  367. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  368. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  369. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  370. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  371. package/lib/esm/src/pki/domain/PkiCertificateLoader.js +1 -0
  372. package/lib/esm/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  373. package/lib/esm/src/pki/model/KeyId.js +2 -0
  374. package/lib/esm/src/pki/model/KeyId.js.map +7 -0
  375. package/lib/esm/src/pki/model/KeyUsage.js +2 -0
  376. package/lib/esm/src/pki/model/KeyUsage.js.map +7 -0
  377. package/lib/esm/src/pki/model/PkiCertificate.js +1 -0
  378. package/lib/esm/src/pki/model/PkiCertificate.js.map +7 -0
  379. package/lib/esm/src/pki/model/PkiCertificateInfo.js +1 -0
  380. package/lib/esm/src/pki/model/PkiCertificateInfo.js.map +7 -0
  381. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  382. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  383. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  384. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  385. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  386. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  387. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  388. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  389. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  390. package/lib/esm/src/proxy/data/ProxyDataSource.js.map +7 -0
  391. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js +1 -0
  392. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  393. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js +1 -0
  394. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  395. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  396. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  397. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  398. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  399. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  400. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  401. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  402. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  403. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  404. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  405. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  406. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  407. package/lib/esm/src/proxy/model/ProxyDelegateCall.js +1 -0
  408. package/lib/esm/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  409. package/lib/esm/src/shared/constant/HttpHeaders.js +2 -0
  410. package/lib/esm/src/shared/constant/HttpHeaders.js.map +7 -0
  411. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  412. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  413. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  414. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  415. package/lib/esm/src/shared/model/SignatureTags.js +2 -0
  416. package/lib/esm/src/shared/model/SignatureTags.js.map +7 -0
  417. package/lib/esm/src/shared/model/SolanaTransactionContext.js +1 -0
  418. package/lib/esm/src/shared/model/SolanaTransactionContext.js.map +7 -0
  419. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  420. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  421. package/lib/esm/src/shared/utils/HexStringUtils.js +1 -1
  422. package/lib/esm/src/shared/utils/HexStringUtils.js.map +3 -3
  423. package/lib/esm/src/shared/utils/HexStringUtils.test.js +2 -0
  424. package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +7 -0
  425. package/lib/esm/src/shared/utils/KeyUsageMapper.js +2 -0
  426. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +7 -0
  427. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +2 -0
  428. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  429. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  430. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  431. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  432. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  433. package/lib/esm/src/solana/data/SolanaDataSource.js +1 -0
  434. package/lib/esm/src/solana/data/SolanaDataSource.js.map +7 -0
  435. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js +2 -0
  436. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  437. package/lib/esm/src/solana/di/solanaContextTypes.js +2 -0
  438. package/lib/esm/src/solana/di/solanaContextTypes.js.map +7 -0
  439. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  440. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  441. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  442. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  443. package/lib/esm/src/solana/domain/SolanaContextLoader.js +1 -0
  444. package/lib/esm/src/solana/domain/SolanaContextLoader.js.map +7 -0
  445. package/lib/esm/src/solana/domain/solanaContextTypes.js +1 -0
  446. package/lib/esm/src/solana/domain/solanaContextTypes.js.map +7 -0
  447. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  448. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
  449. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  450. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  451. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  452. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  453. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  454. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  455. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  456. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  457. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  458. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  459. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  460. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  461. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  462. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  463. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  464. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  465. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  466. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  467. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  468. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  469. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  470. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  471. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  472. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  473. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  474. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  475. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  476. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  477. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  478. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  479. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  480. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  481. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  482. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  483. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +1 -1
  484. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  485. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  486. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  487. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  488. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  489. package/lib/esm/src/uniswap/constants/plugin.js +2 -0
  490. package/lib/esm/src/uniswap/constants/plugin.js.map +7 -0
  491. package/lib/esm/src/uniswap/constants/uniswap.js +2 -0
  492. package/lib/esm/src/uniswap/constants/uniswap.js.map +7 -0
  493. package/lib/esm/src/uniswap/constants/weth.js +2 -0
  494. package/lib/esm/src/uniswap/constants/weth.js.map +7 -0
  495. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js +1 -0
  496. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  497. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js +1 -0
  498. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  499. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  500. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  501. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  502. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  503. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  504. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  505. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  506. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  507. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +2 -0
  508. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  509. package/lib/esm/src/uniswap/di/uniswapTypes.js +2 -0
  510. package/lib/esm/src/uniswap/di/uniswapTypes.js.map +7 -0
  511. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +2 -0
  512. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  513. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  514. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  515. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js +2 -0
  516. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js.map +7 -0
  517. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js +2 -0
  518. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +7 -0
  519. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js +1 -0
  520. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js.map +7 -0
  521. package/lib/esm/src/web3-check/data/Web3CheckDto.js +1 -0
  522. package/lib/esm/src/web3-check/data/Web3CheckDto.js.map +7 -0
  523. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js +2 -0
  524. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js.map +7 -0
  525. package/lib/esm/src/web3-check/di/web3CheckTypes.js +2 -0
  526. package/lib/esm/src/web3-check/di/web3CheckTypes.js.map +7 -0
  527. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js +2 -0
  528. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +7 -0
  529. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +2 -0
  530. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +7 -0
  531. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js +1 -0
  532. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js.map +7 -0
  533. package/lib/esm/src/web3-check/domain/web3CheckTypes.js +1 -0
  534. package/lib/esm/src/web3-check/domain/web3CheckTypes.js.map +7 -0
  535. package/lib/types/src/ContextModule.d.ts +8 -4
  536. package/lib/types/src/ContextModule.d.ts.map +1 -1
  537. package/lib/types/src/ContextModuleBuilder.d.ts +43 -3
  538. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  539. package/lib/types/src/DefaultContextModule.d.ts +14 -4
  540. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  541. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts +13 -0
  542. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  543. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts +24 -0
  544. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  545. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  546. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  547. package/lib/types/src/{transaction/data → calldata/data/dto}/CalldataDto.d.ts +10 -1
  548. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  549. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  550. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  551. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  552. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  553. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  554. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  555. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  556. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  557. package/lib/types/src/config/di/configModuleFactory.d.ts.map +1 -1
  558. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  559. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  560. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +4 -0
  561. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -0
  562. package/lib/types/src/config/model/ContextModuleConfig.d.ts +20 -0
  563. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  564. package/lib/types/src/di.d.ts.map +1 -1
  565. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts +6 -0
  566. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts.map +1 -0
  567. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +13 -0
  568. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -0
  569. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts +2 -0
  570. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts.map +1 -0
  571. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts +14 -0
  572. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts.map +1 -0
  573. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts +3 -0
  574. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts.map +1 -0
  575. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts +5 -0
  576. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts.map +1 -0
  577. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +19 -0
  578. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -0
  579. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts +2 -0
  580. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts.map +1 -0
  581. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts +16 -0
  582. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts.map +1 -0
  583. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  584. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +11 -4
  585. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  586. package/lib/types/src/index.d.ts +49 -1
  587. package/lib/types/src/index.d.ts.map +1 -1
  588. package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -0
  589. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  590. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  591. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  592. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  593. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  594. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  595. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  596. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  597. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  598. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  599. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts +12 -0
  600. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -0
  601. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts +2 -0
  602. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts.map +1 -0
  603. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts +7 -0
  604. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts.map +1 -0
  605. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts +23 -0
  606. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts.map +1 -0
  607. package/lib/types/src/pki/di/pkiModuleFactory.d.ts +3 -0
  608. package/lib/types/src/pki/di/pkiModuleFactory.d.ts.map +1 -0
  609. package/lib/types/src/pki/di/pkiTypes.d.ts +5 -0
  610. package/lib/types/src/pki/di/pkiTypes.d.ts.map +1 -0
  611. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts +10 -0
  612. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -0
  613. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts +2 -0
  614. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts.map +1 -0
  615. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts +6 -0
  616. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts.map +1 -0
  617. package/lib/types/src/pki/model/KeyId.d.ts +14 -0
  618. package/lib/types/src/pki/model/KeyId.d.ts.map +1 -0
  619. package/lib/types/src/pki/model/KeyUsage.d.ts +15 -0
  620. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -0
  621. package/lib/types/src/pki/model/PkiCertificate.d.ts +5 -0
  622. package/lib/types/src/pki/model/PkiCertificate.d.ts.map +1 -0
  623. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +6 -0
  624. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -0
  625. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  626. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  627. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts +2 -0
  628. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  629. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  630. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  631. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  632. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  633. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  634. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  635. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts +5 -0
  636. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  637. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts +6 -0
  638. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  639. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  640. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  641. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  642. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  643. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  644. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  645. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  646. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  647. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  648. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  649. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  650. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  651. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  652. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  653. package/lib/types/src/shared/constant/HttpHeaders.d.ts +3 -0
  654. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -0
  655. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +15 -0
  656. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  657. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  658. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  659. package/lib/types/src/shared/model/ClearSignContext.d.ts +33 -8
  660. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  661. package/lib/types/src/shared/model/SignatureTags.d.ts +3 -0
  662. package/lib/types/src/shared/model/SignatureTags.d.ts.map +1 -0
  663. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +11 -0
  664. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -0
  665. package/lib/types/src/shared/model/TransactionSubset.d.ts +4 -1
  666. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  667. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +48 -4
  668. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  669. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  670. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  671. package/lib/types/src/shared/utils/HexStringUtils.d.ts +1 -0
  672. package/lib/types/src/shared/utils/HexStringUtils.d.ts.map +1 -1
  673. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts +2 -0
  674. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts.map +1 -0
  675. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +5 -0
  676. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -0
  677. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts +2 -0
  678. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts.map +1 -0
  679. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +13 -0
  680. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -0
  681. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts +2 -0
  682. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts.map +1 -0
  683. package/lib/types/src/solana/data/SolanaDataSource.d.ts +12 -0
  684. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -0
  685. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts +3 -0
  686. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts.map +1 -0
  687. package/lib/types/src/solana/di/solanaContextTypes.d.ts +5 -0
  688. package/lib/types/src/solana/di/solanaContextTypes.d.ts.map +1 -0
  689. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +11 -0
  690. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -0
  691. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts +2 -0
  692. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts.map +1 -0
  693. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts +5 -0
  694. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts.map +1 -0
  695. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +27 -0
  696. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -0
  697. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  698. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  699. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  700. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  701. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  702. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  703. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  704. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  705. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  706. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  707. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  708. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  709. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +9 -2
  710. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  711. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  712. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  713. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  714. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  715. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  716. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  717. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  718. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  719. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  720. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  721. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  722. package/lib/types/src/typed-data/data/FiltersDto.d.ts +48 -2
  723. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  724. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +5 -0
  725. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  726. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  727. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  728. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  729. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  730. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  731. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  732. package/lib/types/src/uniswap/constants/plugin.d.ts +3 -0
  733. package/lib/types/src/uniswap/constants/plugin.d.ts.map +1 -0
  734. package/lib/types/src/uniswap/constants/uniswap.d.ts +21 -0
  735. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -0
  736. package/lib/types/src/uniswap/constants/weth.d.ts +20 -0
  737. package/lib/types/src/uniswap/constants/weth.d.ts.map +1 -0
  738. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts +5 -0
  739. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts.map +1 -0
  740. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts +6 -0
  741. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts.map +1 -0
  742. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts +14 -0
  743. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts.map +1 -0
  744. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts +2 -0
  745. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts.map +1 -0
  746. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts +5 -0
  747. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts.map +1 -0
  748. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts +2 -0
  749. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts.map +1 -0
  750. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts +3 -0
  751. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts.map +1 -0
  752. package/lib/types/src/uniswap/di/uniswapTypes.d.ts +6 -0
  753. package/lib/types/src/uniswap/di/uniswapTypes.d.ts.map +1 -0
  754. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +112 -0
  755. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -0
  756. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts +2 -0
  757. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts.map +1 -0
  758. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts +14 -0
  759. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts.map +1 -0
  760. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts +2 -0
  761. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts.map +1 -0
  762. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts +6 -0
  763. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts.map +1 -0
  764. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts +20 -0
  765. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts.map +1 -0
  766. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts +3 -0
  767. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts.map +1 -0
  768. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts +5 -0
  769. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts.map +1 -0
  770. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts +10 -0
  771. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts.map +1 -0
  772. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts +2 -0
  773. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts.map +1 -0
  774. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts +6 -0
  775. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts.map +1 -0
  776. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts +35 -0
  777. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts.map +1 -0
  778. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  779. package/package.json +18 -18
  780. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  781. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  782. package/lib/cjs/src/transaction/data/CalldataDto.js +0 -2
  783. package/lib/cjs/src/transaction/data/CalldataDto.js.map +0 -7
  784. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  785. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  786. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  787. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  788. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  789. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  790. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  791. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  792. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  793. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  794. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  795. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  796. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  797. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  798. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  799. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  800. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  801. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  802. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  803. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  804. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  805. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  806. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  807. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  808. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  809. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  810. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  811. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  812. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -19
  813. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  814. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +0 -1
  815. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +0 -22
  816. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  817. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  818. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  819. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +0 -12
  820. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  821. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  822. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  823. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
  824. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  825. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -10
  826. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  827. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  828. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  829. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  830. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js +0 -0
  831. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js.map +0 -0
  832. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → config/model/ContextModuleBuildArgs.js.map} +0 -0
@@ -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 PACKAGE from \"@root/package.json\";\n\njest.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 jest.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 = jest.fn(() => Promise.resolve({ data: [] }));\n jest.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: { \"X-Ledger-Client-Version\": 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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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 jest.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": ["axios", "ABI", "HttpExternalPluginDataSource", "PACKAGE", "axiosResponseBuilder", "dto", "datasource", "exampleB2c", "exampleAbis", "exampleB2cSignatures", "config", "version", "requestSpy", "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": ["axios", "ABI", "HttpExternalPluginDataSource", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "axiosResponseBuilder", "dto", "config", "datasource", "exampleB2c", "exampleAbis", "exampleB2cSignatures", "version", "requestSpy", "response", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as r}from"inversify";import{HttpExternalPluginDataSource as e}from"../../external-plugin/data/HttpExternalPluginDataSource";import{externalPluginTypes as o}from"../../external-plugin/di/externalPluginTypes";import{ExternalPluginContextLoader as n}from"../../external-plugin/domain/ExternalPluginContextLoader";const d=()=>new r((t,a,l,i)=>{t(o.ExternalPluginDataSource).to(e),t(o.ExternalPluginContextLoader).to(n)});export{d as externalPluginModuleFactory};
1
+ import{ContainerModule as r}from"inversify";import{HttpExternalPluginDataSource as e}from"../../external-plugin/data/HttpExternalPluginDataSource";import{externalPluginTypes as o}from"../../external-plugin/di/externalPluginTypes";import{ExternalPluginContextLoader as n}from"../../external-plugin/domain/ExternalPluginContextLoader";const x=()=>new r(({bind:t})=>{t(o.ExternalPluginDataSource).to(e),t(o.ExternalPluginContextLoader).to(n)});export{x as externalPluginModuleFactory};
2
2
  //# sourceMappingURL=externalPluginModuleFactory.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/external-plugin/di/externalPluginModuleFactory.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpExternalPluginDataSource } from \"@/external-plugin/data/HttpExternalPluginDataSource\";\nimport { externalPluginTypes } from \"@/external-plugin/di/externalPluginTypes\";\nimport { ExternalPluginContextLoader } from \"@/external-plugin/domain/ExternalPluginContextLoader\";\n\nexport const externalPluginModuleFactory = () =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n bind(externalPluginTypes.ExternalPluginDataSource).to(\n HttpExternalPluginDataSource,\n );\n bind(externalPluginTypes.ExternalPluginContextLoader).to(\n ExternalPluginContextLoader,\n );\n });\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gCAAAC,MAAoC,sDAC7C,OAAS,uBAAAC,MAA2B,2CACpC,OAAS,+BAAAC,MAAmC,uDAErC,MAAMC,EAA8B,IACzC,IAAIJ,EAAgB,CAACK,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAAKH,EAAoB,wBAAwB,EAAE,GACjDD,CACF,EACAI,EAAKH,EAAoB,2BAA2B,EAAE,GACpDC,CACF,CACF,CAAC",
6
- "names": ["ContainerModule", "HttpExternalPluginDataSource", "externalPluginTypes", "ExternalPluginContextLoader", "externalPluginModuleFactory", "bind", "_unbind", "_isBound", "_rebind"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpExternalPluginDataSource } from \"@/external-plugin/data/HttpExternalPluginDataSource\";\nimport { externalPluginTypes } from \"@/external-plugin/di/externalPluginTypes\";\nimport { ExternalPluginContextLoader } from \"@/external-plugin/domain/ExternalPluginContextLoader\";\n\nexport const externalPluginModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(externalPluginTypes.ExternalPluginDataSource).to(\n HttpExternalPluginDataSource,\n );\n bind(externalPluginTypes.ExternalPluginContextLoader).to(\n ExternalPluginContextLoader,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gCAAAC,MAAoC,sDAC7C,OAAS,uBAAAC,MAA2B,2CACpC,OAAS,+BAAAC,MAAmC,uDAErC,MAAMC,EAA8B,IACzC,IAAIJ,EAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAKH,EAAoB,wBAAwB,EAAE,GACjDD,CACF,EACAI,EAAKH,EAAoB,2BAA2B,EAAE,GACpDC,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "HttpExternalPluginDataSource", "externalPluginTypes", "ExternalPluginContextLoader", "externalPluginModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var C=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var g=(s,e,a,r)=>{for(var t=r>1?void 0:r?S(e,a):e,o=s.length-1,n;o>=0;o--)(n=s[o])&&(t=(r?n(e,a,t):n(t))||t);return r&&t&&C(e,a,t),t},p=(s,e)=>(a,r)=>e(a,r,s);import{isHexaString as x}from"@ledgerhq/device-management-kit";import{Interface as y}from"ethers";import{inject as f,injectable as E}from"inversify";import{EitherAsync as m,Left as R,Right as P}from"purify-ts";import{externalPluginTypes as k}from"../../external-plugin/di/externalPluginTypes";import{ClearSignContextType as i}from"../../shared/model/ClearSignContext";import{tokenTypes as T}from"../../token/di/tokenTypes";let l=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(!x(a))return[{type:i.ERROR,error:new Error("Invalid selector")}];const r=await this._externalPluginDataSource.getDappInfos({address:e.to,chainId:e.chainId,selector:a});return m(async({liftEither:t})=>{const o=await t(r);if(!o)return[];const n={type:i.EXTERNAL_PLUGIN,payload:o.selectorDetails.serializedData.concat(o.selectorDetails.signature)},c=this.getDecodedCallData(o.abi,o.selectorDetails.method,e.data);if(c.isLeft())return[{type:i.ERROR,error:c.extract()},n];const D=c.extract(),h=o.selectorDetails.erc20OfInterest.map(async d=>this.getTokenPayload(e,d,D));return[...(await Promise.all(h)).map(d=>d.caseOf({Left:u=>({type:i.ERROR,error:u}),Right:u=>({type:i.TOKEN,payload:u})})),n]}).caseOf({Left:t=>[{type:i.ERROR,error:t}],Right:t=>t})}getTokenPayload(e,a,r){const t=this.getAddressFromPath(a,r);return m(({fromPromise:o})=>o(this._tokenDataSource.getTokenInfosPayload({address:t,chainId:e.chainId})))}getDecodedCallData(e,a,r){try{const t=new y(e);return P(t.decodeFunctionData(a,r))}catch{return R(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(!x(r))throw new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address");return r}};l=g([E(),p(0,f(k.ExternalPluginDataSource)),p(1,f(T.TokenDataSource))],l);export{l as ExternalPluginContextLoader};
1
+ var E=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var m=(i,e,a,t)=>{for(var r=t>1?void 0:t?P(e,a):e,n=i.length-1,l;n>=0;n--)(l=i[n])&&(r=(t?l(e,a,r):l(r))||r);return t&&r&&E(e,a,r),r},S=(i,e)=>(a,t)=>e(a,t,i);import{isHexaString as d}from"@ledgerhq/device-management-kit";import{Interface as I}from"ethers";import{inject as D,injectable as R}from"inversify";import{EitherAsync as f,Left as T,Right as k}from"purify-ts";import{externalPluginTypes as _}from"../../external-plugin/di/externalPluginTypes";import{ClearSignContextType as o}from"../../shared/model/ClearSignContext";import{tokenTypes as b}from"../../token/di/tokenTypes";const L=[o.EXTERNAL_PLUGIN,o.TOKEN];let g=class{_externalPluginDataSource;_tokenDataSource;constructor(e,a){this._externalPluginDataSource=e,this._tokenDataSource=a}canHandle(e,a){return typeof e=="object"&&e!==null&&"to"in e&&"data"in e&&"selector"in e&&"chainId"in e&&typeof e.chainId=="number"&&d(e.to)&&e.to!=="0x"&&d(e.data)&&e.data!=="0x"&&d(e.selector)&&e.selector!=="0x"&&L.every(t=>a.includes(t))}async load(e){const{to:a,data:t,selector:r,chainId:n}=e,l=await this._externalPluginDataSource.getDappInfos({address:a,chainId:n,selector:r});return f(async({liftEither:c})=>{const s=await c(l);if(!s)return[];const C={type:o.EXTERNAL_PLUGIN,payload:s.selectorDetails.serializedData.concat(s.selectorDetails.signature)},x=this.getDecodedCallData(s.abi,s.selectorDetails.method,t);if(x.isLeft())return[{type:o.ERROR,error:x.extract()},C];const h=x.extract(),y=s.selectorDetails.erc20OfInterest.map(async u=>this.getTokenPayload(e,u,h));return[...(await Promise.all(y)).map(u=>u.caseOf({Left:p=>({type:o.ERROR,error:p}),Right:p=>({type:o.TOKEN,payload:p})})),C]}).caseOf({Left:c=>[{type:o.ERROR,error:c}],Right:c=>c})}getTokenPayload(e,a,t){const r=this.getAddressFromPath(a,t);return f(({fromPromise:n})=>n(this._tokenDataSource.getTokenInfosPayload({address:r,chainId:e.chainId})))}getDecodedCallData(e,a,t){try{const r=new I(e);return k(r.decodeFunctionData(a,t))}catch{return T(new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi"))}}getAddressFromPath(e,a){let t=a;for(const r of e.split("."))r==="-1"?t=t[t.length-1]:t=t[r];if(!d(t))throw new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address");return t}};g=m([R(),S(0,D(_.ExternalPluginDataSource)),S(1,D(b.TokenDataSource))],g);export{g as 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": ["isHexaString", "Interface", "inject", "injectable", "EitherAsync", "Left", "Right", "externalPluginTypes", "ClearSignContextType", "tokenTypes", "ExternalPluginContextLoader", "externalPluginDataSource", "tokenDataSource", "transaction", "selector", "isHexaString", "ClearSignContextType", "eitherDappInfos", "EitherAsync", "liftEither", "dappInfos", "externalPluginContext", "decodedCallData", "extractedDecodedCallData", "promises", "erc20Path", "eitherToken", "error", "payload", "contexts", "address", "fromPromise", "abi", "method", "data", "contractInterface", "Interface", "Right", "Left", "path", "value", "key", "__decorateClass", "injectable", "__decorateParam", "inject", "externalPluginTypes", "tokenTypes"]
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\";\n\nexport type ExternalPluginContextInput = {\n to: HexaString;\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 _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 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 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": ["isHexaString", "Interface", "inject", "injectable", "EitherAsync", "Left", "Right", "externalPluginTypes", "ClearSignContextType", "tokenTypes", "SUPPORTED_TYPES", "ClearSignContextType", "ExternalPluginContextLoader", "externalPluginDataSource", "tokenDataSource", "input", "expectedTypes", "isHexaString", "type", "to", "data", "selector", "chainId", "eitherDappInfos", "EitherAsync", "liftEither", "dappInfos", "externalPluginContext", "decodedCallData", "extractedDecodedCallData", "promises", "erc20Path", "eitherToken", "error", "payload", "contexts", "address", "fromPromise", "abi", "method", "contractInterface", "Interface", "Right", "Left", "path", "value", "key", "__decorateClass", "injectable", "__decorateParam", "inject", "externalPluginTypes", "tokenTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Interface as u}from"ethers";import{Left as i,Right as c}from"purify-ts";import o from"@/external-plugin/__tests__/abi.json";import{ExternalPluginContextLoader as m}from"../../external-plugin/domain/ExternalPluginContextLoader";import{ClearSignContextType as t}from"../../shared/model/ClearSignContext";const p=({abi:d,selectorDetails:s})=>({abi:d,selectorDetails:{erc20OfInterest:[],method:"",plugin:"",serializedData:"123456",signature:"7890",...s}}),l=(d,s,n)=>({to:"0x0",data:new u(JSON.stringify(d)).encodeFunctionData(s,n)});describe("ExternalPluginContextLoader",()=>{const d={getTokenInfosPayload:jest.fn()},s={getDappInfos:jest.fn()},n=new m(s,d);beforeEach(()=>{jest.clearAllMocks(),jest.spyOn(d,"getTokenInfosPayload").mockImplementation(({address:e})=>Promise.resolve(c(`payload-${e}`)))}),describe("load function",()=>{it("should return an empty array if no destination address is provided",()=>{const e={},a=()=>n.load(e);expect(a()).resolves.toEqual([])}),it("should return an empty array if data is undefined",async()=>{const e={to:"0x0"},a=await n.load(e);expect(a).toEqual([])}),it("should return an empty array if no data provided",async()=>{const e={to:"0x0",data:"0x"},a=await n.load(e);expect(a).toEqual([])}),it("should return an empty array if no dapp info is povided",async()=>{const e=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(void 0));const a=await n.load(e);expect(a).toEqual([])}),it("should return e plugin if no erc20OfInterest is provided",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:[],method:"singleParam"}}),a=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual([{type:t.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return a list of context responses when one erc20OfInterest is provided for a single parameter",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),a=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual(expect.arrayContaining([{type:t.EXTERNAL_PLUGIN,payload:"1234567890"},{type:t.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"}]))}),it("should return a context response with only set external plugin when one erc20OfInterest is provided for a single parameter but no payload is feched",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),a=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e)),jest.spyOn(d,"getTokenInfosPayload").mockResolvedValue(i(Error("error")));const r=await n.load(a);expect(r).toEqual([{type:t.ERROR,error:new Error("error")},{type:t.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return a list of context responses when two erc20OfInterest are provided for two parameters",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["fromToken","toToken"],method:"multipleParams"}}),a=l(o,"multipleParams",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual(expect.arrayContaining([{type:t.EXTERNAL_PLUGIN,payload:"1234567890"},{type:t.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:t.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"}]))}),it("should return a list of context responses when one erc20OfInterest is an array",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["fromToken.0","fromToken.1","fromToken.2","fromToken.-1"],method:"arrayParam"}}),a=l(o,"arrayParam",[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual([{type:t.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:t.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"},{type:t.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when a token datasource returns an error",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),a=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e)),jest.spyOn(d,"getTokenInfosPayload").mockResolvedValue(i(new Error("error")));const r=await n.load(a);expect(r).toEqual([{type:t.ERROR,error:new Error("error")},{type:t.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when the abi is not conform",async()=>{const e=p({abi:[{fakeabi:"notworking"}],selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),a=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual([{type:t.ERROR,error:new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi")},{type:t.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should throw an error when the erc20OfInterest doest not exist in the transaction",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["notFound"],method:"singleParam"}}),a=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual([{type:t.ERROR,error:new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address")}])}),it("should throw an error when an out-of-bounds element is present in erc20OfInterest",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["fromToken.3"],method:"arrayParam"}}),a=l(o,"arrayParam",[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual([{type:t.ERROR,error:new RangeError("out of result range")}])}),it("should return a list of context responses when one erc20OfInterest is a complex struct",async()=>{const e=p({abi:o,selectorDetails:{erc20OfInterest:["complexStruct.address1","complexStruct.param1.param2.0.param3.addresses.0","complexStruct.param1.param2.0.param3.addresses.1","complexStruct.param1.param2.0.param3.addresses.-1","complexStruct.param1.param2.1.param3.addresses.0","complexStruct.param1.param2.-1.param3.addresses.0"],method:"complexStructParam"}}),a=l(o,"complexStructParam",[{address1:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",param1:{param2:[{param3:{addresses:["0xdAC17F958D2ee523a2206206994597C13D831ec7","0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"]}},{param3:{addresses:["0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]}}]}}]);jest.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const r=await n.load(a);expect(r).toEqual([{type:t.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:t.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"},{type:t.TOKEN,payload:"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"},{type:t.TOKEN,payload:"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"},{type:t.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when datasource return a Left",async()=>{const e=l(o,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(s,"getDappInfos").mockResolvedValue(i(new Error("error")));const a=await n.load(e);expect(a).toEqual([{type:t.ERROR,error:new Error("error")}])}),it("should return an error when transaction data is not a valid hex string",async()=>{const e={to:"0x0",data:"notAHexString"},a=await n.load(e);expect(a).toEqual([{type:t.ERROR,error:new Error("Invalid selector")}])})})});
1
+ import{Interface as u}from"ethers";import{Left as i,Right as c}from"purify-ts";import r from"@/external-plugin/__tests__/abi.json";import{ExternalPluginContextLoader as E}from"../../external-plugin/domain/ExternalPluginContextLoader";import{ClearSignContextType as a}from"../../shared/model/ClearSignContext";const d=({abi:p,selectorDetails:s})=>({abi:p,selectorDetails:{erc20OfInterest:[],method:"",plugin:"",serializedData:"123456",signature:"7890",...s}}),l=(p,s,n)=>{const t=new u(JSON.stringify(p)).encodeFunctionData(s,n);return{to:"0x0",data:t,selector:t.slice(0,10),chainId:1}};describe("ExternalPluginContextLoader",()=>{const p={getTokenInfosPayload:vi.fn()},s={getDappInfos:vi.fn()},n=new E(s,p);beforeEach(()=>{vi.clearAllMocks(),vi.spyOn(p,"getTokenInfosPayload").mockImplementation(({address:e})=>Promise.resolve(c(`payload-${e}`)))}),describe("canHandle function",()=>{const e={to:"0x1234567890123456789012345678901234567890",data:"0x095ea7b30000000000000000000000001234567890123456789012345678901234567890",selector:"0x095ea7b3",chainId:1};it("should return true for valid input",()=>{expect(n.canHandle(e,[a.EXTERNAL_PLUGIN,a.TOKEN])).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(n.canHandle(e,[a.NFT])).toBe(!1),expect(n.canHandle(e,[a.TOKEN])).toBe(!1),expect(n.canHandle(e,[a.EXTERNAL_PLUGIN])).toBe(!1)}),it.each([[null,"null input"],[void 0,"undefined input"],[{},"empty object"],["string","string input"],[123,"number input"]])("should return false for %s",(t,o)=>{expect(n.canHandle(t,[a.EXTERNAL_PLUGIN,a.TOKEN])).toBe(!1)}),it.each([[{...e,to:void 0},"missing to"],[{...e,data:void 0},"missing data"],[{...e,selector:void 0},"missing selector"],[{...e,chainId:void 0},"missing chainId"]])("should return false for %s",(t,o)=>{expect(n.canHandle(t,[a.EXTERNAL_PLUGIN,a.TOKEN])).toBe(!1)}),it.each([[{...e,to:"invalid-hex"},"invalid to hex"],[{...e,to:"0x"},"empty to hex"],[{...e,data:"invalid-hex"},"invalid data hex"],[{...e,data:"0x"},"empty data (0x)"],[{...e,selector:"invalid-hex"},"invalid selector hex"],[{...e,selector:"0x"},"empty selector hex"]])("should return false for %s",(t,o)=>{expect(n.canHandle(t,[a.EXTERNAL_PLUGIN,a.TOKEN])).toBe(!1)}),it.each([[{...e,chainId:"1"},"string chainId"],[{...e,chainId:null},"null chainId"],[{...e,chainId:void 0},"undefined chainId"]])("should return false for %s",(t,o)=>{expect(n.canHandle(t,[a.EXTERNAL_PLUGIN,a.TOKEN])).toBe(!1)})}),describe("load function",()=>{it("should return an empty array if no dapp info is provided",async()=>{const e=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(void 0));const t=await n.load(e);expect(t).toEqual([])}),it("should return e plugin if no erc20OfInterest is provided",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:[],method:"singleParam"}}),t=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual([{type:a.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return a list of context responses when one erc20OfInterest is provided for a single parameter",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),t=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual(expect.arrayContaining([{type:a.EXTERNAL_PLUGIN,payload:"1234567890"},{type:a.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"}]))}),it("should return a context response with only set external plugin when one erc20OfInterest is provided for a single parameter but no payload is feched",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),t=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e)),vi.spyOn(p,"getTokenInfosPayload").mockResolvedValue(i(Error("error")));const o=await n.load(t);expect(o).toEqual([{type:a.ERROR,error:new Error("error")},{type:a.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return a list of context responses when two erc20OfInterest are provided for two parameters",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["fromToken","toToken"],method:"multipleParams"}}),t=l(r,"multipleParams",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual(expect.arrayContaining([{type:a.EXTERNAL_PLUGIN,payload:"1234567890"},{type:a.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:a.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"}]))}),it("should return a list of context responses when one erc20OfInterest is an array",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["fromToken.0","fromToken.1","fromToken.2","fromToken.-1"],method:"arrayParam"}}),t=l(r,"arrayParam",[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual([{type:a.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:a.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"},{type:a.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:a.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:a.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when a token datasource returns an error",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),t=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e)),vi.spyOn(p,"getTokenInfosPayload").mockResolvedValue(i(new Error("error")));const o=await n.load(t);expect(o).toEqual([{type:a.ERROR,error:new Error("error")},{type:a.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when the abi is not conform",async()=>{const e=d({abi:[{fakeabi:"notworking"}],selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),t=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual([{type:a.ERROR,error:new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi")},{type:a.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should throw an error when the erc20OfInterest doest not exist in the transaction",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["notFound"],method:"singleParam"}}),t=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual([{type:a.ERROR,error:new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address")}])}),it("should throw an error when an out-of-bounds element is present in erc20OfInterest",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["fromToken.3"],method:"arrayParam"}}),t=l(r,"arrayParam",[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual([{type:a.ERROR,error:new RangeError("out of result range")}])}),it("should return a list of context responses when one erc20OfInterest is a complex struct",async()=>{const e=d({abi:r,selectorDetails:{erc20OfInterest:["complexStruct.address1","complexStruct.param1.param2.0.param3.addresses.0","complexStruct.param1.param2.0.param3.addresses.1","complexStruct.param1.param2.0.param3.addresses.-1","complexStruct.param1.param2.1.param3.addresses.0","complexStruct.param1.param2.-1.param3.addresses.0"],method:"complexStructParam"}}),t=l(r,"complexStructParam",[{address1:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",param1:{param2:[{param3:{addresses:["0xdAC17F958D2ee523a2206206994597C13D831ec7","0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"]}},{param3:{addresses:["0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]}}]}}]);vi.spyOn(s,"getDappInfos").mockResolvedValue(c(e));const o=await n.load(t);expect(o).toEqual([{type:a.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:a.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"},{type:a.TOKEN,payload:"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"},{type:a.TOKEN,payload:"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"},{type:a.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:a.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:a.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when datasource return a Left",async()=>{const e=l(r,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);vi.spyOn(s,"getDappInfos").mockResolvedValue(i(new Error("error")));const t=await n.load(e);expect(t).toEqual([{type:a.ERROR,error:new Error("error")}])})})});
2
2
  //# sourceMappingURL=ExternalPluginContextLoader.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/external-plugin/domain/ExternalPluginContextLoader.test.ts"],
4
- "sourcesContent": ["import { Interface } from \"ethers\";\nimport { Left, Right } from \"purify-ts\";\n\nimport ABI from \"@/external-plugin/__tests__/abi.json\";\nimport { type ExternalPluginDataSource } from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { ExternalPluginContextLoader } from \"@/external-plugin/domain/ExternalPluginContextLoader\";\nimport { type DappInfos } from \"@/external-plugin/model/DappInfos\";\nimport { type SelectorDetails } from \"@/external-plugin/model/SelectorDetails\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type TransactionContext } from \"@/shared/model/TransactionContext\";\nimport { type TokenDataSource } from \"@/token/data/TokenDataSource\";\n\nconst dappInfosBuilder = ({\n abi,\n selectorDetails,\n}: {\n abi?: object[];\n selectorDetails?: Partial<SelectorDetails>;\n}) => {\n return {\n abi: abi,\n selectorDetails: {\n erc20OfInterest: [],\n method: \"\",\n plugin: \"\",\n serializedData: \"123456\",\n signature: \"7890\",\n ...selectorDetails,\n },\n } as DappInfos;\n};\n\nconst transactionBuilder = (\n abi: object,\n functionName: string,\n params: unknown[],\n): TransactionContext => {\n const contract = new Interface(JSON.stringify(abi));\n const data = contract.encodeFunctionData(functionName, params);\n return {\n to: \"0x0\",\n data,\n } as TransactionContext;\n};\n\ndescribe(\"ExternalPluginContextLoader\", () => {\n const mockTokenDataSource: TokenDataSource = {\n getTokenInfosPayload: jest.fn(),\n };\n const mockExternalPluginDataSource: ExternalPluginDataSource = {\n getDappInfos: jest.fn(),\n };\n const loader = new ExternalPluginContextLoader(\n mockExternalPluginDataSource,\n mockTokenDataSource,\n );\n\n beforeEach(() => {\n jest.clearAllMocks();\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n });\n\n describe(\"load function\", () => {\n it(\"should return an empty array if no destination address is provided\", () => {\n // GIVEN\n const transaction = {} as TransactionContext;\n\n // WHEN\n const promise = () => loader.load(transaction);\n\n // THEN\n expect(promise()).resolves.toEqual([]);\n });\n\n it(\"should return an empty array if data is undefined\", async () => {\n // GIVEN\n const transaction = { to: \"0x0\" } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no data provided\", async () => {\n // GIVEN\n const transaction = { to: \"0x0\", data: \"0x\" } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no dapp info is povided\", async () => {\n // GIVEN\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(undefined));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return e plugin if no erc20OfInterest is provided\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [],\n method: \"singleParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return a list of context responses when one erc20OfInterest is provided for a single parameter\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual(\n expect.arrayContaining([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n ]),\n );\n });\n\n it(\"should return a context response with only set external plugin when one erc20OfInterest is provided for a single parameter but no payload is feched\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockResolvedValue(Left(Error(\"error\")));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return a list of context responses when two erc20OfInterest are provided for two parameters\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\", \"toToken\"],\n method: \"multipleParams\",\n },\n });\n const transaction = transactionBuilder(ABI, \"multipleParams\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual(\n expect.arrayContaining([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n ]),\n );\n });\n\n it(\"should return a list of context responses when one erc20OfInterest is an array\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\n \"fromToken.0\",\n \"fromToken.1\",\n \"fromToken.2\",\n \"fromToken.-1\",\n ],\n method: \"arrayParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"arrayParam\", [\n [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n ],\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n // fromToken.2\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n // fromToken.-1\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return an error when a token datasource returns an error\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockResolvedValue(Left(new Error(\"error\")));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return an error when the abi is not conform\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: [{ fakeabi: \"notworking\" }],\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to parse abi\",\n ),\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should throw an error when the erc20OfInterest doest not exist in the transaction\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"notFound\"],\n method: \"singleParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to get address\",\n ),\n },\n ]);\n });\n\n it(\"should throw an error when an out-of-bounds element is present in erc20OfInterest\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken.3\"],\n method: \"arrayParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"arrayParam\", [\n [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n ],\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new RangeError(\"out of result range\"),\n },\n ]);\n });\n\n it(\"should return a list of context responses when one erc20OfInterest is a complex struct\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\n \"complexStruct.address1\",\n \"complexStruct.param1.param2.0.param3.addresses.0\",\n \"complexStruct.param1.param2.0.param3.addresses.1\",\n \"complexStruct.param1.param2.0.param3.addresses.-1\",\n \"complexStruct.param1.param2.1.param3.addresses.0\",\n \"complexStruct.param1.param2.-1.param3.addresses.0\",\n ],\n method: \"complexStructParam\",\n },\n });\n const transaction = transactionBuilder(ABI, \"complexStructParam\", [\n {\n address1: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n param1: {\n param2: [\n {\n param3: {\n addresses: [\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE\",\n ],\n },\n },\n {\n param3: {\n addresses: [\"0xB8c77482e45F1F44dE1745F52C74426C631bDD52\"],\n },\n },\n ],\n },\n },\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Right(dappInfos));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return an error when datasource return a Left\", async () => {\n // GIVEN\n const transaction = transactionBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n jest\n .spyOn(mockExternalPluginDataSource, \"getDappInfos\")\n .mockResolvedValue(Left(new Error(\"error\")));\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n ]);\n });\n\n it(\"should return an error when transaction data is not a valid hex string\", async () => {\n // GIVEN\n const transaction = {\n to: \"0x0\",\n data: \"notAHexString\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Invalid selector\"),\n },\n ]);\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["Interface", "Left", "Right", "ABI", "ExternalPluginContextLoader", "ClearSignContextType", "dappInfosBuilder", "abi", "selectorDetails", "transactionBuilder", "functionName", "params", "mockTokenDataSource", "mockExternalPluginDataSource", "loader", "address", "transaction", "promise", "result", "dappInfos"]
4
+ "sourcesContent": ["import { Interface } from \"ethers\";\nimport { Left, Right } from \"purify-ts\";\n\nimport ABI from \"@/external-plugin/__tests__/abi.json\";\nimport { type ExternalPluginDataSource } from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport {\n type ExternalPluginContextInput,\n ExternalPluginContextLoader,\n} from \"@/external-plugin/domain/ExternalPluginContextLoader\";\nimport { type DappInfos } from \"@/external-plugin/model/DappInfos\";\nimport { type SelectorDetails } from \"@/external-plugin/model/SelectorDetails\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type TokenDataSource } from \"@/token/data/TokenDataSource\";\n\nconst dappInfosBuilder = ({\n abi,\n selectorDetails,\n}: {\n abi?: object[];\n selectorDetails?: Partial<SelectorDetails>;\n}) => {\n return {\n abi: abi,\n selectorDetails: {\n erc20OfInterest: [],\n method: \"\",\n plugin: \"\",\n serializedData: \"123456\",\n signature: \"7890\",\n ...selectorDetails,\n },\n } as DappInfos;\n};\n\nconst inputBuilder = (\n abi: object,\n functionName: string,\n params: unknown[],\n): ExternalPluginContextInput => {\n const contract = new Interface(JSON.stringify(abi));\n const data = contract.encodeFunctionData(functionName, params);\n return {\n to: \"0x0\",\n data: data as `0x${string}`,\n selector: data.slice(0, 10) as `0x${string}`,\n chainId: 1,\n };\n};\n\ndescribe(\"ExternalPluginContextLoader\", () => {\n const mockTokenDataSource: TokenDataSource = {\n getTokenInfosPayload: vi.fn(),\n };\n const mockExternalPluginDataSource: ExternalPluginDataSource = {\n getDappInfos: vi.fn(),\n };\n const loader = new ExternalPluginContextLoader(\n mockExternalPluginDataSource,\n mockTokenDataSource,\n );\n\n beforeEach(() => {\n vi.clearAllMocks();\n vi.spyOn(mockTokenDataSource, \"getTokenInfosPayload\").mockImplementation(\n ({ address }) => Promise.resolve(Right(`payload-${address}`)),\n );\n });\n\n describe(\"canHandle function\", () => {\n const validInput: ExternalPluginContextInput = {\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x095ea7b30000000000000000000000001234567890123456789012345678901234567890\",\n selector: \"0x095ea7b3\",\n chainId: 1,\n };\n\n it(\"should return true for valid input\", () => {\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.EXTERNAL_PLUGIN,\n ClearSignContextType.TOKEN,\n ]),\n ).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.NFT])).toBe(\n false,\n );\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n false,\n );\n expect(\n loader.canHandle(validInput, [ClearSignContextType.EXTERNAL_PLUGIN]),\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.EXTERNAL_PLUGIN,\n ClearSignContextType.TOKEN,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, to: undefined }, \"missing to\"],\n [{ ...validInput, data: undefined }, \"missing data\"],\n [{ ...validInput, selector: undefined }, \"missing selector\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.EXTERNAL_PLUGIN,\n ClearSignContextType.TOKEN,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, to: \"invalid-hex\" }, \"invalid to hex\"],\n [{ ...validInput, to: \"0x\" }, \"empty to hex\"],\n [{ ...validInput, data: \"invalid-hex\" }, \"invalid data hex\"],\n [{ ...validInput, data: \"0x\" }, \"empty data (0x)\"],\n [{ ...validInput, selector: \"invalid-hex\" }, \"invalid selector hex\"],\n [{ ...validInput, selector: \"0x\" }, \"empty selector hex\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.EXTERNAL_PLUGIN,\n ClearSignContextType.TOKEN,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n [{ ...validInput, chainId: undefined }, \"undefined chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.EXTERNAL_PLUGIN,\n ClearSignContextType.TOKEN,\n ]),\n ).toBe(false);\n });\n });\n\n describe(\"load function\", () => {\n it(\"should return an empty array if no dapp info is provided\", async () => {\n // GIVEN\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(undefined),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return e plugin if no erc20OfInterest is provided\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [],\n method: \"singleParam\",\n },\n });\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return a list of context responses when one erc20OfInterest is provided for a single parameter\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual(\n expect.arrayContaining([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n ]),\n );\n });\n\n it(\"should return a context response with only set external plugin when one erc20OfInterest is provided for a single parameter but no payload is feched\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n vi.spyOn(mockTokenDataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Left(Error(\"error\")),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return a list of context responses when two erc20OfInterest are provided for two parameters\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\", \"toToken\"],\n method: \"multipleParams\",\n },\n });\n const input = inputBuilder(ABI, \"multipleParams\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual(\n expect.arrayContaining([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n ]),\n );\n });\n\n it(\"should return a list of context responses when one erc20OfInterest is an array\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\n \"fromToken.0\",\n \"fromToken.1\",\n \"fromToken.2\",\n \"fromToken.-1\",\n ],\n method: \"arrayParam\",\n },\n });\n const input = inputBuilder(ABI, \"arrayParam\", [\n [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n ],\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n // fromToken.2\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n // fromToken.-1\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return an error when a token datasource returns an error\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n vi.spyOn(mockTokenDataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Left(new Error(\"error\")),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return an error when the abi is not conform\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: [{ fakeabi: \"notworking\" }],\n selectorDetails: {\n erc20OfInterest: [\"fromToken\"],\n method: \"singleParam\",\n },\n });\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to parse abi\",\n ),\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should throw an error when the erc20OfInterest doest not exist in the transaction\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"notFound\"],\n method: \"singleParam\",\n },\n });\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n \"[ContextModule] ExternalPluginContextLoader: Unable to get address\",\n ),\n },\n ]);\n });\n\n it(\"should throw an error when an out-of-bounds element is present in erc20OfInterest\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\"fromToken.3\"],\n method: \"arrayParam\",\n },\n });\n const input = inputBuilder(ABI, \"arrayParam\", [\n [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n ],\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new RangeError(\"out of result range\"),\n },\n ]);\n });\n\n it(\"should return a list of context responses when one erc20OfInterest is a complex struct\", async () => {\n // GIVEN\n const dappInfos = dappInfosBuilder({\n abi: ABI,\n selectorDetails: {\n erc20OfInterest: [\n \"complexStruct.address1\",\n \"complexStruct.param1.param2.0.param3.addresses.0\",\n \"complexStruct.param1.param2.0.param3.addresses.1\",\n \"complexStruct.param1.param2.0.param3.addresses.-1\",\n \"complexStruct.param1.param2.1.param3.addresses.0\",\n \"complexStruct.param1.param2.-1.param3.addresses.0\",\n ],\n method: \"complexStructParam\",\n },\n });\n const input = inputBuilder(ABI, \"complexStructParam\", [\n {\n address1: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n param1: {\n param2: [\n {\n param3: {\n addresses: [\n \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n \"0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE\",\n ],\n },\n },\n {\n param3: {\n addresses: [\"0xB8c77482e45F1F44dE1745F52C74426C631bDD52\"],\n },\n },\n ],\n },\n },\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Right(dappInfos),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n {\n type: ClearSignContextType.TOKEN,\n payload: \"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52\",\n },\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: \"1234567890\",\n },\n ]);\n });\n\n it(\"should return an error when datasource return a Left\", async () => {\n // GIVEN\n const input = inputBuilder(ABI, \"singleParam\", [\n \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n ]);\n vi.spyOn(mockExternalPluginDataSource, \"getDappInfos\").mockResolvedValue(\n Left(new Error(\"error\")),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n ]);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Interface", "Left", "Right", "ABI", "ExternalPluginContextLoader", "ClearSignContextType", "dappInfosBuilder", "abi", "selectorDetails", "inputBuilder", "functionName", "params", "data", "mockTokenDataSource", "mockExternalPluginDataSource", "loader", "address", "validInput", "input", "_description", "result", "dappInfos"]
7
7
  }
@@ -1,2 +1,2 @@
1
- export*from"./config/model/ContextModuleConfig";export*from"./ContextModule";export*from"./ContextModuleBuilder";export*from"./DefaultContextModule";export*from"./external-plugin/domain/ExternalPluginContextLoader";export*from"./nft/domain/NftContextLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/model/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionContext";export*from"./shared/model/TransactionSubset";export*from"./shared/model/TypedDataClearSignContext";export*from"./shared/model/TypedDataContext";export*from"./token/domain/TokenContextLoader";export*from"./trusted-name/domain/TrustedNameContextLoader";
1
+ export*from"./calldata/data/CalldataDescriptorDataSource";export*from"./calldata/data/HttpCalldataDescriptorDataSource";export*from"./calldata/domain/CalldataContextLoader";export*from"./config/model/ContextModuleConfig";export*from"./ContextModule";export*from"./ContextModuleBuilder";export*from"./DefaultContextModule";export*from"./dynamic-network/data/DynamicNetworkDataSource";export*from"./dynamic-network/data/HttpDynamicNetworkDataSource";export*from"./dynamic-network/domain/DynamicNetworkContextLoader";export*from"./dynamic-network/model/DynamicNetworkConfiguration";export*from"./external-plugin/data/ExternalPluginDataSource";export*from"./external-plugin/data/HttpExternalPluginDataSource";export*from"./external-plugin/domain/ExternalPluginContextLoader";export*from"./nft/data/HttpNftDataSource";export*from"./nft/data/NftDataSource";export*from"./nft/domain/NftContextFieldLoader";export*from"./nft/domain/NftContextLoader";export*from"./pki/data/HttpPkiCertificateDataSource";export*from"./pki/data/PkiCertificateDataSource";export*from"./pki/domain/DefaultPkiCertificateLoader";export*from"./pki/domain/PkiCertificateLoader";export*from"./pki/model/KeyId";export*from"./pki/model/KeyUsage";export*from"./pki/model/PkiCertificate";export*from"./pki/model/PkiCertificateInfo";export*from"./proxy/data/HttpProxyDataSource";export*from"./proxy/data/HttpSafeProxyDataSource";export*from"./proxy/data/ProxyDataSource";export*from"./proxy/domain/ProxyContextFieldLoader";export*from"./shared/domain/ContextFieldLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/model/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionSubset";export*from"./shared/model/TypedDataClearSignContext";export*from"./shared/model/TypedDataContext";export*from"./solana/data/HttpSolanaOwnerInfoDataSource";export*from"./solana/data/SolanaDataSource";export*from"./solana/domain/DefaultSolanaContextLoader";export*from"./solana/domain/SolanaContextLoader";export*from"./token/data/HttpTokenDataSource";export*from"./token/data/TokenDataSource";export*from"./token/domain/TokenContextFieldLoader";export*from"./token/domain/TokenContextLoader";export*from"./trusted-name/data/HttpTrustedNameDataSource";export*from"./trusted-name/data/TrustedNameDataSource";export*from"./trusted-name/domain/TrustedNameContextFieldLoader";export*from"./trusted-name/domain/TrustedNameContextLoader";export*from"./typed-data/data/HttpTypedDataDataSource";export*from"./typed-data/data/TypedDataDataSource";export*from"./typed-data/domain/DefaultTypedDataContextLoader";export*from"./typed-data/domain/TypedDataContextLoader";export*from"./uniswap/data/AbiDecoderDataSource";export*from"./uniswap/data/CommandDecoderDataSource";export*from"./uniswap/data/DefaultCommandDecoderDataSource";export*from"./uniswap/data/EthersAbiDecoderDataSource";export*from"./uniswap/domain/UniswapContextLoader";export*from"./web3-check/data/HttpWeb3CheckDataSource";export*from"./web3-check/data/Web3CheckDataSource";export*from"./web3-check/domain/DefaultWeb3CheckLoader";export*from"./web3-check/domain/Web3CheckContextLoader";export*from"./web3-check/domain/web3CheckTypes";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts"],
4
- "sourcesContent": ["export * from \"./config/model/ContextModuleConfig\";\nexport * from \"./ContextModule\";\nexport * from \"./ContextModuleBuilder\";\nexport * from \"./DefaultContextModule\";\nexport * from \"./external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./nft/domain/NftContextLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/TransactionContext\";\nexport * from \"./shared/model/TransactionSubset\";\nexport * from \"./shared/model/TypedDataClearSignContext\";\nexport * from \"./shared/model/TypedDataContext\";\nexport * from \"./token/domain/TokenContextLoader\";\nexport * from \"./trusted-name/domain/TrustedNameContextLoader\";\n"],
5
- "mappings": "AAAA,WAAc,qCACd,WAAc,kBACd,WAAc,yBACd,WAAc,yBACd,WAAc,uDACd,WAAc,gCACd,WAAc,gCACd,WAAc,kCACd,WAAc,6BACd,WAAc,oCACd,WAAc,mCACd,WAAc,2CACd,WAAc,kCACd,WAAc,oCACd,WAAc",
4
+ "sourcesContent": ["export * from \"./calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./calldata/domain/CalldataContextLoader\";\nexport * from \"./config/model/ContextModuleConfig\";\nexport * from \"./ContextModule\";\nexport * from \"./ContextModuleBuilder\";\nexport * from \"./DefaultContextModule\";\nexport * from \"./dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./nft/data/HttpNftDataSource\";\nexport * from \"./nft/data/NftDataSource\";\nexport * from \"./nft/domain/NftContextFieldLoader\";\nexport * from \"./nft/domain/NftContextLoader\";\nexport * from \"./pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./pki/data/PkiCertificateDataSource\";\nexport * from \"./pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./pki/domain/PkiCertificateLoader\";\nexport * from \"./pki/model/KeyId\";\nexport * from \"./pki/model/KeyUsage\";\nexport * from \"./pki/model/PkiCertificate\";\nexport * from \"./pki/model/PkiCertificateInfo\";\nexport * from \"./proxy/data/HttpProxyDataSource\";\nexport * from \"./proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./proxy/data/ProxyDataSource\";\nexport * from \"./proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/TransactionSubset\";\nexport * from \"./shared/model/TypedDataClearSignContext\";\nexport * from \"./shared/model/TypedDataContext\";\nexport * from \"./solana/data/HttpSolanaOwnerInfoDataSource\";\nexport * from \"./solana/data/SolanaDataSource\";\nexport * from \"./solana/domain/DefaultSolanaContextLoader\";\nexport * from \"./solana/domain/SolanaContextLoader\";\nexport * from \"./token/data/HttpTokenDataSource\";\nexport * from \"./token/data/TokenDataSource\";\nexport * from \"./token/domain/TokenContextFieldLoader\";\nexport * from \"./token/domain/TokenContextLoader\";\nexport * from \"./trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./trusted-name/data/TrustedNameDataSource\";\nexport * from \"./trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./typed-data/data/TypedDataDataSource\";\nexport * from \"./typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./typed-data/domain/TypedDataContextLoader\";\nexport * from \"./uniswap/data/AbiDecoderDataSource\";\nexport * from \"./uniswap/data/CommandDecoderDataSource\";\nexport * from \"./uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./uniswap/domain/UniswapContextLoader\";\nexport * from \"./web3-check/data/HttpWeb3CheckDataSource\";\nexport * from \"./web3-check/data/Web3CheckDataSource\";\nexport * from \"./web3-check/domain/DefaultWeb3CheckLoader\";\nexport * from \"./web3-check/domain/Web3CheckContextLoader\";\nexport * from \"./web3-check/domain/web3CheckTypes\";\n"],
5
+ "mappings": "AAAA,WAAc,+CACd,WAAc,mDACd,WAAc,0CACd,WAAc,qCACd,WAAc,kBACd,WAAc,yBACd,WAAc,yBACd,WAAc,kDACd,WAAc,sDACd,WAAc,uDACd,WAAc,sDACd,WAAc,kDACd,WAAc,sDACd,WAAc,uDACd,WAAc,+BACd,WAAc,2BACd,WAAc,qCACd,WAAc,gCACd,WAAc,0CACd,WAAc,sCACd,WAAc,2CACd,WAAc,oCACd,WAAc,oBACd,WAAc,uBACd,WAAc,6BACd,WAAc,iCACd,WAAc,mCACd,WAAc,uCACd,WAAc,+BACd,WAAc,yCACd,WAAc,qCACd,WAAc,gCACd,WAAc,kCACd,WAAc,6BACd,WAAc,mCACd,WAAc,2CACd,WAAc,kCACd,WAAc,8CACd,WAAc,iCACd,WAAc,6CACd,WAAc,sCACd,WAAc,mCACd,WAAc,+BACd,WAAc,yCACd,WAAc,oCACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,iDACd,WAAc,4CACd,WAAc,wCACd,WAAc,oDACd,WAAc,6CACd,WAAc,sCACd,WAAc,0CACd,WAAc,iDACd,WAAc,4CACd,WAAc,wCACd,WAAc,4CACd,WAAc,wCACd,WAAc,6CACd,WAAc,6CACd,WAAc",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var u=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var d=(i,r,o,e)=>{for(var t=e>1?void 0:e?f(r,o):r,s=i.length-1,l;s>=0;s--)(l=i[s])&&(t=(e?l(r,o,t):l(t))||t);return e&&t&&u(r,o,t),t};import m from"axios";import{injectable as g}from"inversify";import{Left as a,Right as p}from"purify-ts";import c from"../../../package.json";let n=class{async getSetPluginPayload({chainId:r,address:o,selector:e}){try{const t=await m.request({method:"GET",url:`https://nft.api.live.ledger.com/v1/ethereum/${r}/contracts/${o}/plugin-selector/${e}`,headers:{"X-Ledger-Client-Version":`context-module/${c.version}`}});return t.data.payload?p(t.data.payload):a(new Error("[ContextModule] HttpNftDataSource: unexpected empty response"))}catch{return a(new Error("[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload"))}}async getNftInfosPayload({chainId:r,address:o}){try{const e=await m.request({method:"GET",url:`https://nft.api.live.ledger.com/v1/ethereum/${r}/contracts/${o}`,headers:{"X-Ledger-Client-Version":`context-module/${c.version}`}});return e.data.payload?p(e.data.payload):a(new Error("[ContextModule] HttpNftDataSource: no nft metadata"))}catch{return a(new Error("[ContextModule] HttpNftDataSource: Failed to fetch nft informations"))}}};n=d([g()],n);export{n as HttpNftDataSource};
1
+ var E=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var l=(a,e,r,t)=>{for(var o=t>1?void 0:t?y(e,r):e,s=a.length-1,m;s>=0;s--)(m=a[s])&&(o=(t?m(e,r,o):m(o))||o);return t&&o&&E(e,r,o),o},c=(a,e)=>(r,t)=>e(r,t,a);import d from"axios";import{inject as h,injectable as P}from"inversify";import{Left as n,Right as f}from"purify-ts";import{configTypes as x}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as u,LEDGER_ORIGIN_TOKEN_HEADER as p}from"../../shared/constant/HttpHeaders";import g from"../../../package.json";let i=class{constructor(e){this.config=e}async getSetPluginPayload({chainId:e,address:r,selector:t}){try{const o=await d.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v1/ethereum/${e}/contracts/${r}/plugin-selector/${t}`,headers:{[u]:`context-module/${g.version}`,[p]:this.config.originToken}});return o.data.payload?f(o.data.payload):n(new Error("[ContextModule] HttpNftDataSource: unexpected empty response"))}catch{return n(new Error("[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload"))}}async getNftInfosPayload({chainId:e,address:r}){try{const t=await d.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v1/ethereum/${e}/contracts/${r}`,headers:{[u]:`context-module/${g.version}`,[p]:this.config.originToken}});return t.data.payload?f(t.data.payload):n(new Error("[ContextModule] HttpNftDataSource: no nft metadata"))}catch{return n(new Error("[ContextModule] HttpNftDataSource: Failed to fetch nft informations"))}}};i=l([P(),c(0,h(x.Config))],i);export{i as HttpNftDataSource};
2
2
  //# sourceMappingURL=HttpNftDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/nft/data/HttpNftDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport {\n GetNftInformationsParams,\n GetSetPluginPayloadParams,\n NftDataSource,\n} from \"@/nft/data/NftDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\n@injectable()\nexport class HttpNftDataSource implements NftDataSource {\n public async getSetPluginPayload({\n chainId,\n address,\n selector,\n }: GetSetPluginPayloadParams): Promise<Either<Error, string>> {\n try {\n const response = await axios.request<{ payload: string }>({\n method: \"GET\",\n url: `https://nft.api.live.ledger.com/v1/ethereum/${chainId}/contracts/${address}/plugin-selector/${selector}`,\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n return response.data.payload\n ? Right(response.data.payload)\n : Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: unexpected empty response\",\n ),\n );\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload\",\n ),\n );\n }\n }\n\n public async getNftInfosPayload({\n chainId,\n address,\n }: GetNftInformationsParams): Promise<Either<Error, string>> {\n try {\n const response = await axios.request<{ payload: string }>({\n method: \"GET\",\n url: `https://nft.api.live.ledger.com/v1/ethereum/${chainId}/contracts/${address}`,\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n return response.data.payload\n ? Right(response.data.payload)\n : Left(new Error(\"[ContextModule] HttpNftDataSource: no nft metadata\"));\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch nft informations\",\n ),\n );\n }\n }\n}\n"],
5
- "mappings": "wMAAA,OAAOA,MAAW,QAClB,OAAS,cAAAC,MAAkB,YAC3B,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAOpC,OAAOC,MAAa,qBAGb,IAAMC,EAAN,KAAiD,CACtD,MAAa,oBAAoB,CAC/B,QAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA8D,CAC5D,GAAI,CACF,MAAMC,EAAW,MAAMC,EAAM,QAA6B,CACxD,OAAQ,MACR,IAAK,+CAA+CJ,CAAO,cAAcC,CAAO,oBAAoBC,CAAQ,GAC5G,QAAS,CACP,0BAA2B,kBAAkBG,EAAQ,OAAO,EAC9D,CACF,CAAC,EAED,OAAOF,EAAS,KAAK,QACjBG,EAAMH,EAAS,KAAK,OAAO,EAC3BI,EACE,IAAI,MACF,8DACF,CACF,CACN,MAAiB,CACf,OAAOA,EACL,IAAI,MACF,uEACF,CACF,CACF,CACF,CAEA,MAAa,mBAAmB,CAC9B,QAAAP,EACA,QAAAC,CACF,EAA6D,CAC3D,GAAI,CACF,MAAME,EAAW,MAAMC,EAAM,QAA6B,CACxD,OAAQ,MACR,IAAK,+CAA+CJ,CAAO,cAAcC,CAAO,GAChF,QAAS,CACP,0BAA2B,kBAAkBI,EAAQ,OAAO,EAC9D,CACF,CAAC,EAED,OAAOF,EAAS,KAAK,QACjBG,EAAMH,EAAS,KAAK,OAAO,EAC3BI,EAAK,IAAI,MAAM,oDAAoD,CAAC,CAC1E,MAAiB,CACf,OAAOA,EACL,IAAI,MACF,qEACF,CACF,CACF,CACF,CACF,EAvDaR,EAANS,EAAA,CADNC,EAAW,GACCV",
6
- "names": ["axios", "injectable", "Left", "Right", "PACKAGE", "HttpNftDataSource", "chainId", "address", "selector", "response", "axios", "PACKAGE", "Right", "Left", "__decorateClass", "injectable"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n GetNftInformationsParams,\n GetSetPluginPayloadParams,\n NftDataSource,\n} from \"@/nft/data/NftDataSource\";\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 HttpNftDataSource implements NftDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getSetPluginPayload({\n chainId,\n address,\n selector,\n }: GetSetPluginPayloadParams): Promise<Either<Error, string>> {\n try {\n const response = await axios.request<{ payload: string }>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v1/ethereum/${chainId}/contracts/${address}/plugin-selector/${selector}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n\n return response.data.payload\n ? Right(response.data.payload)\n : Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: unexpected empty response\",\n ),\n );\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload\",\n ),\n );\n }\n }\n\n public async getNftInfosPayload({\n chainId,\n address,\n }: GetNftInformationsParams): Promise<Either<Error, string>> {\n try {\n const response = await axios.request<{ payload: string }>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v1/ethereum/${chainId}/contracts/${address}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n\n return response.data.payload\n ? Right(response.data.payload)\n : Left(new Error(\"[ContextModule] HttpNftDataSource: no nft metadata\"));\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch nft informations\",\n ),\n );\n }\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAO5B,OACE,gCAAAC,EACA,8BAAAC,MACK,gCACP,OAAOC,MAAa,qBAGb,IAAMC,EAAN,KAAiD,CACtD,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAa,oBAAoB,CAC/B,QAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA8D,CAC5D,GAAI,CACF,MAAMC,EAAW,MAAMC,EAAM,QAA6B,CACxD,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,gBAAgBJ,CAAO,cAAcC,CAAO,oBAAoBC,CAAQ,GACrH,QAAS,CACP,CAACG,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,EAED,OAAOJ,EAAS,KAAK,QACjBK,EAAML,EAAS,KAAK,OAAO,EAC3BM,EACE,IAAI,MACF,8DACF,CACF,CACN,MAAiB,CACf,OAAOA,EACL,IAAI,MACF,uEACF,CACF,CACF,CACF,CAEA,MAAa,mBAAmB,CAC9B,QAAAT,EACA,QAAAC,CACF,EAA6D,CAC3D,GAAI,CACF,MAAME,EAAW,MAAMC,EAAM,QAA6B,CACxD,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,gBAAgBJ,CAAO,cAAcC,CAAO,GACzF,QAAS,CACP,CAACI,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,EAED,OAAOJ,EAAS,KAAK,QACjBK,EAAML,EAAS,KAAK,OAAO,EAC3BM,EAAK,IAAI,MAAM,oDAAoD,CAAC,CAC1E,MAAiB,CACf,OAAOA,EACL,IAAI,MACF,qEACF,CACF,CACF,CACF,CACF,EA7DaX,EAANY,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBhB",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpNftDataSource", "config", "chainId", "address", "selector", "response", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "Right", "Left", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import o from"axios";import r from"../../../package.json";import{HttpNftDataSource as s}from"./HttpNftDataSource";jest.mock("axios");describe("HttpNftDataSource",()=>{let a;beforeAll(()=>{a=new s,jest.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const e=`context-module/${r.version}`,t=jest.fn(()=>Promise.resolve({data:[]}));jest.spyOn(o,"request").mockImplementation(t),await a.getNftInfosPayload({address:"0x00",chainId:1}),await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"}),expect(t).toHaveBeenNthCalledWith(1,expect.objectContaining({headers:{"X-Ledger-Client-Version":e}})),expect(t).toHaveBeenNthCalledWith(2,expect.objectContaining({headers:{"X-Ledger-Client-Version":e}}))}),describe("getNftInfosPayload",()=>{it("should return an error when axios throws an error",async()=>{jest.spyOn(o,"request").mockRejectedValue(new Error("error"));const e=await a.getNftInfosPayload({address:"0x00",chainId:1});expect(e.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: Failed to fetch nft informations"))}),it("should return an error when the response is empty",async()=>{const e={data:{}};jest.spyOn(o,"request").mockResolvedValue(e);const t=await a.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: no nft metadata"))}),it("should return the payload",async()=>{const e={data:{payload:"payload"}};jest.spyOn(o,"request").mockResolvedValue(e);const t=await a.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual("payload")})}),describe("getSetPluginPayload",()=>{it("should return an error when axios throws an error",async()=>{jest.spyOn(o,"request").mockRejectedValue(new Error("error"));const e=await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(e.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload"))}),it("should return an error when the response is empty",async()=>{const e={data:{}};jest.spyOn(o,"request").mockResolvedValue(e);const t=await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: unexpected empty response"))}),it("should return the payload",async()=>{const e={data:{payload:"payload"}};jest.spyOn(o,"request").mockResolvedValue(e);const t=await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual("payload")})})});
1
+ import a from"axios";import{LEDGER_CLIENT_VERSION_HEADER as n,LEDGER_ORIGIN_TOKEN_HEADER as s}from"../../shared/constant/HttpHeaders";import i from"../../../package.json";import{HttpNftDataSource as l}from"./HttpNftDataSource";vi.mock("axios");const r={web3checks:{url:"web3checksUrl"},metadataServiceDomain:{url:"https://nft.api.live.ledger.com"},originToken:"originToken"};describe("HttpNftDataSource",()=>{let o;beforeAll(()=>{o=new l(r),vi.clearAllMocks()}),it("should call axios with the ledger client version and origin Token header",async()=>{const e=`context-module/${i.version}`,t=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(a,"request").mockImplementation(t),await o.getNftInfosPayload({address:"0x00",chainId:1}),await o.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"}),expect(t).toHaveBeenNthCalledWith(1,expect.objectContaining({headers:{[n]:e,[s]:r.originToken}})),expect(t).toHaveBeenNthCalledWith(2,expect.objectContaining({headers:{[n]:e,[s]:r.originToken}}))}),describe("getNftInfosPayload",()=>{it("should return an error when axios throws an error",async()=>{vi.spyOn(a,"request").mockRejectedValue(new Error("error"));const e=await o.getNftInfosPayload({address:"0x00",chainId:1});expect(e.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: Failed to fetch nft informations"))}),it("should return an error when the response is empty",async()=>{const e={data:{}};vi.spyOn(a,"request").mockResolvedValue(e);const t=await o.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: no nft metadata"))}),it("should return the payload",async()=>{const e={data:{payload:"payload"}};vi.spyOn(a,"request").mockResolvedValue(e);const t=await o.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual("payload")})}),describe("getSetPluginPayload",()=>{it("should return an error when axios throws an error",async()=>{vi.spyOn(a,"request").mockRejectedValue(new Error("error"));const e=await o.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(e.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload"))}),it("should return an error when the response is empty",async()=>{const e={data:{}};vi.spyOn(a,"request").mockResolvedValue(e);const t=await o.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: unexpected empty response"))}),it("should return the payload",async()=>{const e={data:{payload:"payload"}};vi.spyOn(a,"request").mockResolvedValue(e);const t=await o.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual("payload")})})});
2
2
  //# sourceMappingURL=HttpNftDataSource.test.js.map