@ledgerhq/context-module 0.0.0-develop-20241011001048 → 0.0.0-signer-eth-20250122093657

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 (572) hide show
  1. package/LICENSE.MD +202 -0
  2. package/README.md +4 -6
  3. package/lib/cjs/index.js +2 -20
  4. package/lib/cjs/index.js.map +7 -1
  5. package/lib/cjs/package.json +54 -59
  6. package/lib/cjs/src/ContextModule.js +2 -3
  7. package/lib/cjs/src/ContextModule.js.map +7 -1
  8. package/lib/cjs/src/ContextModuleBuilder.js +2 -87
  9. package/lib/cjs/src/ContextModuleBuilder.js.map +7 -1
  10. package/lib/cjs/src/ContextModuleBuilder.test.js +2 -0
  11. package/lib/cjs/src/ContextModuleBuilder.test.js.map +7 -0
  12. package/lib/cjs/src/DefaultContextModule.js +2 -21
  13. package/lib/cjs/src/DefaultContextModule.js.map +7 -1
  14. package/lib/cjs/src/DefaultContextModule.test.js +2 -0
  15. package/lib/cjs/src/DefaultContextModule.test.js.map +7 -0
  16. package/lib/cjs/src/config/di/configModuleFactory.js +2 -10
  17. package/lib/cjs/src/config/di/configModuleFactory.js.map +7 -1
  18. package/lib/cjs/src/config/di/configTypes.js +2 -7
  19. package/lib/cjs/src/config/di/configTypes.js.map +7 -1
  20. package/lib/cjs/src/config/model/ContextModuleConfig.js +2 -3
  21. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +7 -1
  22. package/lib/cjs/src/di.js +2 -17
  23. package/lib/cjs/src/di.js.map +7 -1
  24. package/lib/cjs/src/external-plugin/data/DAppDto.js +2 -3
  25. package/lib/cjs/src/external-plugin/data/DAppDto.js.map +7 -1
  26. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js +2 -3
  27. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  28. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -83
  29. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  30. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  31. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  32. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +2 -13
  33. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  34. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js +2 -8
  35. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  36. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -136
  37. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  38. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  39. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  40. package/lib/cjs/src/external-plugin/model/DappInfos.js +2 -3
  41. package/lib/cjs/src/external-plugin/model/DappInfos.js.map +7 -1
  42. package/lib/cjs/src/external-plugin/model/SelectorDetails.js +2 -3
  43. package/lib/cjs/src/external-plugin/model/SelectorDetails.js.map +7 -1
  44. package/lib/cjs/src/index.js +2 -30
  45. package/lib/cjs/src/index.js.map +7 -1
  46. package/lib/cjs/src/nft/data/HttpNftDataSource.js +2 -57
  47. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +7 -1
  48. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +2 -0
  49. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  50. package/lib/cjs/src/nft/data/NftDataSource.js +2 -3
  51. package/lib/cjs/src/nft/data/NftDataSource.js.map +7 -1
  52. package/lib/cjs/src/nft/di/nftModuleFactory.js +2 -13
  53. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +7 -1
  54. package/lib/cjs/src/nft/di/nftTypes.js +2 -8
  55. package/lib/cjs/src/nft/di/nftTypes.js.map +7 -1
  56. package/lib/cjs/src/nft/domain/NftContextLoader.js +2 -111
  57. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +7 -1
  58. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +2 -0
  59. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +7 -0
  60. package/lib/cjs/src/shared/domain/ContextLoader.js +2 -3
  61. package/lib/cjs/src/shared/domain/ContextLoader.js.map +7 -1
  62. package/lib/cjs/src/shared/model/ClearSignContext.js +2 -13
  63. package/lib/cjs/src/shared/model/ClearSignContext.js.map +7 -1
  64. package/lib/cjs/src/shared/model/GenericPath.js +2 -0
  65. package/lib/cjs/src/shared/model/GenericPath.js.map +7 -0
  66. package/lib/cjs/src/shared/model/TransactionContext.js +2 -3
  67. package/lib/cjs/src/shared/model/TransactionContext.js.map +7 -1
  68. package/lib/cjs/src/shared/model/TransactionSubset.js +2 -3
  69. package/lib/cjs/src/shared/model/TransactionSubset.js.map +7 -1
  70. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +2 -6
  71. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  72. package/lib/cjs/src/shared/model/TypedDataContext.js +2 -3
  73. package/lib/cjs/src/shared/model/TypedDataContext.js.map +7 -1
  74. package/lib/cjs/src/shared/utils/HexStringUtils.js +2 -15
  75. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +7 -1
  76. package/lib/cjs/src/token/data/HttpTokenDataSource.js +2 -83
  77. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +7 -1
  78. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +2 -0
  79. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  80. package/lib/cjs/src/token/data/TokenDataSource.js +2 -3
  81. package/lib/cjs/src/token/data/TokenDataSource.js.map +7 -1
  82. package/lib/cjs/src/token/data/TokenDto.js +2 -3
  83. package/lib/cjs/src/token/data/TokenDto.js.map +7 -1
  84. package/lib/cjs/src/token/di/tokenModuleFactory.js +2 -13
  85. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +7 -1
  86. package/lib/cjs/src/token/di/tokenTypes.js +2 -8
  87. package/lib/cjs/src/token/di/tokenTypes.js.map +7 -1
  88. package/lib/cjs/src/token/domain/TokenContextLoader.js +2 -74
  89. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +7 -1
  90. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +2 -0
  91. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +7 -0
  92. package/lib/cjs/src/transaction/data/CalldataDto.js +2 -0
  93. package/lib/cjs/src/transaction/data/CalldataDto.js.map +7 -0
  94. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +2 -0
  95. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  96. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  97. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  98. package/lib/cjs/src/transaction/data/TransactionDataSource.js +2 -0
  99. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +7 -0
  100. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +2 -0
  101. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +7 -0
  102. package/lib/cjs/src/transaction/di/transactionTypes.js +2 -0
  103. package/lib/cjs/src/transaction/di/transactionTypes.js.map +7 -0
  104. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +2 -0
  105. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  106. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  107. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  108. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  109. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  110. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  111. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  112. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +2 -0
  113. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  114. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +2 -0
  115. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  116. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  117. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  118. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +2 -0
  119. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  120. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  121. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  122. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  123. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  124. package/lib/cjs/src/typed-data/data/FiltersDto.js +2 -3
  125. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +7 -1
  126. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +2 -163
  127. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  128. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  129. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  130. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +2 -3
  131. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  132. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +2 -13
  133. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  134. package/lib/cjs/src/typed-data/di/typedDataTypes.js +2 -8
  135. package/lib/cjs/src/typed-data/di/typedDataTypes.js.map +7 -1
  136. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -127
  137. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  138. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  139. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  140. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js +2 -3
  141. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  142. package/lib/esm/index.js +2 -4
  143. package/lib/esm/index.js.map +7 -1
  144. package/lib/esm/package.json +54 -59
  145. package/lib/esm/src/ContextModule.js +1 -2
  146. package/lib/esm/src/ContextModule.js.map +7 -1
  147. package/lib/esm/src/ContextModuleBuilder.js +2 -83
  148. package/lib/esm/src/ContextModuleBuilder.js.map +7 -1
  149. package/lib/esm/src/ContextModuleBuilder.test.js +2 -0
  150. package/lib/esm/src/ContextModuleBuilder.test.js.map +7 -0
  151. package/lib/esm/src/DefaultContextModule.js +2 -17
  152. package/lib/esm/src/DefaultContextModule.js.map +7 -1
  153. package/lib/esm/src/DefaultContextModule.test.js +2 -0
  154. package/lib/esm/src/DefaultContextModule.test.js.map +7 -0
  155. package/lib/esm/src/config/di/configModuleFactory.js +2 -6
  156. package/lib/esm/src/config/di/configModuleFactory.js.map +7 -1
  157. package/lib/esm/src/config/di/configTypes.js +2 -4
  158. package/lib/esm/src/config/di/configTypes.js.map +7 -1
  159. package/lib/esm/src/config/model/ContextModuleConfig.js +1 -2
  160. package/lib/esm/src/config/model/ContextModuleConfig.js.map +7 -1
  161. package/lib/esm/src/di.js +2 -13
  162. package/lib/esm/src/di.js.map +7 -1
  163. package/lib/esm/src/external-plugin/data/DAppDto.js +1 -2
  164. package/lib/esm/src/external-plugin/data/DAppDto.js.map +7 -1
  165. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js +1 -2
  166. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  167. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -77
  168. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  169. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  170. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  171. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +2 -9
  172. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  173. package/lib/esm/src/external-plugin/di/externalPluginTypes.js +2 -5
  174. package/lib/esm/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  175. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -133
  176. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  177. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  178. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  179. package/lib/esm/src/external-plugin/model/DappInfos.js +1 -2
  180. package/lib/esm/src/external-plugin/model/DappInfos.js.map +7 -1
  181. package/lib/esm/src/external-plugin/model/SelectorDetails.js +1 -2
  182. package/lib/esm/src/external-plugin/model/SelectorDetails.js.map +7 -1
  183. package/lib/esm/src/index.js +2 -14
  184. package/lib/esm/src/index.js.map +7 -1
  185. package/lib/esm/src/nft/data/HttpNftDataSource.js +2 -51
  186. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +7 -1
  187. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +2 -0
  188. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  189. package/lib/esm/src/nft/data/NftDataSource.js +1 -2
  190. package/lib/esm/src/nft/data/NftDataSource.js.map +7 -1
  191. package/lib/esm/src/nft/di/nftModuleFactory.js +2 -9
  192. package/lib/esm/src/nft/di/nftModuleFactory.js.map +7 -1
  193. package/lib/esm/src/nft/di/nftTypes.js +2 -5
  194. package/lib/esm/src/nft/di/nftTypes.js.map +7 -1
  195. package/lib/esm/src/nft/domain/NftContextLoader.js +2 -108
  196. package/lib/esm/src/nft/domain/NftContextLoader.js.map +7 -1
  197. package/lib/esm/src/nft/domain/NftContextLoader.test.js +2 -0
  198. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +7 -0
  199. package/lib/esm/src/shared/domain/ContextLoader.js +1 -2
  200. package/lib/esm/src/shared/domain/ContextLoader.js.map +7 -1
  201. package/lib/esm/src/shared/model/ClearSignContext.js +2 -10
  202. package/lib/esm/src/shared/model/ClearSignContext.js.map +7 -1
  203. package/lib/esm/src/shared/model/GenericPath.js +2 -0
  204. package/lib/esm/src/shared/model/GenericPath.js.map +7 -0
  205. package/lib/esm/src/shared/model/TransactionContext.js +1 -2
  206. package/lib/esm/src/shared/model/TransactionContext.js.map +7 -1
  207. package/lib/esm/src/shared/model/TransactionSubset.js +1 -2
  208. package/lib/esm/src/shared/model/TransactionSubset.js.map +7 -1
  209. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +2 -3
  210. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  211. package/lib/esm/src/shared/model/TypedDataContext.js +1 -2
  212. package/lib/esm/src/shared/model/TypedDataContext.js.map +7 -1
  213. package/lib/esm/src/shared/utils/HexStringUtils.js +2 -11
  214. package/lib/esm/src/shared/utils/HexStringUtils.js.map +7 -1
  215. package/lib/esm/src/token/data/HttpTokenDataSource.js +2 -77
  216. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +7 -1
  217. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +2 -0
  218. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  219. package/lib/esm/src/token/data/TokenDataSource.js +1 -2
  220. package/lib/esm/src/token/data/TokenDataSource.js.map +7 -1
  221. package/lib/esm/src/token/data/TokenDto.js +1 -2
  222. package/lib/esm/src/token/data/TokenDto.js.map +7 -1
  223. package/lib/esm/src/token/di/tokenModuleFactory.js +2 -9
  224. package/lib/esm/src/token/di/tokenModuleFactory.js.map +7 -1
  225. package/lib/esm/src/token/di/tokenTypes.js +2 -5
  226. package/lib/esm/src/token/di/tokenTypes.js.map +7 -1
  227. package/lib/esm/src/token/domain/TokenContextLoader.js +2 -71
  228. package/lib/esm/src/token/domain/TokenContextLoader.js.map +7 -1
  229. package/lib/esm/src/token/domain/TokenContextLoader.test.js +2 -0
  230. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +7 -0
  231. package/lib/esm/src/transaction/data/CalldataDto.js +1 -0
  232. package/lib/esm/src/transaction/data/CalldataDto.js.map +7 -0
  233. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +2 -0
  234. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  235. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  236. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  237. package/lib/esm/src/transaction/data/TransactionDataSource.js +1 -0
  238. package/lib/esm/src/transaction/data/TransactionDataSource.js.map +7 -0
  239. package/lib/esm/src/transaction/di/transactionModuleFactory.js +2 -0
  240. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +7 -0
  241. package/lib/esm/src/transaction/di/transactionTypes.js +2 -0
  242. package/lib/esm/src/transaction/di/transactionTypes.js.map +7 -0
  243. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +2 -0
  244. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  245. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  246. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  247. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  248. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  249. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  250. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  251. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js +1 -0
  252. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  253. package/lib/esm/src/trusted-name/data/TrustedNameDto.js +1 -0
  254. package/lib/esm/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  255. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  256. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  257. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +2 -0
  258. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  259. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  260. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  261. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  262. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  263. package/lib/esm/src/typed-data/data/FiltersDto.js +1 -2
  264. package/lib/esm/src/typed-data/data/FiltersDto.js.map +7 -1
  265. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +2 -157
  266. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  267. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  268. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  269. package/lib/esm/src/typed-data/data/TypedDataDataSource.js +1 -2
  270. package/lib/esm/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  271. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +2 -9
  272. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  273. package/lib/esm/src/typed-data/di/typedDataTypes.js +2 -5
  274. package/lib/esm/src/typed-data/di/typedDataTypes.js.map +7 -1
  275. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -124
  276. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  277. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  278. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  279. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js +1 -2
  280. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  281. package/lib/{cjs → types}/src/ContextModule.d.ts +3 -2
  282. package/lib/types/src/ContextModule.d.ts.map +1 -0
  283. package/lib/{cjs → types}/src/ContextModuleBuilder.d.ts +9 -11
  284. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -0
  285. package/lib/types/src/ContextModuleBuilder.test.d.ts +2 -0
  286. package/lib/types/src/ContextModuleBuilder.test.d.ts.map +1 -0
  287. package/lib/types/src/DefaultContextModule.d.ts +18 -0
  288. package/lib/types/src/DefaultContextModule.d.ts.map +1 -0
  289. package/lib/types/src/DefaultContextModule.test.d.ts +2 -0
  290. package/lib/types/src/DefaultContextModule.test.d.ts.map +1 -0
  291. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts +1 -1
  292. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts.map +1 -1
  293. package/lib/types/src/config/model/ContextModuleConfig.d.ts +16 -0
  294. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -0
  295. package/lib/{cjs → types}/src/di.d.ts +1 -1
  296. package/lib/types/src/di.d.ts.map +1 -0
  297. package/lib/{cjs → types}/src/external-plugin/data/ExternalPluginDataSource.d.ts +3 -3
  298. package/lib/types/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +1 -0
  299. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts +2 -0
  300. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts.map +1 -0
  301. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts +2 -0
  302. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts.map +1 -0
  303. package/lib/types/src/external-plugin/model/DappInfos.d.ts +6 -0
  304. package/lib/types/src/external-plugin/model/DappInfos.d.ts.map +1 -0
  305. package/lib/{cjs → types}/src/index.d.ts +3 -1
  306. package/lib/types/src/index.d.ts.map +1 -0
  307. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts +2 -0
  308. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts.map +1 -0
  309. package/lib/{cjs → types}/src/nft/data/NftDataSource.d.ts +1 -1
  310. package/lib/types/src/nft/data/NftDataSource.d.ts.map +1 -0
  311. package/lib/{cjs → types}/src/nft/domain/NftContextLoader.d.ts +2 -1
  312. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -0
  313. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts +2 -0
  314. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts.map +1 -0
  315. package/lib/types/src/shared/domain/ContextLoader.d.ts +7 -0
  316. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -0
  317. package/lib/types/src/shared/model/ClearSignContext.d.ts +48 -0
  318. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -0
  319. package/lib/types/src/shared/model/GenericPath.d.ts +105 -0
  320. package/lib/types/src/shared/model/GenericPath.d.ts.map +1 -0
  321. package/lib/types/src/shared/model/TransactionContext.d.ts +19 -0
  322. package/lib/types/src/shared/model/TransactionContext.d.ts.map +1 -0
  323. package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  324. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts +2 -0
  325. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
  326. package/lib/{cjs → types}/src/token/data/TokenDataSource.d.ts +1 -1
  327. package/lib/types/src/token/data/TokenDataSource.d.ts.map +1 -0
  328. package/lib/types/src/token/data/TokenDto.d.ts +16 -0
  329. package/lib/types/src/token/data/TokenDto.d.ts.map +1 -0
  330. package/lib/{cjs → types}/src/token/domain/TokenContextLoader.d.ts +2 -1
  331. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -0
  332. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts +2 -0
  333. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts.map +1 -0
  334. package/lib/types/src/transaction/data/CalldataDto.d.ts +128 -0
  335. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +1 -0
  336. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +22 -0
  337. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +1 -0
  338. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +2 -0
  339. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +1 -0
  340. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +12 -0
  341. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +1 -0
  342. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +3 -0
  343. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +1 -0
  344. package/lib/types/src/transaction/di/transactionTypes.d.ts +5 -0
  345. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +1 -0
  346. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +10 -0
  347. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +1 -0
  348. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +2 -0
  349. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +1 -0
  350. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +11 -0
  351. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -0
  352. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts +2 -0
  353. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts.map +1 -0
  354. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +16 -0
  355. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -0
  356. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +15 -0
  357. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -0
  358. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts +3 -0
  359. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -0
  360. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +5 -0
  361. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -0
  362. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +12 -0
  363. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -0
  364. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts +2 -0
  365. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts.map +1 -0
  366. package/lib/{cjs → types}/src/typed-data/data/FiltersDto.d.ts +3 -0
  367. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -0
  368. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -0
  369. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +3 -0
  370. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -0
  371. package/lib/{cjs → types}/src/typed-data/data/TypedDataDataSource.d.ts +3 -3
  372. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -0
  373. package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  374. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts +2 -0
  375. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts.map +1 -0
  376. package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
  377. package/package.json +22 -27
  378. package/lib/cjs/src/ContextModule.d.ts.map +0 -1
  379. package/lib/cjs/src/ContextModuleBuilder.d.ts.map +0 -1
  380. package/lib/cjs/src/DefaultContextModule.d.ts +0 -20
  381. package/lib/cjs/src/DefaultContextModule.d.ts.map +0 -1
  382. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts +0 -9
  383. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  384. package/lib/cjs/src/di.d.ts.map +0 -1
  385. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  386. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts +0 -6
  387. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  388. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  389. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  390. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js +0 -3
  391. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  392. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  393. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  394. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -40
  395. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  396. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  397. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  398. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js +0 -13
  399. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  400. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  401. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  402. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js +0 -8
  403. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  404. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  405. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  406. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -66
  407. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  408. package/lib/cjs/src/index.d.ts.map +0 -1
  409. package/lib/cjs/src/nft/data/NftDataSource.d.ts.map +0 -1
  410. package/lib/cjs/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  411. package/lib/cjs/src/shared/domain/ContextLoader.d.ts +0 -6
  412. package/lib/cjs/src/shared/domain/ContextLoader.d.ts.map +0 -1
  413. package/lib/cjs/src/shared/model/ClearSignContext.d.ts +0 -21
  414. package/lib/cjs/src/shared/model/ClearSignContext.d.ts.map +0 -1
  415. package/lib/cjs/src/shared/model/TransactionContext.d.ts +0 -6
  416. package/lib/cjs/src/shared/model/TransactionContext.d.ts.map +0 -1
  417. package/lib/cjs/src/token/data/TokenDataSource.d.ts.map +0 -1
  418. package/lib/cjs/src/token/data/TokenDto.d.ts +0 -6
  419. package/lib/cjs/src/token/data/TokenDto.d.ts.map +0 -1
  420. package/lib/cjs/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  421. package/lib/cjs/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  422. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  423. package/lib/cjs/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  424. package/lib/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  425. package/lib/esm/index.d.ts +0 -3
  426. package/lib/esm/index.d.ts.map +0 -1
  427. package/lib/esm/src/ContextModule.d.ts +0 -9
  428. package/lib/esm/src/ContextModule.d.ts.map +0 -1
  429. package/lib/esm/src/ContextModuleBuilder.d.ts +0 -45
  430. package/lib/esm/src/ContextModuleBuilder.d.ts.map +0 -1
  431. package/lib/esm/src/DefaultContextModule.d.ts +0 -20
  432. package/lib/esm/src/DefaultContextModule.d.ts.map +0 -1
  433. package/lib/esm/src/config/di/configModuleFactory.d.ts +0 -4
  434. package/lib/esm/src/config/di/configModuleFactory.d.ts.map +0 -1
  435. package/lib/esm/src/config/di/configTypes.d.ts +0 -4
  436. package/lib/esm/src/config/di/configTypes.d.ts.map +0 -1
  437. package/lib/esm/src/config/model/ContextModuleConfig.d.ts +0 -9
  438. package/lib/esm/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  439. package/lib/esm/src/di.d.ts +0 -8
  440. package/lib/esm/src/di.d.ts.map +0 -1
  441. package/lib/esm/src/external-plugin/data/DAppDto.d.ts +0 -38
  442. package/lib/esm/src/external-plugin/data/DAppDto.d.ts.map +0 -1
  443. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts +0 -12
  444. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  445. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -10
  446. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -1
  447. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -3
  448. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -1
  449. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts +0 -5
  450. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -1
  451. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -15
  452. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -1
  453. package/lib/esm/src/external-plugin/model/DappInfos.d.ts +0 -6
  454. package/lib/esm/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  455. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts +0 -8
  456. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts.map +0 -1
  457. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  458. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  459. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js +0 -2
  460. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  461. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  462. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  463. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -34
  464. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  465. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  466. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  467. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js +0 -9
  468. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  469. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  470. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  471. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js +0 -5
  472. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  473. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  474. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  475. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -63
  476. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  477. package/lib/esm/src/index.d.ts +0 -14
  478. package/lib/esm/src/index.d.ts.map +0 -1
  479. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts +0 -7
  480. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts.map +0 -1
  481. package/lib/esm/src/nft/data/NftDataSource.d.ts +0 -15
  482. package/lib/esm/src/nft/data/NftDataSource.d.ts.map +0 -1
  483. package/lib/esm/src/nft/di/nftModuleFactory.d.ts +0 -3
  484. package/lib/esm/src/nft/di/nftModuleFactory.d.ts.map +0 -1
  485. package/lib/esm/src/nft/di/nftTypes.d.ts +0 -5
  486. package/lib/esm/src/nft/di/nftTypes.d.ts.map +0 -1
  487. package/lib/esm/src/nft/domain/NftContextLoader.d.ts +0 -11
  488. package/lib/esm/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  489. package/lib/esm/src/shared/domain/ContextLoader.d.ts +0 -6
  490. package/lib/esm/src/shared/domain/ContextLoader.d.ts.map +0 -1
  491. package/lib/esm/src/shared/model/ClearSignContext.d.ts +0 -21
  492. package/lib/esm/src/shared/model/ClearSignContext.d.ts.map +0 -1
  493. package/lib/esm/src/shared/model/TransactionContext.d.ts +0 -6
  494. package/lib/esm/src/shared/model/TransactionContext.d.ts.map +0 -1
  495. package/lib/esm/src/shared/model/TransactionSubset.d.ts +0 -6
  496. package/lib/esm/src/shared/model/TransactionSubset.d.ts.map +0 -1
  497. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts +0 -33
  498. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -1
  499. package/lib/esm/src/shared/model/TypedDataContext.d.ts +0 -16
  500. package/lib/esm/src/shared/model/TypedDataContext.d.ts.map +0 -1
  501. package/lib/esm/src/shared/utils/HexStringUtils.d.ts +0 -4
  502. package/lib/esm/src/shared/utils/HexStringUtils.d.ts.map +0 -1
  503. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts +0 -9
  504. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts.map +0 -1
  505. package/lib/esm/src/token/data/TokenDataSource.d.ts +0 -9
  506. package/lib/esm/src/token/data/TokenDataSource.d.ts.map +0 -1
  507. package/lib/esm/src/token/data/TokenDto.d.ts +0 -6
  508. package/lib/esm/src/token/data/TokenDto.d.ts.map +0 -1
  509. package/lib/esm/src/token/di/tokenModuleFactory.d.ts +0 -3
  510. package/lib/esm/src/token/di/tokenModuleFactory.d.ts.map +0 -1
  511. package/lib/esm/src/token/di/tokenTypes.d.ts +0 -5
  512. package/lib/esm/src/token/di/tokenTypes.d.ts.map +0 -1
  513. package/lib/esm/src/token/domain/TokenContextLoader.d.ts +0 -15
  514. package/lib/esm/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  515. package/lib/esm/src/typed-data/data/FiltersDto.d.ts +0 -55
  516. package/lib/esm/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  517. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -14
  518. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  519. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts +0 -17
  520. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  521. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts +0 -3
  522. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -1
  523. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts +0 -5
  524. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts.map +0 -1
  525. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -13
  526. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +0 -1
  527. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -6
  528. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -1
  529. package/lib/esm/tsconfig.esm.tsbuildinfo +0 -1
  530. /package/lib/{cjs → types}/index.d.ts +0 -0
  531. /package/lib/{cjs → types}/index.d.ts.map +0 -0
  532. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts +0 -0
  533. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts.map +0 -0
  534. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts +0 -0
  535. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts.map +0 -0
  536. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -0
  537. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -0
  538. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -0
  539. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -0
  540. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts +0 -0
  541. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -0
  542. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -0
  543. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -0
  544. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts +0 -0
  545. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts.map +0 -0
  546. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts +0 -0
  547. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts.map +0 -0
  548. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts +0 -0
  549. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts.map +0 -0
  550. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts +0 -0
  551. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts.map +0 -0
  552. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts +0 -0
  553. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts.map +0 -0
  554. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts +0 -0
  555. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -0
  556. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts +0 -0
  557. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts.map +0 -0
  558. /package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts +0 -0
  559. /package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts.map +0 -0
  560. /package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts +0 -0
  561. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts +0 -0
  562. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts.map +0 -0
  563. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts +0 -0
  564. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts.map +0 -0
  565. /package/lib/{cjs → types}/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -0
  566. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts +0 -0
  567. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -0
  568. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts +0 -0
  569. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts.map +0 -0
  570. /package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -0
  571. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -0
  572. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -0
@@ -1 +1,7 @@
1
- {"version":3,"file":"configModuleFactory.js","sourceRoot":"","sources":["../../../../../src/config/di/configModuleFactory.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAI5C,+CAA4C;AAErC,MAAM,mBAAmB,GAAG,CAAC,MAA2B,EAAE,EAAE,CACjE,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACvD,IAAI,CAAsB,yBAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAHQ,QAAA,mBAAmB,uBAG3B"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/config/di/configModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\n\nimport { configTypes } from \"./configTypes\";\n\nexport const configModuleFactory = (config: ContextModuleConfig) =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n bind<ContextModuleConfig>(configTypes.Config).toConstantValue(config);\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAIhCC,EAA4B,yBAErB,MAAMH,EAAuBI,GAClC,IAAI,kBAAgB,CAACC,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAA0B,cAAY,MAAM,EAAE,gBAAgBD,CAAM,CACtE,CAAC",
6
+ "names": ["configModuleFactory_exports", "__export", "configModuleFactory", "__toCommonJS", "import_inversify", "import_configTypes", "config", "bind", "_unbind", "_isBound", "_rebind"]
7
+ }
@@ -1,7 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configTypes = void 0;
4
- exports.configTypes = {
5
- Config: Symbol.for("config"),
6
- };
7
- //# sourceMappingURL=configTypes.js.map
1
+ "use strict";var g=Object.defineProperty;var e=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var s=(f,o)=>{for(var c in o)g(f,c,{get:o[c],enumerable:!0})},t=(f,o,c,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of p(o))!r.call(f,n)&&n!==c&&g(f,n,{get:()=>o[n],enumerable:!(i=e(o,n))||i.enumerable});return f};var y=f=>t(g({},"__esModule",{value:!0}),f);var l={};s(l,{configTypes:()=>b});module.exports=y(l);const b={Config:Symbol.for("config")};0&&(module.exports={configTypes});
2
+ //# sourceMappingURL=configTypes.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"configTypes.js","sourceRoot":"","sources":["../../../../../src/config/di/configTypes.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;CAC7B,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/config/di/configTypes.ts"],
4
+ "sourcesContent": ["export const configTypes = {\n Config: Symbol.for(\"config\"),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAc,CACzB,OAAQ,OAAO,IAAI,QAAQ,CAC7B",
6
+ "names": ["configTypes_exports", "__export", "configTypes", "__toCommonJS"]
7
+ }
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ContextModuleConfig.js.map
1
+ "use strict";var d=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(o,e,n,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of C(e))!l.call(o,t)&&t!==n&&d(o,t,{get:()=>e[t],enumerable:!(a=r(e,t))||a.enumerable});return o};var x=o=>p(d({},"__esModule",{value:!0}),o);var u={};module.exports=x(u);
2
+ //# sourceMappingURL=ContextModuleConfig.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"ContextModuleConfig.js","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleConfig.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/config/model/ContextModuleConfig.ts"],
4
+ "sourcesContent": ["import { type ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport { type TypedDataContextLoader } from \"@/typed-data/domain/TypedDataContextLoader\";\n\nexport type ContextModuleCalMode = \"prod\" | \"test\";\nexport type ContextModuleCalBranch = \"next\" | \"main\" | \"demo\";\n\nexport type ContextModuleCalConfig = {\n url: string;\n mode: ContextModuleCalMode;\n branch: ContextModuleCalBranch;\n};\n\nexport type ContextModuleConfig = {\n cal: ContextModuleCalConfig;\n defaultLoaders: boolean;\n customLoaders: ContextLoader[];\n customTypedDataLoader?: TypedDataContextLoader;\n};\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["ContextModuleConfig_exports", "__toCommonJS"]
7
+ }
package/lib/cjs/src/di.js CHANGED
@@ -1,17 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeContainer = void 0;
4
- const inversify_1 = require("inversify");
5
- const configModuleFactory_1 = require("./config/di/configModuleFactory");
6
- const externalPluginModuleFactory_1 = require("./external-plugin/di/externalPluginModuleFactory");
7
- const forwardDomainModuleFactory_1 = require("./forward-domain/di/forwardDomainModuleFactory");
8
- const nftModuleFactory_1 = require("./nft/di/nftModuleFactory");
9
- const tokenModuleFactory_1 = require("./token/di/tokenModuleFactory");
10
- const typedDataModuleFactory_1 = require("./typed-data/di/typedDataModuleFactory");
11
- const makeContainer = ({ config }) => {
12
- const container = new inversify_1.Container();
13
- container.load((0, configModuleFactory_1.configModuleFactory)(config), (0, externalPluginModuleFactory_1.externalPluginModuleFactory)(), (0, forwardDomainModuleFactory_1.forwardDomainModuleFactory)(), (0, nftModuleFactory_1.nftModuleFactory)(), (0, tokenModuleFactory_1.tokenModuleFactory)(), (0, typedDataModuleFactory_1.typedDataModuleFactory)());
14
- return container;
15
- };
16
- exports.makeContainer = makeContainer;
17
- //# sourceMappingURL=di.js.map
1
+ "use strict";var n=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var g=(t,o)=>{for(var e in o)n(t,e,{get:o[e],enumerable:!0})},F=(t,o,e,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of y(o))!C.call(t,r)&&r!==e&&n(t,r,{get:()=>o[r],enumerable:!(a=M(o,r))||a.enumerable});return t};var s=t=>F(n({},"__esModule",{value:!0}),t);var x={};g(x,{makeContainer:()=>k});module.exports=s(x);var i=require("inversify"),m=require("./config/di/configModuleFactory"),f=require("./external-plugin/di/externalPluginModuleFactory"),c=require("./nft/di/nftModuleFactory"),p=require("./token/di/tokenModuleFactory"),d=require("./transaction/di/transactionModuleFactory"),l=require("./trusted-name/di/trustedNameModuleFactory"),u=require("./typed-data/di/typedDataModuleFactory");const k=({config:t})=>{const o=new i.Container;return o.load((0,m.configModuleFactory)(t),(0,f.externalPluginModuleFactory)(),(0,c.nftModuleFactory)(),(0,p.tokenModuleFactory)(),(0,d.transactionModuleFactory)(),(0,l.trustedNameModuleFactory)(),(0,u.typedDataModuleFactory)()),o};0&&(module.exports={makeContainer});
2
+ //# sourceMappingURL=di.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"di.js","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,yEAAsE;AAEtE,kGAA+F;AAC/F,+FAA4F;AAC5F,gEAA6D;AAC7D,sEAAmE;AACnE,mFAAgF;AAMzE,MAAM,aAAa,GAAG,CAAC,EAAE,MAAM,EAAqB,EAAE,EAAE;IAC7D,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;IAElC,SAAS,CAAC,IAAI,CACZ,IAAA,yCAAmB,EAAC,MAAM,CAAC,EAC3B,IAAA,yDAA2B,GAAE,EAC7B,IAAA,uDAA0B,GAAE,EAC5B,IAAA,mCAAgB,GAAE,EAClB,IAAA,uCAAkB,GAAE,EACpB,IAAA,+CAAsB,GAAE,CACzB,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/di.ts"],
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { configModuleFactory } from \"@/config/di/configModuleFactory\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { externalPluginModuleFactory } from \"@/external-plugin/di/externalPluginModuleFactory\";\nimport { nftModuleFactory } from \"@/nft/di/nftModuleFactory\";\nimport { tokenModuleFactory } from \"@/token/di/tokenModuleFactory\";\nimport { transactionModuleFactory } from \"@/transaction/di/transactionModuleFactory\";\nimport { trustedNameModuleFactory } from \"@/trusted-name/di/trustedNameModuleFactory\";\nimport { typedDataModuleFactory } from \"@/typed-data/di/typedDataModuleFactory\";\n\ntype MakeContainerArgs = {\n config: ContextModuleConfig;\n};\n\nexport const makeContainer = ({ config }: MakeContainerArgs) => {\n const container = new Container();\n\n container.load(\n configModuleFactory(config),\n externalPluginModuleFactory(),\n nftModuleFactory(),\n tokenModuleFactory(),\n transactionModuleFactory(),\n trustedNameModuleFactory(),\n typedDataModuleFactory(),\n );\n\n return container;\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA0B,qBAE1BC,EAAoC,2CAEpCC,EAA4C,4DAC5CC,EAAiC,qCACjCC,EAAmC,yCACnCC,EAAyC,qDACzCC,EAAyC,sDACzCC,EAAuC,kDAMhC,MAAMT,EAAgB,CAAC,CAAE,OAAAU,CAAO,IAAyB,CAC9D,MAAMC,EAAY,IAAI,YAEtB,OAAAA,EAAU,QACR,uBAAoBD,CAAM,KAC1B,+BAA4B,KAC5B,oBAAiB,KACjB,sBAAmB,KACnB,4BAAyB,KACzB,4BAAyB,KACzB,0BAAuB,CACzB,EAEOC,CACT",
6
+ "names": ["di_exports", "__export", "makeContainer", "__toCommonJS", "import_inversify", "import_configModuleFactory", "import_externalPluginModuleFactory", "import_nftModuleFactory", "import_tokenModuleFactory", "import_transactionModuleFactory", "import_trustedNameModuleFactory", "import_typedDataModuleFactory", "config", "container"]
7
+ }
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=DAppDto.js.map
1
+ "use strict";var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var o=(r,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of a(t))!g.call(r,e)&&e!==s&&i(r,e,{get:()=>t[e],enumerable:!(n=c(t,e))||n.enumerable});return r};var d=r=>o(i({},"__esModule",{value:!0}),r);var l={};module.exports=d(l);
2
+ //# sourceMappingURL=DAppDto.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"DAppDto.js","sourceRoot":"","sources":["../../../../../src/external-plugin/data/DAppDto.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/external-plugin/data/DAppDto.ts"],
4
+ "sourcesContent": ["export interface DAppDto {\n b2c: B2c;\n abis: Abis;\n b2c_signatures: B2cSignatures;\n}\n\nexport interface B2c {\n blockchainName: string;\n chainId: number;\n contracts: Contract[];\n name: string;\n}\n\ninterface Contract {\n address: string;\n contractName: string;\n selectors: { [selector: string]: ContractSelector };\n}\n\ninterface ContractSelector {\n erc20OfInterest: string[];\n method: string;\n plugin: string;\n}\n\nexport interface Abis {\n [address: string]: object[];\n}\n\nexport interface B2cSignatures {\n [address: string]: {\n [selector: string]: B2cSignature;\n };\n}\n\ninterface B2cSignature {\n plugin: string;\n serialized_data: string;\n signature: string;\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["DAppDto_exports", "__toCommonJS"]
7
+ }
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ExternalPluginDataSource.js.map
1
+ "use strict";var o=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var f=(r,e,a,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of i(e))!s.call(r,t)&&t!==a&&o(r,t,{get:()=>e[t],enumerable:!(p=n(e,t))||p.enumerable});return r};var m=r=>f(o({},"__esModule",{value:!0}),r);var D={};module.exports=m(D);
2
+ //# sourceMappingURL=ExternalPluginDataSource.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"ExternalPluginDataSource.js","sourceRoot":"","sources":["../../../../../src/external-plugin/data/ExternalPluginDataSource.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/external-plugin/data/ExternalPluginDataSource.ts"],
4
+ "sourcesContent": ["import { type HexaString } from \"@ledgerhq/device-management-kit\";\nimport { type Either } from \"purify-ts\";\n\nimport { type DappInfos } from \"@/external-plugin/model/DappInfos\";\n\nexport type GetDappInfos = {\n address: string;\n selector: HexaString;\n chainId: number;\n};\n\nexport interface ExternalPluginDataSource {\n getDappInfos(\n params: GetDappInfos,\n ): Promise<Either<Error, DappInfos | undefined>>;\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["ExternalPluginDataSource_exports", "__toCommonJS"]
7
+ }
@@ -1,83 +1,2 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.HttpExternalPluginDataSource = void 0;
19
- const axios_1 = __importDefault(require("axios"));
20
- const inversify_1 = require("inversify");
21
- const purify_ts_1 = require("purify-ts");
22
- const configTypes_1 = require("../../config/di/configTypes");
23
- const package_json_1 = __importDefault(require("../../../package.json"));
24
- let HttpExternalPluginDataSource = class HttpExternalPluginDataSource {
25
- config;
26
- constructor(config) {
27
- this.config = config;
28
- }
29
- async getDappInfos({ chainId, address, selector, }) {
30
- try {
31
- const dappInfos = await axios_1.default.request({
32
- method: "GET",
33
- url: `${this.config.cal.url}/dapps`,
34
- params: {
35
- output: "b2c,b2c_signatures,abis",
36
- chain_id: chainId,
37
- contracts: address,
38
- },
39
- headers: {
40
- "X-Ledger-Client-Version": `context-module/${package_json_1.default.version}`,
41
- },
42
- });
43
- if (!dappInfos.data[0]) {
44
- return (0, purify_ts_1.Right)(undefined);
45
- }
46
- // Normalize the address and selector
47
- address = address.toLowerCase();
48
- selector = `0x${selector.slice(2).toLowerCase()}`;
49
- const { erc20OfInterest, method, plugin } = dappInfos.data[0].b2c?.contracts?.find((c) => c.address === address)
50
- ?.selectors?.[selector] || {};
51
- const { signature, serialized_data: serializedData } = dappInfos.data[0].b2c_signatures?.[address]?.[selector] || {};
52
- if (!erc20OfInterest ||
53
- !method ||
54
- !plugin ||
55
- !signature ||
56
- !serializedData) {
57
- return (0, purify_ts_1.Right)(undefined);
58
- }
59
- const abi = dappInfos.data[0].abis?.[address];
60
- if (!abi) {
61
- return (0, purify_ts_1.Right)(undefined);
62
- }
63
- const selectorDetails = {
64
- method,
65
- plugin,
66
- erc20OfInterest,
67
- signature,
68
- serializedData,
69
- };
70
- return (0, purify_ts_1.Right)({ selectorDetails, abi });
71
- }
72
- catch (_error) {
73
- return (0, purify_ts_1.Left)(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"));
74
- }
75
- }
76
- };
77
- exports.HttpExternalPluginDataSource = HttpExternalPluginDataSource;
78
- exports.HttpExternalPluginDataSource = HttpExternalPluginDataSource = __decorate([
79
- (0, inversify_1.injectable)(),
80
- __param(0, (0, inversify_1.inject)(configTypes_1.configTypes.Config)),
81
- __metadata("design:paramtypes", [Object])
82
- ], HttpExternalPluginDataSource);
83
- //# sourceMappingURL=HttpExternalPluginDataSource.js.map
1
+ "use strict";var _=Object.create;var f=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var o in t)f(e,o,{get:t[o],enumerable:!0})},D=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of w(t))!G.call(e,r)&&r!==o&&f(e,r,{get:()=>t[r],enumerable:!(i=g(t,r))||i.enumerable});return e};var C=(e,t,o)=>(o=e!=null?_(A(e)):{},D(t||!e||!e.__esModule?f(o,"default",{value:e,enumerable:!0}):o,e)),M=e=>D(f({},"__esModule",{value:!0}),e),h=(e,t,o,i)=>{for(var r=i>1?void 0:i?g(t,o):t,a=e.length-1,s;a>=0;a--)(s=e[a])&&(r=(i?s(t,o,r):s(r))||r);return i&&r&&f(t,o,r),r},b=(e,t)=>(o,i)=>t(o,i,e);var $={};L($,{HttpExternalPluginDataSource:()=>p});module.exports=M($);var x=C(require("axios")),c=require("inversify"),n=require("purify-ts"),E=require("../../config/di/configTypes"),I=C(require("../../../package.json"));let p=class{constructor(t){this.config=t}async getDappInfos({chainId:t,address:o,selector:i}){try{const r=await x.default.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{output:"b2c,b2c_signatures,abis",chain_id:t,contracts:o},headers:{"X-Ledger-Client-Version":`context-module/${I.default.version}`}});if(!r.data[0])return(0,n.Right)(void 0);o=o.toLowerCase(),i=`0x${i.slice(2).toLowerCase()}`;const{erc20OfInterest:a,method:s,plugin:m}=r.data[0].b2c?.contracts?.find(y=>y.address===o)?.selectors?.[i]||{},{signature:l,serialized_data:u}=r.data[0].b2c_signatures?.[o]?.[i]||{};if(!a||!s||!m||!l||!u)return(0,n.Right)(void 0);const d=r.data[0].abis?.[o];return d?(0,n.Right)({selectorDetails:{method:s,plugin:m,erc20OfInterest:a,signature:l,serializedData:u},abi:d}):(0,n.Right)(void 0)}catch{return(0,n.Left)(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"))}}};p=h([(0,c.injectable)(),b(0,(0,c.inject)(E.configTypes.Config))],p);0&&(module.exports={HttpExternalPluginDataSource});
2
+ //# sourceMappingURL=HttpExternalPluginDataSource.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"HttpExternalPluginDataSource.js","sourceRoot":"","sources":["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yCAA+C;AAC/C,yCAAgD;AAEhD,yDAAsD;AAStD,sEAAyC;AAGlC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAEQ;IAD/C,YAC+C,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IACvE,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,GACK;QACb,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,eAAK,CAAC,OAAO,CAAY;gBAC/C,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ;gBACnC,MAAM,EAAE;oBACN,MAAM,EAAE,yBAAyB;oBACjC,QAAQ,EAAE,OAAO;oBACjB,SAAS,EAAE,OAAO;iBACnB;gBACD,OAAO,EAAE;oBACP,yBAAyB,EAAE,kBAAkB,sBAAO,CAAC,OAAO,EAAE;iBAC/D;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,qCAAqC;YACrC,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAChC,QAAQ,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAElD,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,GACvC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;gBAClE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,GAClD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEhE,IACE,CAAC,eAAe;gBAChB,CAAC,MAAM;gBACP,CAAC,MAAM;gBACP,CAAC,SAAS;gBACV,CAAC,cAAc,EACf,CAAC;gBACD,OAAO,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,eAAe,GAAoB;gBACvC,MAAM;gBACN,MAAM;gBACN,eAAe;gBACf,SAAS;gBACT,cAAc;aACf,CAAC;YAEF,OAAO,IAAA,iBAAK,EAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,IAAA,gBAAI,EACT,IAAI,KAAK,CACP,yEAAyE,CAC1E,CACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAvEY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;IAGR,WAAA,IAAA,kBAAM,EAAC,yBAAW,CAAC,MAAM,CAAC,CAAA;;GAFlB,4BAA4B,CAuExC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { DAppDto } from \"@/external-plugin/data/DAppDto\";\nimport {\n ExternalPluginDataSource,\n GetDappInfos,\n} from \"@/external-plugin/data/ExternalPluginDataSource\";\nimport { DappInfos } from \"@/external-plugin/model/DappInfos\";\nimport { SelectorDetails } from \"@/external-plugin/model/SelectorDetails\";\nimport PACKAGE from \"@root/package.json\";\n\n@injectable()\nexport class HttpExternalPluginDataSource implements ExternalPluginDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async getDappInfos({\n chainId,\n address,\n selector,\n }: GetDappInfos): Promise<Either<Error, DappInfos | undefined>> {\n try {\n const dappInfos = await axios.request<DAppDto[]>({\n method: \"GET\",\n url: `${this.config.cal.url}/dapps`,\n params: {\n output: \"b2c,b2c_signatures,abis\",\n chain_id: chainId,\n contracts: address,\n },\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n if (!dappInfos.data[0]) {\n return Right(undefined);\n }\n\n // Normalize the address and selector\n address = address.toLowerCase();\n selector = `0x${selector.slice(2).toLowerCase()}`;\n\n const { erc20OfInterest, method, plugin } =\n dappInfos.data[0].b2c?.contracts?.find((c) => c.address === address)\n ?.selectors?.[selector] || {};\n const { signature, serialized_data: serializedData } =\n dappInfos.data[0].b2c_signatures?.[address]?.[selector] || {};\n\n if (\n !erc20OfInterest ||\n !method ||\n !plugin ||\n !signature ||\n !serializedData\n ) {\n return Right(undefined);\n }\n\n const abi = dappInfos.data[0].abis?.[address];\n\n if (!abi) {\n return Right(undefined);\n }\n\n const selectorDetails: SelectorDetails = {\n method,\n plugin,\n erc20OfInterest,\n signature,\n serializedData,\n };\n\n return Right({ selectorDetails, abi });\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos\",\n ),\n );\n }\n }\n}\n"],
5
+ "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAS5BC,EAAoB,iCAGb,IAAMC,EAAN,KAAuE,CAC5E,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,aAAa,CACjB,QAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAAgE,CAC9D,GAAI,CACF,MAAMC,EAAY,MAAM,EAAAC,QAAM,QAAmB,CAC/C,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,IAAI,GAAG,SAC3B,OAAQ,CACN,OAAQ,0BACR,SAAUJ,EACV,UAAWC,CACb,EACA,QAAS,CACP,0BAA2B,kBAAkB,EAAAI,QAAQ,OAAO,EAC9D,CACF,CAAC,EAED,GAAI,CAACF,EAAU,KAAK,CAAC,EACnB,SAAO,SAAM,MAAS,EAIxBF,EAAUA,EAAQ,YAAY,EAC9BC,EAAW,KAAKA,EAAS,MAAM,CAAC,EAAE,YAAY,CAAC,GAE/C,KAAM,CAAE,gBAAAI,EAAiB,OAAAC,EAAQ,OAAAC,CAAO,EACtCL,EAAU,KAAK,CAAC,EAAE,KAAK,WAAW,KAAMM,GAAMA,EAAE,UAAYR,CAAO,GAC/D,YAAYC,CAAQ,GAAK,CAAC,EAC1B,CAAE,UAAAQ,EAAW,gBAAiBC,CAAe,EACjDR,EAAU,KAAK,CAAC,EAAE,iBAAiBF,CAAO,IAAIC,CAAQ,GAAK,CAAC,EAE9D,GACE,CAACI,GACD,CAACC,GACD,CAACC,GACD,CAACE,GACD,CAACC,EAED,SAAO,SAAM,MAAS,EAGxB,MAAMC,EAAMT,EAAU,KAAK,CAAC,EAAE,OAAOF,CAAO,EAE5C,OAAKW,KAYE,SAAM,CAAE,gBAR0B,CACvC,OAAAL,EACA,OAAAC,EACA,gBAAAF,EACA,UAAAI,EACA,eAAAC,CACF,EAEgC,IAAAC,CAAI,CAAC,KAX5B,SAAM,MAAS,CAY1B,MAAiB,CACf,SAAO,QACL,IAAI,MACF,yEACF,CACF,CACF,CACF,CACF,EAvEad,EAANe,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,IAFjBhB",
6
+ "names": ["HttpExternalPluginDataSource_exports", "__export", "HttpExternalPluginDataSource", "__toCommonJS", "import_axios", "import_inversify", "import_purify_ts", "import_configTypes", "import_package", "HttpExternalPluginDataSource", "config", "chainId", "address", "selector", "dappInfos", "axios", "PACKAGE", "erc20OfInterest", "method", "plugin", "c", "signature", "serializedData", "abi", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var x=Object.create;var l=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var I=(s,n,c,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of m(n))!h.call(s,e)&&e!==c&&l(s,e,{get:()=>n[e],enumerable:!(o=b(n,e))||o.enumerable});return s};var d=(s,n,c)=>(c=s!=null?x(g(s)):{},I(n||!s||!s.__esModule?l(c,"default",{value:s,enumerable:!0}):c,s));var a=d(require("axios")),u=d(require("@/external-plugin/__tests__/abi.json")),p=require("../../external-plugin/data/HttpExternalPluginDataSource"),f=d(require("../../../package.json"));jest.mock("axios");const r=s=>({data:s});describe("HttpExternalPuginDataSource",()=>{let s;const n={blockchainName:"ethereum",chainId:1,contracts:[{address:"0x1ef",contractName:"otherName",selectors:{"0x01ee":{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin"}}},{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin"}}}],name:"test"},c={"0x1ef":u.default,"0x0abc":u.default},o={"0x1ef":{"0x01ee":{plugin:"plugin",serialized_data:"0x001",signature:"0x002"}},"0x0abc":{"0x01ff":{plugin:"plugin",serialized_data:"0x001",signature:"0x002"}}};beforeAll(()=>{const e={cal:{url:"https://crypto-assets-service.api.ledger.com/v1"}};s=new p.HttpExternalPluginDataSource(e),jest.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const e=`context-module/${f.default.version}`,t=jest.fn(()=>Promise.resolve({data:[]}));jest.spyOn(a.default,"request").mockImplementation(t),await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"}),expect(t).toHaveBeenCalledWith(expect.objectContaining({headers:{"X-Ledger-Client-Version":e}}))}),it("should return undefined when no abis is undefined",async()=>{const e=r([{b2c:n,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no selectors",async()=>{const e=r([{abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no abis data",async()=>{const e=r([{abis:{},b2c:n,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no abis data",async()=>{const e=r([{abis:{},b2c:n,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no abis data for the contract address",async()=>{const t=r([{abis:{"0x1":u.default},b2c:n,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no b2c signature",async()=>{const e=r([{b2c:n,abis:c}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual(void 0)}),it("should return undefined when no ecc20OfInterest",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{method:"swap",plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no method",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no plugin",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],method:"swap"}}}],name:"test"},abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no method",async()=>{const t=r([{b2c:{blockchainName:"ethereum",chainId:1,contracts:[{address:"0x0abc",contractName:"name",selectors:{"0x01ff":{erc20OfInterest:["fromToken"],plugin:"plugin"}}}],name:"test"},abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no signature",async()=>{const t=r([{b2c:n,abis:c,b2c_signatures:{"0x0abc":{"0x01ff":{plugin:"plugin",serialized_data:"0x001"}}}}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return undefined when no serialized data",async()=>{const t=r([{b2c:n,abis:c,b2c_signatures:{"0x0abc":{"0x01ff":{plugin:"plugin",signature:"0x002"}}}}]);jest.spyOn(a.default,"request").mockResolvedValue(t);const i=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(i.extract()).toEqual(void 0)}),it("should return a correct response",async()=>{const e=r([{b2c:n,abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(t.extract()).toEqual({abi:u.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin",serializedData:"0x001",signature:"0x002"}})}),it("should normalize the address and selector",async()=>{const e=r([{b2c:n,abis:c,b2c_signatures:o}]);jest.spyOn(a.default,"request").mockResolvedValue(e);const t=await s.getDappInfos({chainId:1,address:"0x0AbC",selector:"0x01Ff"});expect(t.extract()).toEqual({abi:u.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"swap",plugin:"plugin",serializedData:"0x001",signature:"0x002"}})}),it("should return an error when axios throws an error",async()=>{jest.spyOn(a.default,"request").mockRejectedValue(new Error("error"));const e=await s.getDappInfos({chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e.extract()).toEqual(new Error("[ContextModule] HttpExternalPluginDataSource: Error fetching dapp infos"))})});
2
+ //# sourceMappingURL=HttpExternalPluginDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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": ["import_axios", "import_abi", "import_HttpExternalPluginDataSource", "import_package", "axiosResponseBuilder", "dto", "datasource", "exampleB2c", "exampleAbis", "ABI", "exampleB2cSignatures", "config", "version", "PACKAGE", "requestSpy", "axios", "response", "result"]
7
+ }
@@ -1,13 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.externalPluginModuleFactory = void 0;
4
- const inversify_1 = require("inversify");
5
- const HttpExternalPluginDataSource_1 = require("../../external-plugin/data/HttpExternalPluginDataSource");
6
- const externalPluginTypes_1 = require("../../external-plugin/di/externalPluginTypes");
7
- const ExternalPluginContextLoader_1 = require("../../external-plugin/domain/ExternalPluginContextLoader");
8
- const externalPluginModuleFactory = () => new inversify_1.ContainerModule((bind, _unbind, _isBound, _rebind) => {
9
- bind(externalPluginTypes_1.externalPluginTypes.ExternalPluginDataSource).to(HttpExternalPluginDataSource_1.HttpExternalPluginDataSource);
10
- bind(externalPluginTypes_1.externalPluginTypes.ExternalPluginContextLoader).to(ExternalPluginContextLoader_1.ExternalPluginContextLoader);
11
- });
12
- exports.externalPluginModuleFactory = externalPluginModuleFactory;
13
- //# sourceMappingURL=externalPluginModuleFactory.js.map
1
+ "use strict";var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var g=(t,o)=>{for(var r in o)a(t,r,{get:o[r],enumerable:!0})},P=(t,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of p(o))!d.call(t,e)&&e!==r&&a(t,e,{get:()=>o[e],enumerable:!(n=m(o,e))||n.enumerable});return t};var c=t=>P(a({},"__esModule",{value:!0}),t);var E={};g(E,{externalPluginModuleFactory:()=>f});module.exports=c(E);var i=require("inversify"),u=require("../../external-plugin/data/HttpExternalPluginDataSource"),l=require("../../external-plugin/di/externalPluginTypes"),x=require("../../external-plugin/domain/ExternalPluginContextLoader");const f=()=>new i.ContainerModule((t,o,r,n)=>{t(l.externalPluginTypes.ExternalPluginDataSource).to(u.HttpExternalPluginDataSource),t(l.externalPluginTypes.ExternalPluginContextLoader).to(x.ExternalPluginContextLoader)});0&&(module.exports={externalPluginModuleFactory});
2
+ //# sourceMappingURL=externalPluginModuleFactory.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"externalPluginModuleFactory.js","sourceRoot":"","sources":["../../../../../src/external-plugin/di/externalPluginModuleFactory.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,sGAAmG;AACnG,kFAA+E;AAC/E,sGAAmG;AAE5F,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACvD,IAAI,CAAC,yCAAmB,CAAC,wBAAwB,CAAC,CAAC,EAAE,CACnD,2DAA4B,CAC7B,CAAC;IACF,IAAI,CAAC,yCAAmB,CAAC,2BAA2B,CAAC,CAAC,EAAE,CACtD,yDAA2B,CAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AARQ,QAAA,2BAA2B,+BAQnC"}
1
+ {
2
+ "version": 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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6C,+DAC7CC,EAAoC,oDACpCC,EAA4C,gEAErC,MAAML,EAA8B,IACzC,IAAI,kBAAgB,CAACM,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAAK,sBAAoB,wBAAwB,EAAE,GACjD,8BACF,EACAA,EAAK,sBAAoB,2BAA2B,EAAE,GACpD,6BACF,CACF,CAAC",
6
+ "names": ["externalPluginModuleFactory_exports", "__export", "externalPluginModuleFactory", "__toCommonJS", "import_inversify", "import_HttpExternalPluginDataSource", "import_externalPluginTypes", "import_ExternalPluginContextLoader", "bind", "_unbind", "_isBound", "_rebind"]
7
+ }
@@ -1,8 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.externalPluginTypes = void 0;
4
- exports.externalPluginTypes = {
5
- ExternalPluginDataSource: Symbol.for("externalPluginDataSource"),
6
- ExternalPluginContextLoader: Symbol.for("externalPluginContextLoader"),
7
- };
8
- //# sourceMappingURL=externalPluginTypes.js.map
1
+ "use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var l in e)o(n,l,{get:e[l],enumerable:!0})},i=(n,e,l,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of x(e))!u.call(n,t)&&t!==l&&o(n,t,{get:()=>e[t],enumerable:!(r=a(e,t))||r.enumerable});return n};var P=n=>i(o({},"__esModule",{value:!0}),n);var c={};g(c,{externalPluginTypes:()=>S});module.exports=P(c);const S={ExternalPluginDataSource:Symbol.for("externalPluginDataSource"),ExternalPluginContextLoader:Symbol.for("externalPluginContextLoader")};0&&(module.exports={externalPluginTypes});
2
+ //# sourceMappingURL=externalPluginTypes.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"externalPluginTypes.js","sourceRoot":"","sources":["../../../../../src/external-plugin/di/externalPluginTypes.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC,wBAAwB,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAChE,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;CACvE,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/external-plugin/di/externalPluginTypes.ts"],
4
+ "sourcesContent": ["export const externalPluginTypes = {\n ExternalPluginDataSource: Symbol.for(\"externalPluginDataSource\"),\n ExternalPluginContextLoader: Symbol.for(\"externalPluginContextLoader\"),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAsB,CACjC,yBAA0B,OAAO,IAAI,0BAA0B,EAC/D,4BAA6B,OAAO,IAAI,6BAA6B,CACvE",
6
+ "names": ["externalPluginTypes_exports", "__export", "externalPluginTypes", "__toCommonJS"]
7
+ }
@@ -1,136 +1,2 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ExternalPluginContextLoader = void 0;
16
- const device_management_kit_1 = require("@ledgerhq/device-management-kit");
17
- const ethers_1 = require("ethers");
18
- const inversify_1 = require("inversify");
19
- const purify_ts_1 = require("purify-ts");
20
- const externalPluginTypes_1 = require("../../external-plugin/di/externalPluginTypes");
21
- const ClearSignContext_1 = require("../../shared/model/ClearSignContext");
22
- const tokenTypes_1 = require("../../token/di/tokenTypes");
23
- let ExternalPluginContextLoader = class ExternalPluginContextLoader {
24
- _externalPluginDataSource;
25
- _tokenDataSource;
26
- constructor(externalPluginDataSource, tokenDataSource) {
27
- this._externalPluginDataSource = externalPluginDataSource;
28
- this._tokenDataSource = tokenDataSource;
29
- }
30
- async load(transaction) {
31
- if (!transaction.to || !transaction.data || transaction.data === "0x") {
32
- return [];
33
- }
34
- const selector = transaction.data.slice(0, 10);
35
- if (!(0, device_management_kit_1.isHexaString)(selector)) {
36
- return [
37
- {
38
- type: ClearSignContext_1.ClearSignContextType.ERROR,
39
- error: new Error("Invalid selector"),
40
- },
41
- ];
42
- }
43
- const eitherDappInfos = await this._externalPluginDataSource.getDappInfos({
44
- address: transaction.to,
45
- chainId: transaction.chainId,
46
- selector,
47
- });
48
- return (0, purify_ts_1.EitherAsync)(async ({ liftEither }) => {
49
- const dappInfos = await liftEither(eitherDappInfos);
50
- // if the dappInfos is null, return an empty array
51
- // this means that the selector is not a known selector
52
- if (!dappInfos) {
53
- return [];
54
- }
55
- const externalPluginContext = {
56
- type: ClearSignContext_1.ClearSignContextType.EXTERNAL_PLUGIN,
57
- payload: dappInfos.selectorDetails.serializedData.concat(dappInfos.selectorDetails.signature),
58
- };
59
- const decodedCallData = this.getDecodedCallData(dappInfos.abi, dappInfos.selectorDetails.method, transaction.data);
60
- // if the call data cannot be decoded, return the error
61
- // but also the externalPluginContext because it is still valid
62
- if (decodedCallData.isLeft()) {
63
- return [
64
- {
65
- type: ClearSignContext_1.ClearSignContextType.ERROR,
66
- error: decodedCallData.extract(),
67
- },
68
- externalPluginContext,
69
- ];
70
- }
71
- // decodedCallData is a Right so we can extract it safely
72
- const extractedDecodedCallData = decodedCallData.extract();
73
- // get the token payload for each erc20OfInterest
74
- // and return the payload or the error
75
- const promises = dappInfos.selectorDetails.erc20OfInterest.map(async (erc20Path) => this.getTokenPayload(transaction, erc20Path, extractedDecodedCallData));
76
- const tokensPayload = await Promise.all(promises);
77
- // map the payload or the error to a ClearSignContext
78
- const contexts = tokensPayload.map((eitherToken) => eitherToken.caseOf({
79
- Left: (error) => ({ type: ClearSignContext_1.ClearSignContextType.ERROR, error }),
80
- Right: (payload) => ({ type: ClearSignContext_1.ClearSignContextType.TOKEN, payload }),
81
- }));
82
- return [...contexts, externalPluginContext];
83
- }).caseOf({
84
- // parse all errors into ClearSignContext
85
- Left: (error) => [{ type: ClearSignContext_1.ClearSignContextType.ERROR, error }],
86
- Right: (contexts) => contexts,
87
- });
88
- }
89
- getTokenPayload(transaction, erc20Path, decodedCallData) {
90
- const address = this.getAddressFromPath(erc20Path, decodedCallData);
91
- return (0, purify_ts_1.EitherAsync)(({ fromPromise }) => fromPromise(this._tokenDataSource.getTokenInfosPayload({
92
- address,
93
- chainId: transaction.chainId,
94
- })));
95
- }
96
- getDecodedCallData(abi, method, data) {
97
- try {
98
- const contractInterface = new ethers_1.Interface(abi);
99
- return (0, purify_ts_1.Right)(contractInterface.decodeFunctionData(method, data));
100
- }
101
- catch (_error) {
102
- return (0, purify_ts_1.Left)(new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi"));
103
- }
104
- }
105
- getAddressFromPath(path, decodedCallData) {
106
- // ethers.Result is a record string, any
107
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
- let value = decodedCallData;
109
- for (const key of path.split(".")) {
110
- // In Solidity, a struct cannot begin with a number
111
- // Additionally, when we use -1, it signifies the last element of the array.
112
- if (key === "-1") {
113
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
114
- value = value[value.length - 1];
115
- }
116
- else {
117
- // This access can throw a RangeError error in case of an invalid key
118
- // but is correctly caught by the liftEither above
119
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
120
- value = value[key];
121
- }
122
- }
123
- if (!(0, device_management_kit_1.isHexaString)(value)) {
124
- throw new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address");
125
- }
126
- return value;
127
- }
128
- };
129
- exports.ExternalPluginContextLoader = ExternalPluginContextLoader;
130
- exports.ExternalPluginContextLoader = ExternalPluginContextLoader = __decorate([
131
- (0, inversify_1.injectable)(),
132
- __param(0, (0, inversify_1.inject)(externalPluginTypes_1.externalPluginTypes.ExternalPluginDataSource)),
133
- __param(1, (0, inversify_1.inject)(tokenTypes_1.tokenTypes.TokenDataSource)),
134
- __metadata("design:paramtypes", [Object, Object])
135
- ], ExternalPluginContextLoader);
136
- //# sourceMappingURL=ExternalPluginContextLoader.js.map
1
+ "use strict";var u=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var T=(o,e)=>{for(var a in e)u(o,a,{get:e[a],enumerable:!0})},I=(o,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of P(e))!k.call(o,t)&&t!==a&&u(o,t,{get:()=>e[t],enumerable:!(r=D(e,t))||r.enumerable});return o};var w=o=>I(u({},"__esModule",{value:!0}),o),h=(o,e,a,r)=>{for(var t=r>1?void 0:r?D(e,a):e,n=o.length-1,l;n>=0;n--)(l=o[n])&&(t=(r?l(e,a,t):l(t))||t);return r&&t&&u(e,a,t),t},f=(o,e)=>(a,r)=>e(a,r,o);var O={};T(O,{ExternalPluginContextLoader:()=>c});module.exports=w(O);var m=require("@ledgerhq/device-management-kit"),C=require("ethers"),d=require("inversify"),s=require("purify-ts"),S=require("../../external-plugin/di/externalPluginTypes"),i=require("../../shared/model/ClearSignContext"),y=require("../../token/di/tokenTypes");let c=class{_externalPluginDataSource;_tokenDataSource;constructor(e,a){this._externalPluginDataSource=e,this._tokenDataSource=a}async load(e){if(!e.to||!e.data||e.data==="0x")return[];const a=e.data.slice(0,10);if(!(0,m.isHexaString)(a))return[{type:i.ClearSignContextType.ERROR,error:new Error("Invalid selector")}];const r=await this._externalPluginDataSource.getDappInfos({address:e.to,chainId:e.chainId,selector:a});return(0,s.EitherAsync)(async({liftEither:t})=>{const n=await t(r);if(!n)return[];const l={type:i.ClearSignContextType.EXTERNAL_PLUGIN,payload:n.selectorDetails.serializedData.concat(n.selectorDetails.signature)},p=this.getDecodedCallData(n.abi,n.selectorDetails.method,e.data);if(p.isLeft())return[{type:i.ClearSignContextType.ERROR,error:p.extract()},l];const E=p.extract(),R=n.selectorDetails.erc20OfInterest.map(async g=>this.getTokenPayload(e,g,E));return[...(await Promise.all(R)).map(g=>g.caseOf({Left:x=>({type:i.ClearSignContextType.ERROR,error:x}),Right:x=>({type:i.ClearSignContextType.TOKEN,payload:x})})),l]}).caseOf({Left:t=>[{type:i.ClearSignContextType.ERROR,error:t}],Right:t=>t})}getTokenPayload(e,a,r){const t=this.getAddressFromPath(a,r);return(0,s.EitherAsync)(({fromPromise:n})=>n(this._tokenDataSource.getTokenInfosPayload({address:t,chainId:e.chainId})))}getDecodedCallData(e,a,r){try{const t=new C.Interface(e);return(0,s.Right)(t.decodeFunctionData(a,r))}catch{return(0,s.Left)(new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi"))}}getAddressFromPath(e,a){let r=a;for(const t of e.split("."))t==="-1"?r=r[r.length-1]:r=r[t];if(!(0,m.isHexaString)(r))throw new Error("[ContextModule] ExternalPluginContextLoader: Unable to get address");return r}};c=h([(0,d.injectable)(),f(0,(0,d.inject)(S.externalPluginTypes.ExternalPluginDataSource)),f(1,(0,d.inject)(y.tokenTypes.TokenDataSource))],c);0&&(module.exports={ExternalPluginContextLoader});
2
+ //# sourceMappingURL=ExternalPluginContextLoader.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"ExternalPluginContextLoader.js","sourceRoot":"","sources":["../../../../../src/external-plugin/domain/ExternalPluginContextLoader.ts"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 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": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyC,2CACzCC,EAAkC,kBAClCC,EAAmC,qBACnCC,EAAiD,qBAGjDC,EAAoC,oDAEpCC,EAGO,2CAGPC,EAA2B,iCAGpB,IAAMC,EAAN,KAA2D,CACxD,0BACA,iBAER,YAEEC,EACoCC,EACpC,CACA,KAAK,0BAA4BD,EACjC,KAAK,iBAAmBC,CAC1B,CAEA,MAAM,KAAKC,EAA8D,CACvE,GAAI,CAACA,EAAY,IAAM,CAACA,EAAY,MAAQA,EAAY,OAAS,KAC/D,MAAO,CAAC,EAGV,MAAMC,EAAWD,EAAY,KAAK,MAAM,EAAG,EAAE,EAE7C,GAAI,IAAC,gBAAaC,CAAQ,EACxB,MAAO,CACL,CACE,KAAM,uBAAqB,MAC3B,MAAO,IAAI,MAAM,kBAAkB,CACrC,CACF,EAGF,MAAMC,EAAkB,MAAM,KAAK,0BAA0B,aAAa,CACxE,QAASF,EAAY,GACrB,QAASA,EAAY,QACrB,SAAAC,CACF,CAAC,EAED,SAAO,eAAuC,MAAO,CAAE,WAAAE,CAAW,IAAM,CACtE,MAAMC,EAAY,MAAMD,EAAWD,CAAe,EAIlD,GAAI,CAACE,EACH,MAAO,CAAC,EAGV,MAAMC,EAA0C,CAC9C,KAAM,uBAAqB,gBAC3B,QAASD,EAAU,gBAAgB,eAAe,OAChDA,EAAU,gBAAgB,SAC5B,CACF,EAEME,EAAkB,KAAK,mBAC3BF,EAAU,IACVA,EAAU,gBAAgB,OAC1BJ,EAAY,IACd,EAIA,GAAIM,EAAgB,OAAO,EACzB,MAAO,CACL,CACE,KAAM,uBAAqB,MAC3B,MAAOA,EAAgB,QAAQ,CACjC,EACAD,CACF,EAIF,MAAME,EACJD,EAAgB,QAAQ,EAIpBE,EAAWJ,EAAU,gBAAgB,gBAAgB,IACzD,MAAOK,GACL,KAAK,gBACHT,EACAS,EACAF,CACF,CACJ,EAYA,MAAO,CAAC,IAVc,MAAM,QAAQ,IAAIC,CAAQ,GAGG,IAAKE,GACtDA,EAAY,OAAyB,CACnC,KAAOC,IAAW,CAAE,KAAM,uBAAqB,MAAO,MAAAA,CAAM,GAC5D,MAAQC,IAAa,CAAE,KAAM,uBAAqB,MAAO,QAAAA,CAAQ,EACnE,CAAC,CACH,EAEqBP,CAAqB,CAC5C,CAAC,EAAE,OAA2B,CAE5B,KAAOM,GAAU,CAAC,CAAE,KAAM,uBAAqB,MAAO,MAAAA,CAAM,CAAC,EAC7D,MAAQE,GAAaA,CACvB,CAAC,CACH,CAEQ,gBACNb,EACAS,EACAH,EACA,CACA,MAAMQ,EAAU,KAAK,mBAAmBL,EAAWH,CAAe,EAElE,SAAO,eAA2B,CAAC,CAAE,YAAAS,CAAY,IAC/CA,EACE,KAAK,iBAAiB,qBAAqB,CACzC,QAAAD,EACA,QAASd,EAAY,OACvB,CAAC,CACH,CACF,CACF,CAEQ,mBACNgB,EACAC,EACAC,EAC8B,CAC9B,GAAI,CACF,MAAMC,EAAoB,IAAI,YAAUH,CAAG,EAC3C,SAAO,SAAMG,EAAkB,mBAAmBF,EAAQC,CAAI,CAAC,CACjE,MAAiB,CACf,SAAO,QACL,IAAI,MACF,kEACF,CACF,CACF,CACF,CAEQ,mBACNE,EACAd,EACY,CAGZ,IAAIe,EAAaf,EACjB,UAAWgB,KAAOF,EAAK,MAAM,GAAG,EAG1BE,IAAQ,KAEVD,EAAQA,EAAMA,EAAM,OAAS,CAAC,EAK9BA,EAAQA,EAAMC,CAAG,EAIrB,GAAI,IAAC,gBAAaD,CAAK,EACrB,MAAM,IAAI,MACR,oEACF,EAGF,OAAOA,CACT,CACF,EArKaxB,EAAN0B,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,sBAAoB,wBAAwB,GAEnDA,EAAA,eAAO,aAAW,eAAe,IAPzB3B",
6
+ "names": ["ExternalPluginContextLoader_exports", "__export", "ExternalPluginContextLoader", "__toCommonJS", "import_device_management_kit", "import_ethers", "import_inversify", "import_purify_ts", "import_externalPluginTypes", "import_ClearSignContext", "import_tokenTypes", "ExternalPluginContextLoader", "externalPluginDataSource", "tokenDataSource", "transaction", "selector", "eitherDappInfos", "liftEither", "dappInfos", "externalPluginContext", "decodedCallData", "extractedDecodedCallData", "promises", "erc20Path", "eitherToken", "error", "payload", "contexts", "address", "fromPromise", "abi", "method", "data", "contractInterface", "path", "value", "key", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var y=Object.create;var i=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var b=(s,o,r,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of f(o))!D.call(s,e)&&e!==r&&i(s,e,{get:()=>o[e],enumerable:!(a=E(o,e))||a.enumerable});return s};var I=(s,o,r)=>(r=s!=null?y(x(s)):{},b(o||!s||!s.__esModule?i(r,"default",{value:s,enumerable:!0}):r,s));var u=require("ethers"),l=require("purify-ts"),n=I(require("@/external-plugin/__tests__/abi.json")),m=require("../../external-plugin/domain/ExternalPluginContextLoader"),t=require("../../shared/model/ClearSignContext");const d=({abi:s,selectorDetails:o})=>({abi:s,selectorDetails:{erc20OfInterest:[],method:"",plugin:"",serializedData:"123456",signature:"7890",...o}}),p=(s,o,r)=>({to:"0x0",data:new u.Interface(JSON.stringify(s)).encodeFunctionData(o,r)});describe("ExternalPluginContextLoader",()=>{const s={getTokenInfosPayload:jest.fn()},o={getDappInfos:jest.fn()},r=new m.ExternalPluginContextLoader(o,s);beforeEach(()=>{jest.clearAllMocks(),jest.spyOn(s,"getTokenInfosPayload").mockImplementation(({address:a})=>Promise.resolve((0,l.Right)(`payload-${a}`)))}),describe("load function",()=>{it("should return an empty array if no destination address is provided",()=>{const a={},e=()=>r.load(a);expect(e()).resolves.toEqual([])}),it("should return an empty array if data is undefined",async()=>{const a={to:"0x0"},e=await r.load(a);expect(e).toEqual([])}),it("should return an empty array if no data provided",async()=>{const a={to:"0x0",data:"0x"},e=await r.load(a);expect(e).toEqual([])}),it("should return an empty array if no dapp info is povided",async()=>{const a=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(void 0));const e=await r.load(a);expect(e).toEqual([])}),it("should return e plugin if no erc20OfInterest is provided",async()=>{const a=d({abi:n.default,selectorDetails:{erc20OfInterest:[],method:"singleParam"}}),e=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return a list of context responses when one erc20OfInterest is provided for a single parameter",async()=>{const a=d({abi:n.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),e=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual(expect.arrayContaining([{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"},{type:t.ClearSignContextType.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 a=d({abi:n.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),e=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a)),jest.spyOn(s,"getTokenInfosPayload").mockResolvedValue((0,l.Left)(Error("error")));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.ERROR,error:new Error("error")},{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return a list of context responses when two erc20OfInterest are provided for two parameters",async()=>{const a=d({abi:n.default,selectorDetails:{erc20OfInterest:["fromToken","toToken"],method:"multipleParams"}}),e=p(n.default,"multipleParams",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual(expect.arrayContaining([{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"}]))}),it("should return a list of context responses when one erc20OfInterest is an array",async()=>{const a=d({abi:n.default,selectorDetails:{erc20OfInterest:["fromToken.0","fromToken.1","fromToken.2","fromToken.-1"],method:"arrayParam"}}),e=p(n.default,"arrayParam",[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when a token datasource returns an error",async()=>{const a=d({abi:n.default,selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),e=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a)),jest.spyOn(s,"getTokenInfosPayload").mockResolvedValue((0,l.Left)(new Error("error")));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.ERROR,error:new Error("error")},{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when the abi is not conform",async()=>{const a=d({abi:[{fakeabi:"notworking"}],selectorDetails:{erc20OfInterest:["fromToken"],method:"singleParam"}}),e=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.ERROR,error:new Error("[ContextModule] ExternalPluginContextLoader: Unable to parse abi")},{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should throw an error when the erc20OfInterest doest not exist in the transaction",async()=>{const a=d({abi:n.default,selectorDetails:{erc20OfInterest:["notFound"],method:"singleParam"}}),e=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.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 a=d({abi:n.default,selectorDetails:{erc20OfInterest:["fromToken.3"],method:"arrayParam"}}),e=p(n.default,"arrayParam",[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xdAC17F958D2ee523a2206206994597C13D831ec7","0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.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 a=d({abi:n.default,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"}}),e=p(n.default,"complexStructParam",[{address1:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",param1:{param2:[{param3:{addresses:["0xdAC17F958D2ee523a2206206994597C13D831ec7","0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"]}},{param3:{addresses:["0xB8c77482e45F1F44dE1745F52C74426C631bDD52"]}}]}}]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Right)(a));const c=await r.load(e);expect(c).toEqual([{type:t.ClearSignContextType.TOKEN,payload:"payload-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xdAC17F958D2ee523a2206206994597C13D831ec7"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.ClearSignContextType.TOKEN,payload:"payload-0xB8c77482e45F1F44dE1745F52C74426C631bDD52"},{type:t.ClearSignContextType.EXTERNAL_PLUGIN,payload:"1234567890"}])}),it("should return an error when datasource return a Left",async()=>{const a=p(n.default,"singleParam",["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]);jest.spyOn(o,"getDappInfos").mockResolvedValue((0,l.Left)(new Error("error")));const e=await r.load(a);expect(e).toEqual([{type:t.ClearSignContextType.ERROR,error:new Error("error")}])}),it("should return an error when transaction data is not a valid hex string",async()=>{const a={to:"0x0",data:"notAHexString"},e=await r.load(a);expect(e).toEqual([{type:t.ClearSignContextType.ERROR,error:new Error("Invalid selector")}])})})});
2
+ //# sourceMappingURL=ExternalPluginContextLoader.test.js.map