@ledgerhq/context-module 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/README.md +4 -6
  2. package/lib/cjs/index.js +2 -20
  3. package/lib/cjs/index.js.map +7 -1
  4. package/lib/cjs/package.json +53 -59
  5. package/lib/cjs/src/ContextModule.js +2 -3
  6. package/lib/cjs/src/ContextModule.js.map +7 -1
  7. package/lib/cjs/src/ContextModuleBuilder.js +2 -87
  8. package/lib/cjs/src/ContextModuleBuilder.js.map +7 -1
  9. package/lib/cjs/src/ContextModuleBuilder.test.js +2 -0
  10. package/lib/cjs/src/ContextModuleBuilder.test.js.map +7 -0
  11. package/lib/cjs/src/DefaultContextModule.js +2 -21
  12. package/lib/cjs/src/DefaultContextModule.js.map +7 -1
  13. package/lib/cjs/src/DefaultContextModule.test.js +2 -0
  14. package/lib/cjs/src/DefaultContextModule.test.js.map +7 -0
  15. package/lib/cjs/src/config/di/configModuleFactory.js +2 -10
  16. package/lib/cjs/src/config/di/configModuleFactory.js.map +7 -1
  17. package/lib/cjs/src/config/di/configTypes.js +2 -7
  18. package/lib/cjs/src/config/di/configTypes.js.map +7 -1
  19. package/lib/cjs/src/config/model/ContextModuleConfig.js +2 -3
  20. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +7 -1
  21. package/lib/cjs/src/di.js +2 -17
  22. package/lib/cjs/src/di.js.map +7 -1
  23. package/lib/cjs/src/external-plugin/data/DAppDto.js +2 -3
  24. package/lib/cjs/src/external-plugin/data/DAppDto.js.map +7 -1
  25. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js +2 -3
  26. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  27. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -83
  28. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  29. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  30. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  31. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +2 -13
  32. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  33. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js +2 -8
  34. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  35. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -136
  36. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  37. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  38. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  39. package/lib/cjs/src/external-plugin/model/DappInfos.js +2 -3
  40. package/lib/cjs/src/external-plugin/model/DappInfos.js.map +7 -1
  41. package/lib/cjs/src/external-plugin/model/SelectorDetails.js +2 -3
  42. package/lib/cjs/src/external-plugin/model/SelectorDetails.js.map +7 -1
  43. package/lib/cjs/src/index.js +2 -30
  44. package/lib/cjs/src/index.js.map +7 -1
  45. package/lib/cjs/src/nft/data/HttpNftDataSource.js +2 -57
  46. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +7 -1
  47. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +2 -0
  48. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  49. package/lib/cjs/src/nft/data/NftDataSource.js +2 -3
  50. package/lib/cjs/src/nft/data/NftDataSource.js.map +7 -1
  51. package/lib/cjs/src/nft/di/nftModuleFactory.js +2 -13
  52. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +7 -1
  53. package/lib/cjs/src/nft/di/nftTypes.js +2 -8
  54. package/lib/cjs/src/nft/di/nftTypes.js.map +7 -1
  55. package/lib/cjs/src/nft/domain/NftContextLoader.js +2 -111
  56. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +7 -1
  57. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +2 -0
  58. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +7 -0
  59. package/lib/cjs/src/shared/domain/ContextLoader.js +2 -3
  60. package/lib/cjs/src/shared/domain/ContextLoader.js.map +7 -1
  61. package/lib/cjs/src/shared/model/ClearSignContext.js +2 -13
  62. package/lib/cjs/src/shared/model/ClearSignContext.js.map +7 -1
  63. package/lib/cjs/src/shared/model/GenericPath.js +2 -0
  64. package/lib/cjs/src/shared/model/GenericPath.js.map +7 -0
  65. package/lib/cjs/src/shared/model/TransactionContext.js +2 -3
  66. package/lib/cjs/src/shared/model/TransactionContext.js.map +7 -1
  67. package/lib/cjs/src/shared/model/TransactionSubset.js +2 -3
  68. package/lib/cjs/src/shared/model/TransactionSubset.js.map +7 -1
  69. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +2 -6
  70. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  71. package/lib/cjs/src/shared/model/TypedDataContext.js +2 -3
  72. package/lib/cjs/src/shared/model/TypedDataContext.js.map +7 -1
  73. package/lib/cjs/src/shared/utils/HexStringUtils.js +2 -15
  74. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +7 -1
  75. package/lib/cjs/src/token/data/HttpTokenDataSource.js +2 -83
  76. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +7 -1
  77. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +2 -0
  78. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  79. package/lib/cjs/src/token/data/TokenDataSource.js +2 -3
  80. package/lib/cjs/src/token/data/TokenDataSource.js.map +7 -1
  81. package/lib/cjs/src/token/data/TokenDto.js +2 -3
  82. package/lib/cjs/src/token/data/TokenDto.js.map +7 -1
  83. package/lib/cjs/src/token/di/tokenModuleFactory.js +2 -13
  84. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +7 -1
  85. package/lib/cjs/src/token/di/tokenTypes.js +2 -8
  86. package/lib/cjs/src/token/di/tokenTypes.js.map +7 -1
  87. package/lib/cjs/src/token/domain/TokenContextLoader.js +2 -74
  88. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +7 -1
  89. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +2 -0
  90. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +7 -0
  91. package/lib/cjs/src/transaction/data/CalldataDto.js +2 -0
  92. package/lib/cjs/src/transaction/data/CalldataDto.js.map +7 -0
  93. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +2 -0
  94. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  95. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  96. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  97. package/lib/cjs/src/transaction/data/TransactionDataSource.js +2 -0
  98. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +7 -0
  99. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +2 -0
  100. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +7 -0
  101. package/lib/cjs/src/transaction/di/transactionTypes.js +2 -0
  102. package/lib/cjs/src/transaction/di/transactionTypes.js.map +7 -0
  103. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +2 -0
  104. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  105. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  106. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  107. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  108. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  109. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  110. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  111. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +2 -0
  112. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  113. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +2 -0
  114. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  115. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  116. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  117. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +2 -0
  118. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  119. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  120. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  121. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  122. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  123. package/lib/cjs/src/typed-data/data/FiltersDto.js +2 -3
  124. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +7 -1
  125. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +2 -163
  126. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  127. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  128. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  129. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +2 -3
  130. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  131. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +2 -13
  132. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  133. package/lib/cjs/src/typed-data/di/typedDataTypes.js +2 -8
  134. package/lib/cjs/src/typed-data/di/typedDataTypes.js.map +7 -1
  135. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -127
  136. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  137. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  138. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  139. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js +2 -3
  140. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  141. package/lib/esm/index.js +2 -4
  142. package/lib/esm/index.js.map +7 -1
  143. package/lib/esm/package.json +53 -59
  144. package/lib/esm/src/ContextModule.js +1 -2
  145. package/lib/esm/src/ContextModule.js.map +7 -1
  146. package/lib/esm/src/ContextModuleBuilder.js +2 -83
  147. package/lib/esm/src/ContextModuleBuilder.js.map +7 -1
  148. package/lib/esm/src/ContextModuleBuilder.test.js +2 -0
  149. package/lib/esm/src/ContextModuleBuilder.test.js.map +7 -0
  150. package/lib/esm/src/DefaultContextModule.js +2 -17
  151. package/lib/esm/src/DefaultContextModule.js.map +7 -1
  152. package/lib/esm/src/DefaultContextModule.test.js +2 -0
  153. package/lib/esm/src/DefaultContextModule.test.js.map +7 -0
  154. package/lib/esm/src/config/di/configModuleFactory.js +2 -6
  155. package/lib/esm/src/config/di/configModuleFactory.js.map +7 -1
  156. package/lib/esm/src/config/di/configTypes.js +2 -4
  157. package/lib/esm/src/config/di/configTypes.js.map +7 -1
  158. package/lib/esm/src/config/model/ContextModuleConfig.js +1 -2
  159. package/lib/esm/src/config/model/ContextModuleConfig.js.map +7 -1
  160. package/lib/esm/src/di.js +2 -13
  161. package/lib/esm/src/di.js.map +7 -1
  162. package/lib/esm/src/external-plugin/data/DAppDto.js +1 -2
  163. package/lib/esm/src/external-plugin/data/DAppDto.js.map +7 -1
  164. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js +1 -2
  165. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  166. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -77
  167. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  168. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  169. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  170. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +2 -9
  171. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  172. package/lib/esm/src/external-plugin/di/externalPluginTypes.js +2 -5
  173. package/lib/esm/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  174. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -133
  175. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  176. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  177. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  178. package/lib/esm/src/external-plugin/model/DappInfos.js +1 -2
  179. package/lib/esm/src/external-plugin/model/DappInfos.js.map +7 -1
  180. package/lib/esm/src/external-plugin/model/SelectorDetails.js +1 -2
  181. package/lib/esm/src/external-plugin/model/SelectorDetails.js.map +7 -1
  182. package/lib/esm/src/index.js +2 -14
  183. package/lib/esm/src/index.js.map +7 -1
  184. package/lib/esm/src/nft/data/HttpNftDataSource.js +2 -51
  185. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +7 -1
  186. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +2 -0
  187. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  188. package/lib/esm/src/nft/data/NftDataSource.js +1 -2
  189. package/lib/esm/src/nft/data/NftDataSource.js.map +7 -1
  190. package/lib/esm/src/nft/di/nftModuleFactory.js +2 -9
  191. package/lib/esm/src/nft/di/nftModuleFactory.js.map +7 -1
  192. package/lib/esm/src/nft/di/nftTypes.js +2 -5
  193. package/lib/esm/src/nft/di/nftTypes.js.map +7 -1
  194. package/lib/esm/src/nft/domain/NftContextLoader.js +2 -108
  195. package/lib/esm/src/nft/domain/NftContextLoader.js.map +7 -1
  196. package/lib/esm/src/nft/domain/NftContextLoader.test.js +2 -0
  197. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +7 -0
  198. package/lib/esm/src/shared/domain/ContextLoader.js +1 -2
  199. package/lib/esm/src/shared/domain/ContextLoader.js.map +7 -1
  200. package/lib/esm/src/shared/model/ClearSignContext.js +2 -10
  201. package/lib/esm/src/shared/model/ClearSignContext.js.map +7 -1
  202. package/lib/esm/src/shared/model/GenericPath.js +2 -0
  203. package/lib/esm/src/shared/model/GenericPath.js.map +7 -0
  204. package/lib/esm/src/shared/model/TransactionContext.js +1 -2
  205. package/lib/esm/src/shared/model/TransactionContext.js.map +7 -1
  206. package/lib/esm/src/shared/model/TransactionSubset.js +1 -2
  207. package/lib/esm/src/shared/model/TransactionSubset.js.map +7 -1
  208. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +2 -3
  209. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  210. package/lib/esm/src/shared/model/TypedDataContext.js +1 -2
  211. package/lib/esm/src/shared/model/TypedDataContext.js.map +7 -1
  212. package/lib/esm/src/shared/utils/HexStringUtils.js +2 -11
  213. package/lib/esm/src/shared/utils/HexStringUtils.js.map +7 -1
  214. package/lib/esm/src/token/data/HttpTokenDataSource.js +2 -77
  215. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +7 -1
  216. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +2 -0
  217. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  218. package/lib/esm/src/token/data/TokenDataSource.js +1 -2
  219. package/lib/esm/src/token/data/TokenDataSource.js.map +7 -1
  220. package/lib/esm/src/token/data/TokenDto.js +1 -2
  221. package/lib/esm/src/token/data/TokenDto.js.map +7 -1
  222. package/lib/esm/src/token/di/tokenModuleFactory.js +2 -9
  223. package/lib/esm/src/token/di/tokenModuleFactory.js.map +7 -1
  224. package/lib/esm/src/token/di/tokenTypes.js +2 -5
  225. package/lib/esm/src/token/di/tokenTypes.js.map +7 -1
  226. package/lib/esm/src/token/domain/TokenContextLoader.js +2 -71
  227. package/lib/esm/src/token/domain/TokenContextLoader.js.map +7 -1
  228. package/lib/esm/src/token/domain/TokenContextLoader.test.js +2 -0
  229. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +7 -0
  230. package/lib/esm/src/transaction/data/CalldataDto.js +1 -0
  231. package/lib/esm/src/transaction/data/CalldataDto.js.map +7 -0
  232. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +2 -0
  233. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  234. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  235. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  236. package/lib/esm/src/transaction/data/TransactionDataSource.js +1 -0
  237. package/lib/esm/src/transaction/data/TransactionDataSource.js.map +7 -0
  238. package/lib/esm/src/transaction/di/transactionModuleFactory.js +2 -0
  239. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +7 -0
  240. package/lib/esm/src/transaction/di/transactionTypes.js +2 -0
  241. package/lib/esm/src/transaction/di/transactionTypes.js.map +7 -0
  242. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +2 -0
  243. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  244. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  245. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  246. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  247. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  248. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  249. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  250. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js +1 -0
  251. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  252. package/lib/esm/src/trusted-name/data/TrustedNameDto.js +1 -0
  253. package/lib/esm/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  254. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  255. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  256. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +2 -0
  257. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  258. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  259. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  260. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  261. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  262. package/lib/esm/src/typed-data/data/FiltersDto.js +1 -2
  263. package/lib/esm/src/typed-data/data/FiltersDto.js.map +7 -1
  264. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +2 -157
  265. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  266. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  267. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  268. package/lib/esm/src/typed-data/data/TypedDataDataSource.js +1 -2
  269. package/lib/esm/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  270. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +2 -9
  271. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  272. package/lib/esm/src/typed-data/di/typedDataTypes.js +2 -5
  273. package/lib/esm/src/typed-data/di/typedDataTypes.js.map +7 -1
  274. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -124
  275. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  276. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  277. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  278. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js +1 -2
  279. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  280. package/lib/{cjs → types}/src/ContextModule.d.ts +3 -2
  281. package/lib/types/src/ContextModule.d.ts.map +1 -0
  282. package/lib/{cjs → types}/src/ContextModuleBuilder.d.ts +9 -11
  283. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -0
  284. package/lib/types/src/ContextModuleBuilder.test.d.ts +2 -0
  285. package/lib/types/src/ContextModuleBuilder.test.d.ts.map +1 -0
  286. package/lib/types/src/DefaultContextModule.d.ts +18 -0
  287. package/lib/types/src/DefaultContextModule.d.ts.map +1 -0
  288. package/lib/types/src/DefaultContextModule.test.d.ts +2 -0
  289. package/lib/types/src/DefaultContextModule.test.d.ts.map +1 -0
  290. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts +1 -1
  291. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts.map +1 -1
  292. package/lib/types/src/config/model/ContextModuleConfig.d.ts +16 -0
  293. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -0
  294. package/lib/{cjs → types}/src/di.d.ts +1 -1
  295. package/lib/types/src/di.d.ts.map +1 -0
  296. package/lib/{cjs → types}/src/external-plugin/data/ExternalPluginDataSource.d.ts +3 -3
  297. package/lib/types/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +1 -0
  298. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts +2 -0
  299. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts.map +1 -0
  300. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts +2 -0
  301. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts.map +1 -0
  302. package/lib/types/src/external-plugin/model/DappInfos.d.ts +6 -0
  303. package/lib/types/src/external-plugin/model/DappInfos.d.ts.map +1 -0
  304. package/lib/{cjs → types}/src/index.d.ts +3 -1
  305. package/lib/types/src/index.d.ts.map +1 -0
  306. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts +2 -0
  307. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts.map +1 -0
  308. package/lib/{cjs → types}/src/nft/data/NftDataSource.d.ts +1 -1
  309. package/lib/types/src/nft/data/NftDataSource.d.ts.map +1 -0
  310. package/lib/{cjs → types}/src/nft/domain/NftContextLoader.d.ts +2 -1
  311. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -0
  312. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts +2 -0
  313. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts.map +1 -0
  314. package/lib/types/src/shared/domain/ContextLoader.d.ts +7 -0
  315. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -0
  316. package/lib/types/src/shared/model/ClearSignContext.d.ts +40 -0
  317. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -0
  318. package/lib/types/src/shared/model/GenericPath.d.ts +105 -0
  319. package/lib/types/src/shared/model/GenericPath.d.ts.map +1 -0
  320. package/lib/types/src/shared/model/TransactionContext.d.ts +19 -0
  321. package/lib/types/src/shared/model/TransactionContext.d.ts.map +1 -0
  322. package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  323. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts +2 -0
  324. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
  325. package/lib/{cjs → types}/src/token/data/TokenDataSource.d.ts +1 -1
  326. package/lib/types/src/token/data/TokenDataSource.d.ts.map +1 -0
  327. package/lib/types/src/token/data/TokenDto.d.ts +16 -0
  328. package/lib/types/src/token/data/TokenDto.d.ts.map +1 -0
  329. package/lib/{cjs → types}/src/token/domain/TokenContextLoader.d.ts +2 -1
  330. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -0
  331. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts +2 -0
  332. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts.map +1 -0
  333. package/lib/types/src/transaction/data/CalldataDto.d.ts +117 -0
  334. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +1 -0
  335. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +19 -0
  336. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +1 -0
  337. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +2 -0
  338. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +1 -0
  339. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +12 -0
  340. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +1 -0
  341. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +3 -0
  342. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +1 -0
  343. package/lib/types/src/transaction/di/transactionTypes.d.ts +5 -0
  344. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +1 -0
  345. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +10 -0
  346. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +1 -0
  347. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +2 -0
  348. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +1 -0
  349. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +11 -0
  350. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -0
  351. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts +2 -0
  352. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts.map +1 -0
  353. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +16 -0
  354. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -0
  355. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +15 -0
  356. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -0
  357. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts +3 -0
  358. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -0
  359. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +5 -0
  360. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -0
  361. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +12 -0
  362. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -0
  363. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts +2 -0
  364. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts.map +1 -0
  365. package/lib/{cjs → types}/src/typed-data/data/FiltersDto.d.ts +3 -0
  366. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -0
  367. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -0
  368. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +3 -0
  369. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -0
  370. package/lib/{cjs → types}/src/typed-data/data/TypedDataDataSource.d.ts +3 -3
  371. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -0
  372. package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  373. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts +2 -0
  374. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts.map +1 -0
  375. package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
  376. package/package.json +21 -27
  377. package/lib/cjs/src/ContextModule.d.ts.map +0 -1
  378. package/lib/cjs/src/ContextModuleBuilder.d.ts.map +0 -1
  379. package/lib/cjs/src/DefaultContextModule.d.ts +0 -20
  380. package/lib/cjs/src/DefaultContextModule.d.ts.map +0 -1
  381. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts +0 -9
  382. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  383. package/lib/cjs/src/di.d.ts.map +0 -1
  384. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  385. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts +0 -6
  386. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  387. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  388. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  389. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js +0 -3
  390. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  391. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  392. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  393. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -40
  394. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  395. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  396. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  397. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js +0 -13
  398. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  399. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  400. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  401. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js +0 -8
  402. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  403. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  404. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  405. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -66
  406. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  407. package/lib/cjs/src/index.d.ts.map +0 -1
  408. package/lib/cjs/src/nft/data/NftDataSource.d.ts.map +0 -1
  409. package/lib/cjs/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  410. package/lib/cjs/src/shared/domain/ContextLoader.d.ts +0 -6
  411. package/lib/cjs/src/shared/domain/ContextLoader.d.ts.map +0 -1
  412. package/lib/cjs/src/shared/model/ClearSignContext.d.ts +0 -21
  413. package/lib/cjs/src/shared/model/ClearSignContext.d.ts.map +0 -1
  414. package/lib/cjs/src/shared/model/TransactionContext.d.ts +0 -6
  415. package/lib/cjs/src/shared/model/TransactionContext.d.ts.map +0 -1
  416. package/lib/cjs/src/token/data/TokenDataSource.d.ts.map +0 -1
  417. package/lib/cjs/src/token/data/TokenDto.d.ts +0 -6
  418. package/lib/cjs/src/token/data/TokenDto.d.ts.map +0 -1
  419. package/lib/cjs/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  420. package/lib/cjs/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  421. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  422. package/lib/cjs/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  423. package/lib/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  424. package/lib/esm/index.d.ts +0 -3
  425. package/lib/esm/index.d.ts.map +0 -1
  426. package/lib/esm/src/ContextModule.d.ts +0 -9
  427. package/lib/esm/src/ContextModule.d.ts.map +0 -1
  428. package/lib/esm/src/ContextModuleBuilder.d.ts +0 -45
  429. package/lib/esm/src/ContextModuleBuilder.d.ts.map +0 -1
  430. package/lib/esm/src/DefaultContextModule.d.ts +0 -20
  431. package/lib/esm/src/DefaultContextModule.d.ts.map +0 -1
  432. package/lib/esm/src/config/di/configModuleFactory.d.ts +0 -4
  433. package/lib/esm/src/config/di/configModuleFactory.d.ts.map +0 -1
  434. package/lib/esm/src/config/di/configTypes.d.ts +0 -4
  435. package/lib/esm/src/config/di/configTypes.d.ts.map +0 -1
  436. package/lib/esm/src/config/model/ContextModuleConfig.d.ts +0 -9
  437. package/lib/esm/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  438. package/lib/esm/src/di.d.ts +0 -8
  439. package/lib/esm/src/di.d.ts.map +0 -1
  440. package/lib/esm/src/external-plugin/data/DAppDto.d.ts +0 -38
  441. package/lib/esm/src/external-plugin/data/DAppDto.d.ts.map +0 -1
  442. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts +0 -12
  443. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  444. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -10
  445. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -1
  446. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -3
  447. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -1
  448. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts +0 -5
  449. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -1
  450. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -15
  451. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -1
  452. package/lib/esm/src/external-plugin/model/DappInfos.d.ts +0 -6
  453. package/lib/esm/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  454. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts +0 -8
  455. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts.map +0 -1
  456. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  457. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  458. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js +0 -2
  459. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  460. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  461. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  462. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -34
  463. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  464. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  465. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  466. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js +0 -9
  467. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  468. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  469. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  470. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js +0 -5
  471. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  472. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  473. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  474. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -63
  475. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  476. package/lib/esm/src/index.d.ts +0 -14
  477. package/lib/esm/src/index.d.ts.map +0 -1
  478. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts +0 -7
  479. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts.map +0 -1
  480. package/lib/esm/src/nft/data/NftDataSource.d.ts +0 -15
  481. package/lib/esm/src/nft/data/NftDataSource.d.ts.map +0 -1
  482. package/lib/esm/src/nft/di/nftModuleFactory.d.ts +0 -3
  483. package/lib/esm/src/nft/di/nftModuleFactory.d.ts.map +0 -1
  484. package/lib/esm/src/nft/di/nftTypes.d.ts +0 -5
  485. package/lib/esm/src/nft/di/nftTypes.d.ts.map +0 -1
  486. package/lib/esm/src/nft/domain/NftContextLoader.d.ts +0 -11
  487. package/lib/esm/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  488. package/lib/esm/src/shared/domain/ContextLoader.d.ts +0 -6
  489. package/lib/esm/src/shared/domain/ContextLoader.d.ts.map +0 -1
  490. package/lib/esm/src/shared/model/ClearSignContext.d.ts +0 -21
  491. package/lib/esm/src/shared/model/ClearSignContext.d.ts.map +0 -1
  492. package/lib/esm/src/shared/model/TransactionContext.d.ts +0 -6
  493. package/lib/esm/src/shared/model/TransactionContext.d.ts.map +0 -1
  494. package/lib/esm/src/shared/model/TransactionSubset.d.ts +0 -6
  495. package/lib/esm/src/shared/model/TransactionSubset.d.ts.map +0 -1
  496. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts +0 -33
  497. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -1
  498. package/lib/esm/src/shared/model/TypedDataContext.d.ts +0 -16
  499. package/lib/esm/src/shared/model/TypedDataContext.d.ts.map +0 -1
  500. package/lib/esm/src/shared/utils/HexStringUtils.d.ts +0 -4
  501. package/lib/esm/src/shared/utils/HexStringUtils.d.ts.map +0 -1
  502. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts +0 -9
  503. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts.map +0 -1
  504. package/lib/esm/src/token/data/TokenDataSource.d.ts +0 -9
  505. package/lib/esm/src/token/data/TokenDataSource.d.ts.map +0 -1
  506. package/lib/esm/src/token/data/TokenDto.d.ts +0 -6
  507. package/lib/esm/src/token/data/TokenDto.d.ts.map +0 -1
  508. package/lib/esm/src/token/di/tokenModuleFactory.d.ts +0 -3
  509. package/lib/esm/src/token/di/tokenModuleFactory.d.ts.map +0 -1
  510. package/lib/esm/src/token/di/tokenTypes.d.ts +0 -5
  511. package/lib/esm/src/token/di/tokenTypes.d.ts.map +0 -1
  512. package/lib/esm/src/token/domain/TokenContextLoader.d.ts +0 -15
  513. package/lib/esm/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  514. package/lib/esm/src/typed-data/data/FiltersDto.d.ts +0 -55
  515. package/lib/esm/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  516. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -14
  517. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  518. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts +0 -17
  519. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  520. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts +0 -3
  521. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -1
  522. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts +0 -5
  523. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts.map +0 -1
  524. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -13
  525. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +0 -1
  526. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -6
  527. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -1
  528. package/lib/esm/tsconfig.esm.tsbuildinfo +0 -1
  529. /package/lib/{cjs → types}/index.d.ts +0 -0
  530. /package/lib/{cjs → types}/index.d.ts.map +0 -0
  531. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts +0 -0
  532. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts.map +0 -0
  533. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts +0 -0
  534. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts.map +0 -0
  535. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -0
  536. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -0
  537. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -0
  538. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -0
  539. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts +0 -0
  540. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -0
  541. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -0
  542. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -0
  543. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts +0 -0
  544. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts.map +0 -0
  545. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts +0 -0
  546. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts.map +0 -0
  547. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts +0 -0
  548. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts.map +0 -0
  549. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts +0 -0
  550. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts.map +0 -0
  551. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts +0 -0
  552. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts.map +0 -0
  553. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts +0 -0
  554. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -0
  555. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts +0 -0
  556. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts.map +0 -0
  557. /package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts +0 -0
  558. /package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts.map +0 -0
  559. /package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts +0 -0
  560. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts +0 -0
  561. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts.map +0 -0
  562. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts +0 -0
  563. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts.map +0 -0
  564. /package/lib/{cjs → types}/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -0
  565. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts +0 -0
  566. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -0
  567. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts +0 -0
  568. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts.map +0 -0
  569. /package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -0
  570. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -0
  571. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/trusted-name/domain/TrustedNameContextLoader.test.ts"],
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport {\n type TransactionContext,\n type TransactionFieldContext,\n} from \"@/shared/model/TransactionContext\";\nimport { type TrustedNameDataSource } from \"@/trusted-name/data/TrustedNameDataSource\";\nimport { TrustedNameContextLoader } from \"@/trusted-name/domain/TrustedNameContextLoader\";\n\ndescribe(\"TrustedNameContextLoader\", () => {\n const mockTrustedNameDataSource: TrustedNameDataSource = {\n getDomainNamePayload: jest.fn(),\n getTrustedNamePayload: jest.fn(),\n };\n\n beforeEach(() => {\n jest.restoreAllMocks();\n jest\n .spyOn(mockTrustedNameDataSource, \"getDomainNamePayload\")\n .mockResolvedValue(Right(\"payload\"));\n });\n\n describe(\"load function\", () => {\n it(\"should return an empty array when no domain or registry\", () => {\n const transaction = {} as TransactionContext;\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const promise = () => loader.load(transaction);\n\n expect(promise()).resolves.toEqual([]);\n });\n\n it(\"should return an error when domain > max length\", async () => {\n const transaction = {\n domain: \"maxlength-maxlength-maxlength-maxlength-maxlength-maxlength\",\n } as TransactionContext;\n\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"[ContextModule] TrustedNameLoader: invalid domain\"),\n },\n ]);\n });\n\n it(\"should return an error when domain is not valid\", async () => {\n const transaction = {\n domain: \"hello\uD83D\uDC4B\",\n } as TransactionContext;\n\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"[ContextModule] TrustedNameLoader: invalid domain\"),\n },\n ]);\n });\n\n it(\"should return a payload\", async () => {\n const transaction = {\n domain: \"hello.eth\",\n challenge: \"challenge\",\n } as TransactionContext;\n\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"payload\",\n },\n ]);\n });\n\n it(\"should return an error when unable to fetch the datasource\", async () => {\n // GIVEN\n const transaction = {\n domain: \"hello.eth\",\n challenge: \"challenge\",\n } as TransactionContext;\n\n // WHEN\n jest\n .spyOn(mockTrustedNameDataSource, \"getDomainNamePayload\")\n .mockResolvedValue(Left(new Error(\"error\")));\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n { type: ClearSignContextType.ERROR, error: new Error(\"error\") },\n ]);\n });\n });\n\n describe(\"loadField function\", () => {\n it(\"should return an error when field type if not supported\", async () => {\n const field: TransactionFieldContext = {\n type: ClearSignContextType.TOKEN,\n chainId: 7,\n address: \"0x1234\",\n };\n\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.loadField(field);\n\n expect(result).toEqual(null);\n });\n\n it(\"should return a payload\", async () => {\n // GIVEN\n const field: TransactionFieldContext = {\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 7,\n address: \"0x1234\",\n challenge: \"17\",\n sources: [\"ens\"],\n types: [\"eoa\"],\n };\n\n // WHEN\n jest\n .spyOn(mockTrustedNameDataSource, \"getTrustedNamePayload\")\n .mockResolvedValue(Right(\"payload\"));\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.loadField(field);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"payload\",\n });\n });\n\n it(\"should return an error when unable to fetch the datasource\", async () => {\n // GIVEN\n const field: TransactionFieldContext = {\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 7,\n address: \"0x1234\",\n challenge: \"17\",\n sources: [\"ens\"],\n types: [\"eoa\"],\n };\n\n // WHEN\n jest\n .spyOn(mockTrustedNameDataSource, \"getTrustedNamePayload\")\n .mockResolvedValue(Left(new Error(\"error\")));\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.loadField(field);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Right", "ClearSignContextType", "TrustedNameContextLoader", "mockTrustedNameDataSource", "transaction", "loader", "promise", "result", "field"]
7
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=FiltersDto.js.map
1
+ //# sourceMappingURL=FiltersDto.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"FiltersDto.js","sourceRoot":"","sources":["../../../../../src/typed-data/data/FiltersDto.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,157 +1,2 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import axios from "axios";
14
- import SHA224 from "crypto-js/sha224";
15
- import { inject, injectable } from "inversify";
16
- import { Left, Right } from "purify-ts";
17
- import { configTypes } from "../../config/di/configTypes";
18
- import PACKAGE from "../../../package.json";
19
- let HttpTypedDataDataSource = class HttpTypedDataDataSource {
20
- config;
21
- constructor(config) {
22
- this.config = config;
23
- }
24
- async getTypedDataFilters({ chainId, address, schema, version, }) {
25
- let messageInfo = undefined;
26
- try {
27
- const response = await axios.request({
28
- method: "GET",
29
- url: `${this.config.cal.url}/dapps`,
30
- params: {
31
- contracts: address,
32
- chain_id: chainId,
33
- output: "descriptors_eip712",
34
- descriptors_eip712_version: version,
35
- descriptors_eip712: "<set>",
36
- ref: `branch:${this.config.cal.branch}`,
37
- },
38
- headers: {
39
- "X-Ledger-Client-Version": `context-module/${PACKAGE.version}`,
40
- },
41
- });
42
- // Try to get the filters JSON descriptor, from address and schema hash
43
- const schemaHash = SHA224(JSON.stringify(this.sortTypes(schema)).replace(" ", "")).toString();
44
- address = address.toLowerCase();
45
- const filtersJson = response.data?.[0]?.descriptors_eip712?.[address]?.[schemaHash];
46
- if (!filtersJson) {
47
- return Left(new Error(`[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${address} on chain ${chainId} for schema ${schemaHash}`));
48
- }
49
- // Parse the message type, if available
50
- if (!filtersJson.schema || !Array.isArray(filtersJson.instructions)) {
51
- return Left(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${address} on chain ${chainId} for schema ${schemaHash}`));
52
- }
53
- // Parse all the filters
54
- const filters = [];
55
- for (const field of filtersJson.instructions) {
56
- if (this.isInstructionContractInfo(field)) {
57
- messageInfo = {
58
- displayName: field.display_name,
59
- signature: field.signatures[this.config.cal.mode],
60
- filtersCount: field.field_mappers_count,
61
- };
62
- }
63
- else if (version === "v1" && this.isInstructionFieldV1(field)) {
64
- filters.push({
65
- type: "raw",
66
- displayName: field.display_name,
67
- path: field.field_path,
68
- signature: field.signatures[this.config.cal.mode],
69
- });
70
- }
71
- else if (this.isInstructionFieldV2(field)) {
72
- filters.push({
73
- type: field.format,
74
- displayName: field.display_name,
75
- path: field.field_path,
76
- signature: field.signatures[this.config.cal.mode],
77
- });
78
- }
79
- else if (this.isInstructionFieldV2WithCoinRef(field)) {
80
- filters.push({
81
- type: field.format,
82
- displayName: field.display_name,
83
- path: field.field_path,
84
- signature: field.signatures[this.config.cal.mode],
85
- tokenIndex: field.coin_ref,
86
- });
87
- }
88
- else {
89
- return Left(new Error(`[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${address} on chain ${chainId} for schema ${schemaHash}`));
90
- }
91
- }
92
- if (!messageInfo) {
93
- return Left(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${address} on chain ${chainId} for schema ${schemaHash}`));
94
- }
95
- return Right({ messageInfo, filters });
96
- }
97
- catch (_error) {
98
- return Left(new Error("[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations"));
99
- }
100
- }
101
- isInstructionFieldV1(data) {
102
- // NOTE: Currently the backend return the same structure for V1 and V2,
103
- // so we can't distinguish them here, but we can still check the required fields
104
- return (typeof data === "object" &&
105
- typeof data.display_name === "string" &&
106
- typeof data.field_path === "string" &&
107
- typeof data.signatures === "object" &&
108
- typeof data.signatures.prod === "string" &&
109
- typeof data.signatures.test === "string");
110
- }
111
- isInstructionFieldV2(data) {
112
- return (typeof data === "object" &&
113
- typeof data.display_name === "string" &&
114
- typeof data.field_path === "string" &&
115
- typeof data.signatures === "object" &&
116
- typeof data.signatures.prod === "string" &&
117
- typeof data.signatures.test === "string" &&
118
- typeof data.format === "string" &&
119
- ["raw", "datetime"].includes(data.format) &&
120
- data.coin_ref === undefined);
121
- }
122
- isInstructionFieldV2WithCoinRef(data) {
123
- return (typeof data === "object" &&
124
- typeof data.display_name === "string" &&
125
- typeof data.field_path === "string" &&
126
- typeof data.signatures === "object" &&
127
- typeof data.signatures.prod === "string" &&
128
- typeof data.signatures.test === "string" &&
129
- typeof data.format === "string" &&
130
- ["token", "amount"].includes(data.format) &&
131
- typeof data.coin_ref === "number");
132
- }
133
- isInstructionContractInfo(data) {
134
- return (typeof data === "object" &&
135
- typeof data.display_name === "string" &&
136
- typeof data.field_mappers_count === "number" &&
137
- typeof data.signatures === "object" &&
138
- typeof data.signatures.prod === "string" &&
139
- typeof data.signatures.test === "string" &&
140
- data.field_path === undefined);
141
- }
142
- sortTypes(types) {
143
- return Object.fromEntries(Object.entries(types)
144
- .sort(([aKey], [bKey]) => aKey.localeCompare(bKey))
145
- .map(([key, value]) => [
146
- key,
147
- value.map((v) => ({ name: v.name, type: v.type })),
148
- ]));
149
- }
150
- };
151
- HttpTypedDataDataSource = __decorate([
152
- injectable(),
153
- __param(0, inject(configTypes.Config)),
154
- __metadata("design:paramtypes", [Object])
155
- ], HttpTypedDataDataSource);
156
- export { HttpTypedDataDataSource };
157
- //# sourceMappingURL=HttpTypedDataDataSource.js.map
1
+ var y=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var u=(a,e,t,n)=>{for(var i=n>1?void 0:n?g(e,t):e,r=a.length-1,s;r>=0;r--)(s=a[r])&&(i=(n?s(e,t,i):s(i))||i);return n&&i&&y(e,t,i),i},m=(a,e)=>(t,n)=>e(t,n,a);import h from"axios";import C from"crypto-js/sha224";import{inject as _,injectable as F}from"inversify";import{Left as l,Right as M}from"purify-ts";import{configTypes as D}from"../../config/di/configTypes";import I from"../../../package.json";let d=class{constructor(e){this.config=e}async getTypedDataFilters({chainId:e,address:t,schema:n,version:i}){let r;try{const s=await h.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{contracts:t,chain_id:e,output:"descriptors_eip712",descriptors_eip712_version:i,descriptors_eip712:"<set>",ref:`branch:${this.config.cal.branch}`},headers:{"X-Ledger-Client-Version":`context-module/${I.version}`}}),p=C(JSON.stringify(this.sortTypes(n)).replace(" ","")).toString();t=t.toLowerCase();const f=s.data?.[0]?.descriptors_eip712?.[t]?.[p];if(!f)return l(new Error(`[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${t} on chain ${e} for schema ${p}`));if(!f.schema||!Array.isArray(f.instructions))return l(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${p}`));const c=[];for(const o of f.instructions)if(this.isInstructionContractInfo(o,this.config.cal.mode))r={displayName:o.display_name,signature:o.signatures[this.config.cal.mode],filtersCount:o.field_mappers_count};else if(i==="v1"&&this.isInstructionFieldV1(o,this.config.cal.mode))c.push({type:"raw",displayName:o.display_name,path:o.field_path,signature:o.signatures[this.config.cal.mode]});else if(this.isInstructionFieldV2(o,this.config.cal.mode))c.push({type:o.format,displayName:o.display_name,path:o.field_path,signature:o.signatures[this.config.cal.mode]});else if(this.isInstructionFieldV2WithCoinRef(o,this.config.cal.mode))c.push({type:o.format,displayName:o.display_name,path:o.field_path,signature:o.signatures[this.config.cal.mode],tokenIndex:o.coin_ref});else return l(new Error(`[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${t} on chain ${e} for schema ${p}`));return r?M({messageInfo:r,filters:c}):l(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${p}`))}catch{return l(new Error("[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations"))}}isInstructionFieldV1(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_path=="string"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"}isInstructionFieldV2(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_path=="string"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"&&typeof e.format=="string"&&["raw","datetime"].includes(e.format)&&e.coin_ref===void 0}isInstructionFieldV2WithCoinRef(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_path=="string"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"&&typeof e.format=="string"&&["token","amount"].includes(e.format)&&typeof e.coin_ref=="number"}isInstructionContractInfo(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_mappers_count=="number"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"&&e.field_path===void 0}sortTypes(e){return Object.fromEntries(Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,n.map(i=>({name:i.name,type:i.type}))]))}};d=u([F(),m(0,_(D.Config))],d);export{d as HttpTypedDataDataSource};
2
+ //# sourceMappingURL=HttpTypedDataDataSource.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"HttpTypedDataDataSource.js","sourceRoot":"","sources":["../../../../../src/typed-data/data/HttpTypedDataDataSource.ts"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/data/HttpTypedDataDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport SHA224 from \"crypto-js/sha224\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type {\n ContextModuleCalMode,\n ContextModuleConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport type {\n TypedDataFilter,\n TypedDataMessageInfo,\n} from \"@/shared/model/TypedDataClearSignContext\";\nimport type { TypedDataSchema } from \"@/shared/model/TypedDataContext\";\nimport PACKAGE from \"@root/package.json\";\n\nimport type {\n FiltersDto,\n InstructionContractInfo,\n InstructionField,\n InstructionFieldV1,\n InstructionFieldV2,\n InstructionFieldV2WithCoinRef,\n} from \"./FiltersDto\";\nimport {\n GetTypedDataFiltersParams,\n GetTypedDataFiltersResult,\n TypedDataDataSource,\n} from \"./TypedDataDataSource\";\n\n@injectable()\nexport class HttpTypedDataDataSource implements TypedDataDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getTypedDataFilters({\n chainId,\n address,\n schema,\n version,\n }: GetTypedDataFiltersParams): Promise<\n Either<Error, GetTypedDataFiltersResult>\n > {\n let messageInfo: TypedDataMessageInfo | undefined = undefined;\n\n try {\n const response = await axios.request<FiltersDto[]>({\n method: \"GET\",\n url: `${this.config.cal.url}/dapps`,\n params: {\n contracts: address,\n chain_id: chainId,\n output: \"descriptors_eip712\",\n descriptors_eip712_version: version,\n descriptors_eip712: \"<set>\",\n ref: `branch:${this.config.cal.branch}`,\n },\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n // Try to get the filters JSON descriptor, from address and schema hash\n const schemaHash = SHA224(\n JSON.stringify(this.sortTypes(schema)).replace(\" \", \"\"),\n ).toString();\n address = address.toLowerCase();\n const filtersJson =\n response.data?.[0]?.descriptors_eip712?.[address]?.[schemaHash];\n if (!filtersJson) {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n\n // Parse the message type, if available\n if (!filtersJson.schema || !Array.isArray(filtersJson.instructions)) {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n\n // Parse all the filters\n const filters: TypedDataFilter[] = [];\n for (const field of filtersJson.instructions) {\n if (this.isInstructionContractInfo(field, this.config.cal.mode)) {\n messageInfo = {\n displayName: field.display_name,\n signature: field.signatures[this.config.cal.mode],\n filtersCount: field.field_mappers_count,\n };\n } else if (\n version === \"v1\" &&\n this.isInstructionFieldV1(field, this.config.cal.mode)\n ) {\n filters.push({\n type: \"raw\",\n displayName: field.display_name,\n path: field.field_path,\n signature: field.signatures[this.config.cal.mode],\n });\n } else if (this.isInstructionFieldV2(field, this.config.cal.mode)) {\n filters.push({\n type: field.format,\n displayName: field.display_name,\n path: field.field_path,\n signature: field.signatures[this.config.cal.mode],\n });\n } else if (\n this.isInstructionFieldV2WithCoinRef(field, this.config.cal.mode)\n ) {\n filters.push({\n type: field.format,\n displayName: field.display_name,\n path: field.field_path,\n signature: field.signatures[this.config.cal.mode],\n tokenIndex: field.coin_ref,\n });\n } else {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n }\n\n if (!messageInfo) {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n\n return Right({ messageInfo, filters });\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations\",\n ),\n );\n }\n }\n\n private isInstructionFieldV1(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV1 & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n // NOTE: Currently the backend return the same structure for V1 and V2,\n // so we can't distinguish them here, but we can still check the required fields\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_path === \"string\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\"\n );\n }\n\n private isInstructionFieldV2(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2 & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_path === \"string\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\" &&\n typeof data.format === \"string\" &&\n [\"raw\", \"datetime\"].includes(data.format) &&\n data.coin_ref === undefined\n );\n }\n\n private isInstructionFieldV2WithCoinRef(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2WithCoinRef & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_path === \"string\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\" &&\n typeof data.format === \"string\" &&\n [\"token\", \"amount\"].includes(data.format) &&\n typeof data.coin_ref === \"number\"\n );\n }\n\n private isInstructionContractInfo(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionContractInfo & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_mappers_count === \"number\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\" &&\n data.field_path === undefined\n );\n }\n\n private sortTypes(types: TypedDataSchema): TypedDataSchema {\n return Object.fromEntries(\n Object.entries(types)\n .sort(([aKey], [bKey]) => aKey.localeCompare(bKey))\n .map(([key, value]) => [\n key,\n value.map((v) => ({ name: v.name, type: v.type })),\n ]),\n );\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "SHA224", "inject", "injectable", "Left", "Right", "configTypes", "PACKAGE", "HttpTypedDataDataSource", "config", "chainId", "address", "schema", "version", "messageInfo", "response", "axios", "PACKAGE", "schemaHash", "SHA224", "filtersJson", "Left", "filters", "field", "Right", "data", "mode", "types", "aKey", "bKey", "key", "value", "v", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import t from"axios";import{Right as c}from"purify-ts";import{HttpTypedDataDataSource as r}from"../../typed-data/data/HttpTypedDataDataSource";import b from"../../../package.json";jest.mock("axios");const f=d=>[{descriptors_eip712:{"0x000000000022d473030f116ddee9f6b43ac78ba3":{"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3":{schema:{DutchOutput:[{name:"token",type:"address"},{name:"startAmount",type:"uint256"},{name:"endAmount",type:"uint256"},{name:"recipient",type:"address"}],EIP712Domain:[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],ExclusiveDutchOrder:[{name:"info",type:"OrderInfo"},{name:"decayStartTime",type:"uint256"},{name:"decayEndTime",type:"uint256"},{name:"exclusiveFiller",type:"address"},{name:"exclusivityOverrideBps",type:"uint256"},{name:"inputToken",type:"address"},{name:"inputStartAmount",type:"uint256"},{name:"inputEndAmount",type:"uint256"},{name:"outputs",type:"DutchOutput[]"}],OrderInfo:[{name:"reactor",type:"address"},{name:"swapper",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"additionalValidationContract",type:"address"},{name:"additionalValidationData",type:"bytes"}],PermitWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:"ExclusiveDutchOrder"}],TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}]},instructions:d}}}}];describe("HttpTypedDataDataSource",()=>{let d;const s={PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:[{type:"address",name:"token"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}],EIP712Domain:[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}]};beforeAll(()=>{const a={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"prod"}};d=new r(a),jest.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const a=`context-module/${b.version}`,e=jest.fn(()=>Promise.resolve({data:[]}));jest.spyOn(t,"request").mockImplementation(e),await d.getTypedDataFilters({chainId:1,address:"0x00",version:"v2",schema:{}}),expect(e).toHaveBeenCalledWith(expect.objectContaining({headers:{"X-Ledger-Client-Version":a}}))}),it("should return V2 filters when axios response is correct",async()=>{const a=f([{display_name:"Permit2",field_mappers_count:4,descriptor:"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432",signatures:{prod:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},type:"message"},{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"},{display_name:"Amount allowance",format:"amount",field_path:"details.amount",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f"},type:"field"},{display_name:"Approve to spender",format:"raw",field_path:"spender",descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572",signatures:{prod:"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f"},type:"field"},{display_name:"Approval expire",format:"datetime",field_path:"details.expiration",descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265",signatures:{prod:"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022D473030F116DDEE9F6B43AC78BA3",version:"v2",schema:s});expect(e).toEqual(c({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token",tokenIndex:0,signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},{type:"amount",displayName:"Amount allowance",path:"details.amount",tokenIndex:0,signature:"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f"},{type:"raw",displayName:"Approve to spender",path:"spender",signature:"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f"},{type:"datetime",displayName:"Approval expire",path:"details.expiration",signature:"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff"}]}))}),it("should return V1 filters when axios response is correct",async()=>{const a=f([{display_name:"Permit2",field_mappers_count:4,descriptor:"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432",signatures:{prod:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},type:"message"},{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"},{display_name:"Amount allowance",format:"amount",field_path:"details.amount",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f"},type:"field"},{display_name:"Approve to spender",format:"raw",field_path:"spender",descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572",signatures:{prod:"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f"},type:"field"},{display_name:"Approval expire",format:"datetime",field_path:"details.expiration",descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265",signatures:{prod:"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e).toEqual(c({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},filters:[{type:"raw",displayName:"Amount allowance",path:"details.token",signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},{type:"raw",displayName:"Amount allowance",path:"details.amount",signature:"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f"},{type:"raw",displayName:"Approve to spender",path:"spender",signature:"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f"},{type:"raw",displayName:"Approval expire",path:"details.expiration",signature:"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff"}]}))}),it("should return an error when data is empty",async()=>{jest.spyOn(t,"request").mockResolvedValue({data:void 0});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(a.isLeft()).toEqual(!0),expect(a.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: no typed data filters for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error when schema is not found",async()=>{const a=f([]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error when schema is undefined",async()=>{const a=f(void 0);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error if no message info is found",async()=>{const a=f([{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error if message info display name is missing",async()=>{const a=f([{field_mappers_count:4,descriptor:"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432",signatures:{prod:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},type:"message"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error if field path is invalid",async()=>{const a=f([{display_name:"Amount allowance",format:"token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error if field display_name is invalid",async()=>{const a=f([{format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error if field signatures.prod is missing",async()=>{const a=f([{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{test:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error on token fileds with coin ref to null",async()=>{const a=f([{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:null,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);jest.spyOn(t,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:s});expect(e.isLeft()).toEqual(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3"))}),it("should return an error when axios throws an error",async()=>{jest.spyOn(t,"request").mockRejectedValue(new Error("error"));const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:s});expect(a.isLeft()).toEqual(!0)})});export{f as buildDescriptor};
2
+ //# sourceMappingURL=HttpTypedDataDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/data/HttpTypedDataDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Right } from \"purify-ts\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { HttpTypedDataDataSource } from \"@/typed-data/data/HttpTypedDataDataSource\";\nimport { type TypedDataDataSource } from \"@/typed-data/data/TypedDataDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { type FiltersDto, type InstructionField } from \"./FiltersDto\";\n\njest.mock(\"axios\");\n\nexport const buildDescriptor = (\n instructions: InstructionField[],\n): FiltersDto[] => [\n {\n descriptors_eip712: {\n \"0x000000000022d473030f116ddee9f6b43ac78ba3\": {\n \"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3\": {\n schema: {\n DutchOutput: [\n {\n name: \"token\",\n type: \"address\",\n },\n {\n name: \"startAmount\",\n type: \"uint256\",\n },\n {\n name: \"endAmount\",\n type: \"uint256\",\n },\n {\n name: \"recipient\",\n type: \"address\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n ExclusiveDutchOrder: [\n {\n name: \"info\",\n type: \"OrderInfo\",\n },\n {\n name: \"decayStartTime\",\n type: \"uint256\",\n },\n {\n name: \"decayEndTime\",\n type: \"uint256\",\n },\n {\n name: \"exclusiveFiller\",\n type: \"address\",\n },\n {\n name: \"exclusivityOverrideBps\",\n type: \"uint256\",\n },\n {\n name: \"inputToken\",\n type: \"address\",\n },\n {\n name: \"inputStartAmount\",\n type: \"uint256\",\n },\n {\n name: \"inputEndAmount\",\n type: \"uint256\",\n },\n {\n name: \"outputs\",\n type: \"DutchOutput[]\",\n },\n ],\n OrderInfo: [\n {\n name: \"reactor\",\n type: \"address\",\n },\n {\n name: \"swapper\",\n type: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n name: \"additionalValidationContract\",\n type: \"address\",\n },\n {\n name: \"additionalValidationData\",\n type: \"bytes\",\n },\n ],\n PermitWitnessTransferFrom: [\n {\n name: \"permitted\",\n type: \"TokenPermissions\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n name: \"witness\",\n type: \"ExclusiveDutchOrder\",\n },\n ],\n TokenPermissions: [\n {\n name: \"token\",\n type: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n },\n instructions,\n },\n },\n },\n },\n];\n\ndescribe(\"HttpTypedDataDataSource\", () => {\n let datasource: TypedDataDataSource;\n\n const TEST_TYPES = {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n {\n type: \"address\",\n name: \"token\",\n },\n {\n name: \"amount\",\n type: \"uint160\",\n },\n {\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n };\n\n beforeAll(() => {\n const config = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n mode: \"prod\",\n },\n } as ContextModuleConfig;\n datasource = new HttpTypedDataDataSource(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.getTypedDataFilters({\n chainId: 1,\n address: \"0x00\",\n version: \"v2\",\n schema: {},\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 V2 filters when axios response is correct\", async () => {\n // GIVEN\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Permit2\",\n field_mappers_count: 4,\n descriptor:\n \"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432\",\n signatures: {\n prod: \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n type: \"message\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"amount\",\n field_path: \"details.amount\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approve to spender\",\n format: \"raw\",\n field_path: \"spender\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572\",\n signatures: {\n prod: \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approval expire\",\n format: \"datetime\",\n field_path: \"details.expiration\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265\",\n signatures: {\n prod: \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n type: \"field\",\n },\n ]);\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022D473030F116DDEE9F6B43AC78BA3\",\n version: \"v2\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result).toEqual(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token\",\n tokenIndex: 0,\n signature:\n \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 0,\n signature:\n \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n {\n type: \"datetime\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n ],\n }),\n );\n });\n\n it(\"should return V1 filters when axios response is correct\", async () => {\n // GIVEN\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Permit2\",\n field_mappers_count: 4,\n descriptor:\n \"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432\",\n signatures: {\n prod: \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n type: \"message\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"amount\",\n field_path: \"details.amount\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approve to spender\",\n format: \"raw\",\n field_path: \"spender\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572\",\n signatures: {\n prod: \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approval expire\",\n format: \"datetime\",\n field_path: \"details.expiration\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265\",\n signatures: {\n prod: \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n type: \"field\",\n },\n ]);\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result).toEqual(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n filters: [\n {\n type: \"raw\",\n displayName: \"Amount allowance\",\n path: \"details.token\",\n signature:\n \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n {\n type: \"raw\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n {\n type: \"raw\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n ],\n }),\n );\n });\n\n it(\"should return an error when data is empty\", async () => {\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: undefined });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no typed data filters for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error when schema is not found\", async () => {\n const filtersDTO = buildDescriptor([]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error when schema is undefined\", async () => {\n const filtersDTO = buildDescriptor(\n undefined as unknown as InstructionField[],\n );\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if no message info is found\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n },\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if message info display name is missing\", async () => {\n const filtersDTO = buildDescriptor([\n {\n // display_name: \"Permit2\",\n field_mappers_count: 4,\n descriptor:\n \"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432\",\n signatures: {\n prod: \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n type: \"message\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if field path is invalid\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n // field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if field display_name is invalid\", async () => {\n const filtersDTO = buildDescriptor([\n {\n // display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if field signatures.prod is missing\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n test: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error on token fileds with coin ref to null\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: null,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as unknown as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v2\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\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.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAOA,MAAW,QAClB,OAAS,SAAAC,MAAa,YAGtB,OAAS,2BAAAC,MAA+B,4CAExC,OAAOC,MAAa,qBAIpB,KAAK,KAAK,OAAO,EAEV,MAAMC,EACXC,GACiB,CACjB,CACE,mBAAoB,CAClB,6CAA8C,CAC5C,2DAA4D,CAC1D,OAAQ,CACN,YAAa,CACX,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,cACN,KAAM,SACR,EACA,CACE,KAAM,YACN,KAAM,SACR,EACA,CACE,KAAM,YACN,KAAM,SACR,CACF,EACA,aAAc,CACZ,CACE,KAAM,OACN,KAAM,QACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,oBACN,KAAM,SACR,CACF,EACA,oBAAqB,CACnB,CACE,KAAM,OACN,KAAM,WACR,EACA,CACE,KAAM,iBACN,KAAM,SACR,EACA,CACE,KAAM,eACN,KAAM,SACR,EACA,CACE,KAAM,kBACN,KAAM,SACR,EACA,CACE,KAAM,yBACN,KAAM,SACR,EACA,CACE,KAAM,aACN,KAAM,SACR,EACA,CACE,KAAM,mBACN,KAAM,SACR,EACA,CACE,KAAM,iBACN,KAAM,SACR,EACA,CACE,KAAM,UACN,KAAM,eACR,CACF,EACA,UAAW,CACT,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,WACN,KAAM,SACR,EACA,CACE,KAAM,+BACN,KAAM,SACR,EACA,CACE,KAAM,2BACN,KAAM,OACR,CACF,EACA,0BAA2B,CACzB,CACE,KAAM,YACN,KAAM,kBACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,WACN,KAAM,SACR,EACA,CACE,KAAM,UACN,KAAM,qBACR,CACF,EACA,iBAAkB,CAChB,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,SACN,KAAM,SACR,CACF,CACF,EACA,aAAAA,CACF,CACF,CACF,CACF,CACF,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",
6
+ "names": ["axios", "Right", "HttpTypedDataDataSource", "PACKAGE", "buildDescriptor", "instructions", "datasource", "TEST_TYPES", "config", "version", "requestSpy", "filtersDTO", "result"]
7
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=TypedDataDataSource.js.map
1
+ //# sourceMappingURL=TypedDataDataSource.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"TypedDataDataSource.js","sourceRoot":"","sources":["../../../../../src/typed-data/data/TypedDataDataSource.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,9 +1,2 @@
1
- import { ContainerModule } from "inversify";
2
- import { HttpTypedDataDataSource } from "../../typed-data/data/HttpTypedDataDataSource";
3
- import { typedDataTypes } from "../../typed-data/di/typedDataTypes";
4
- import { DefaultTypedDataContextLoader } from "../../typed-data/domain/DefaultTypedDataContextLoader";
5
- export const typedDataModuleFactory = () => new ContainerModule((bind, _unbind, _isBound, _rebind) => {
6
- bind(typedDataTypes.TypedDataDataSource).to(HttpTypedDataDataSource);
7
- bind(typedDataTypes.TypedDataContextLoader).to(DefaultTypedDataContextLoader);
8
- });
9
- //# sourceMappingURL=typedDataModuleFactory.js.map
1
+ import{ContainerModule as a}from"inversify";import{HttpTypedDataDataSource as e}from"../../typed-data/data/HttpTypedDataDataSource";import{typedDataTypes as o}from"../../typed-data/di/typedDataTypes";import{DefaultTypedDataContextLoader as r}from"../../typed-data/domain/DefaultTypedDataContextLoader";const u=()=>new a((t,p,d,n)=>{t(o.TypedDataDataSource).to(e),t(o.TypedDataContextLoader).to(r)});export{u as typedDataModuleFactory};
2
+ //# sourceMappingURL=typedDataModuleFactory.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"typedDataModuleFactory.js","sourceRoot":"","sources":["../../../../../src/typed-data/di/typedDataModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAElG,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACvD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACrE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAC5C,6BAA6B,CAC9B,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/di/typedDataModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpTypedDataDataSource } from \"@/typed-data/data/HttpTypedDataDataSource\";\nimport { typedDataTypes } from \"@/typed-data/di/typedDataTypes\";\nimport { DefaultTypedDataContextLoader } from \"@/typed-data/domain/DefaultTypedDataContextLoader\";\n\nexport const typedDataModuleFactory = () =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n bind(typedDataTypes.TypedDataDataSource).to(HttpTypedDataDataSource);\n bind(typedDataTypes.TypedDataContextLoader).to(\n DefaultTypedDataContextLoader,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,kBAAAC,MAAsB,iCAC/B,OAAS,iCAAAC,MAAqC,oDAEvC,MAAMC,EAAyB,IACpC,IAAIJ,EAAgB,CAACK,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAAKH,EAAe,mBAAmB,EAAE,GAAGD,CAAuB,EACnEI,EAAKH,EAAe,sBAAsB,EAAE,GAC1CC,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "HttpTypedDataDataSource", "typedDataTypes", "DefaultTypedDataContextLoader", "typedDataModuleFactory", "bind", "_unbind", "_isBound", "_rebind"]
7
+ }
@@ -1,5 +1,2 @@
1
- export const typedDataTypes = {
2
- TypedDataDataSource: Symbol.for("TypedDataDataSource"),
3
- TypedDataContextLoader: Symbol.for("TypedDataContextLoader"),
4
- };
5
- //# sourceMappingURL=typedDataTypes.js.map
1
+ const a={TypedDataDataSource:Symbol.for("TypedDataDataSource"),TypedDataContextLoader:Symbol.for("TypedDataContextLoader")};export{a as typedDataTypes};
2
+ //# sourceMappingURL=typedDataTypes.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"typedDataTypes.js","sourceRoot":"","sources":["../../../../../src/typed-data/di/typedDataTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACtD,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;CAC7D,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/di/typedDataTypes.ts"],
4
+ "sourcesContent": ["export const typedDataTypes = {\n TypedDataDataSource: Symbol.for(\"TypedDataDataSource\"),\n TypedDataContextLoader: Symbol.for(\"TypedDataContextLoader\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAiB,CAC5B,oBAAqB,OAAO,IAAI,qBAAqB,EACrD,uBAAwB,OAAO,IAAI,wBAAwB,CAC7D",
6
+ "names": ["typedDataTypes"]
7
+ }
@@ -1,124 +1,2 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import { inject, injectable } from "inversify";
14
- import { VERIFYING_CONTRACT_TOKEN_INDEX } from "../../shared/model/TypedDataClearSignContext";
15
- import { tokenTypes } from "../../token/di/tokenTypes";
16
- import { typedDataTypes } from "../../typed-data/di/typedDataTypes";
17
- let DefaultTypedDataContextLoader = class DefaultTypedDataContextLoader {
18
- dataSource;
19
- tokenDataSource;
20
- constructor(dataSource, tokenDataSource) {
21
- this.dataSource = dataSource;
22
- this.tokenDataSource = tokenDataSource;
23
- }
24
- async load(typedData) {
25
- // Get the typed data filters from the data source
26
- const data = await this.dataSource.getTypedDataFilters({
27
- address: typedData.verifyingContract,
28
- chainId: typedData.chainId,
29
- version: typedData.version,
30
- schema: typedData.schema,
31
- });
32
- // If there was an error getting the typed data filters, return an error immediately
33
- if (data.isLeft()) {
34
- return {
35
- type: "error",
36
- error: data.extract(),
37
- };
38
- }
39
- // Else, extract the message info and filters
40
- const { messageInfo, filters } = data.unsafeCoerce();
41
- // Loop through the typed data filters to extract informations
42
- const mappedFilters = {};
43
- const mappedTokens = {};
44
- for (const filter of filters) {
45
- // Add the filter to the clear signing context
46
- mappedFilters[filter.path] = filter;
47
- if (filter.type !== "token" && filter.type !== "amount") {
48
- continue; // no token reference
49
- }
50
- // If the filter references a token, retrieve its descriptor from the tokens data source
51
- const tokenIndex = filter.tokenIndex;
52
- if (mappedTokens[tokenIndex] !== undefined) {
53
- continue; // Already fetched for a previous filter
54
- }
55
- // If the filter is a token, get token address from typed message values, and fetch descriptor
56
- if (filter.type === "token") {
57
- const value = typedData.fieldsValues.find((entry) => entry.path === filter.path);
58
- if (value === undefined) {
59
- return {
60
- type: "error",
61
- error: new Error(`The token filter references the value ${filter.path} which is absent from the message`),
62
- };
63
- }
64
- // Fetch descriptor
65
- const address = this.convertAddressToHexaString(value.value);
66
- const chainId = typedData.chainId;
67
- const payload = await this.tokenDataSource.getTokenInfosPayload({
68
- address,
69
- chainId,
70
- });
71
- if (payload.isLeft()) {
72
- return {
73
- type: "error",
74
- error: payload.extract(),
75
- };
76
- }
77
- payload.ifRight((payload) => {
78
- mappedTokens[tokenIndex] = payload;
79
- });
80
- }
81
- // If the filter is an amount with a reference to the verifyingContract, fetch verifyingContract descriptor.
82
- // This is because descriptors data-sources should be compatible with Ledger devices specifications:
83
- // https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#amount-join-value
84
- else if (filter.type === "amount" &&
85
- tokenIndex === VERIFYING_CONTRACT_TOKEN_INDEX) {
86
- const address = typedData.verifyingContract;
87
- const chainId = typedData.chainId;
88
- const payload = await this.tokenDataSource.getTokenInfosPayload({
89
- address,
90
- chainId,
91
- });
92
- if (payload.isLeft()) {
93
- return {
94
- type: "error",
95
- error: payload.extract(),
96
- };
97
- }
98
- payload.ifRight((payload) => {
99
- mappedTokens[tokenIndex] = payload;
100
- });
101
- }
102
- }
103
- return {
104
- type: "success",
105
- messageInfo,
106
- filters: mappedFilters,
107
- tokens: mappedTokens,
108
- };
109
- }
110
- convertAddressToHexaString(address) {
111
- // Address size is 20 bytes so 40 characters, padded with zeros on the left
112
- return `0x${Array.from(address, (byte) => byte.toString(16).padStart(2, "0"))
113
- .join("")
114
- .padStart(40, "0")}`;
115
- }
116
- };
117
- DefaultTypedDataContextLoader = __decorate([
118
- injectable(),
119
- __param(0, inject(typedDataTypes.TypedDataDataSource)),
120
- __param(1, inject(tokenTypes.TokenDataSource)),
121
- __metadata("design:paramtypes", [Object, Object])
122
- ], DefaultTypedDataContextLoader);
123
- export { DefaultTypedDataContextLoader };
124
- //# sourceMappingURL=DefaultTypedDataContextLoader.js.map
1
+ var S=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var l=(s,e,t,o)=>{for(var a=o>1?void 0:o?k(e,t):e,d=s.length-1,r;d>=0;d--)(r=s[d])&&(a=(o?r(e,t,a):r(a))||a);return o&&a&&S(e,t,a),a},f=(s,e)=>(t,o)=>e(t,o,s);import{inject as u,injectable as D}from"inversify";import{VERIFYING_CONTRACT_TOKEN_INDEX as g}from"../../shared/model/TypedDataClearSignContext";import{tokenTypes as x}from"../../token/di/tokenTypes";import{typedDataTypes as v}from"../../typed-data/di/typedDataTypes";let y=class{constructor(e,t){this.dataSource=e;this.tokenDataSource=t}async load(e){const t=await this.dataSource.getTypedDataFilters({address:e.verifyingContract,chainId:e.chainId,version:e.version,schema:e.schema});if(t.isLeft())return{type:"error",error:t.extract()};const{messageInfo:o,filters:a}=t.unsafeCoerce(),d={},r={};for(const n of a){if(d[n.path]=n,n.type!=="token"&&n.type!=="amount")continue;const c=n.tokenIndex;if(r[c]===void 0){if(n.type==="token"){const p=e.fieldsValues.filter(i=>i.path===n.path);if(p.length===0)continue;const T=p[0],m=this.convertAddressToHexaString(T.value);if(p.every(i=>this.convertAddressToHexaString(i.value)===m)){const i=e.chainId;(await this.tokenDataSource.getTokenInfosPayload({address:m,chainId:i})).ifRight(h=>{r[c]=h})}}else if(n.type==="amount"&&c===g){const p=e.verifyingContract,T=e.chainId;(await this.tokenDataSource.getTokenInfosPayload({address:p,chainId:T})).ifRight(i=>{r[c]=i})}}}return{type:"success",messageInfo:o,filters:d,tokens:r}}convertAddressToHexaString(e){return`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("").padStart(40,"0")}`}};y=l([D(),f(0,u(v.TypedDataDataSource)),f(1,u(x.TokenDataSource))],y);export{y as DefaultTypedDataContextLoader};
2
+ //# sourceMappingURL=DefaultTypedDataContextLoader.js.map