@ledgerhq/context-module 1.7.0 → 1.8.1

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 (473) hide show
  1. package/lib/cjs/package.json +2 -2
  2. package/lib/cjs/src/ContextModule.js +1 -1
  3. package/lib/cjs/src/ContextModule.js.map +1 -1
  4. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  6. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  7. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  8. package/lib/cjs/src/DefaultContextModule.js +1 -1
  9. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  10. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  11. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  12. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  13. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  14. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  15. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  18. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  19. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  20. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  21. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  22. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  23. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  24. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  25. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  28. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  29. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  30. package/lib/cjs/src/di.js +1 -1
  31. package/lib/cjs/src/di.js.map +3 -3
  32. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +1 -1
  33. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +3 -3
  34. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  35. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +3 -3
  36. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  37. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  38. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  39. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  40. package/lib/cjs/src/index.js +1 -1
  41. package/lib/cjs/src/index.js.map +2 -2
  42. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  43. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  44. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  45. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  46. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  47. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  48. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  49. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  50. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  51. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  52. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  53. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  54. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +1 -1
  55. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +1 -1
  56. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  57. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  58. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  59. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  60. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  61. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  62. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  63. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  64. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  65. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  66. package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js.map +1 -1
  67. package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js.map +1 -1
  68. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  69. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  70. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  71. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  72. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  73. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  74. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  75. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  76. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  77. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  78. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  79. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  80. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  81. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  82. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  83. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  84. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  85. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  86. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  87. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  88. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  89. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  90. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  91. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  92. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  93. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  94. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +1 -1
  95. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +2 -2
  96. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  97. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  98. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  99. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  100. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  101. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  102. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  103. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  104. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  105. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  106. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  107. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  108. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  109. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  110. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  111. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +2 -2
  112. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  113. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  114. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  115. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  116. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  117. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  118. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  119. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  120. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  121. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  122. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  123. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  124. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  125. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  126. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  127. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  128. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  129. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  130. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  131. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  132. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  133. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  134. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  135. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  136. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  137. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  138. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  139. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  140. package/lib/cjs/src/uniswap/constants/uniswap.js +1 -1
  141. package/lib/cjs/src/uniswap/constants/uniswap.js.map +3 -3
  142. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +1 -1
  143. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  144. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  145. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  146. package/lib/esm/package.json +2 -2
  147. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  148. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  149. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  150. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  151. package/lib/esm/src/DefaultContextModule.js +1 -1
  152. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  153. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  154. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  155. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  156. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  157. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  158. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  159. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  160. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  161. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  162. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  163. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  164. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  165. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  166. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  167. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  168. package/lib/esm/src/di.js +1 -1
  169. package/lib/esm/src/di.js.map +3 -3
  170. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +1 -1
  171. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +3 -3
  172. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  173. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +3 -3
  174. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  175. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  176. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  177. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  178. package/lib/esm/src/index.js +1 -1
  179. package/lib/esm/src/index.js.map +2 -2
  180. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  181. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  182. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  183. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  184. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  185. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  186. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  187. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  188. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  189. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  190. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  191. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  192. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  193. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  194. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  195. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  196. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  197. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  198. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  199. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  200. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  201. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  202. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  203. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  204. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  205. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  206. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  207. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  208. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  209. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  210. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  211. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  212. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  213. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  214. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  215. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  216. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  217. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  218. package/lib/esm/src/shared/utils/KeyUsageMapper.js +1 -1
  219. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +2 -2
  220. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  221. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  222. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  223. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  224. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  225. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  226. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  227. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  228. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  229. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  230. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  231. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  232. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  233. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  234. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  235. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +2 -2
  236. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  237. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  238. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  239. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  240. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  241. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  242. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  243. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  244. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  245. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  246. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  247. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  248. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  249. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  250. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  251. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  252. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  253. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  254. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  255. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  256. package/lib/esm/src/uniswap/constants/uniswap.js +1 -1
  257. package/lib/esm/src/uniswap/constants/uniswap.js.map +3 -3
  258. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +1 -1
  259. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  260. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  261. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  262. package/lib/types/src/ContextModule.d.ts +3 -4
  263. package/lib/types/src/ContextModule.d.ts.map +1 -1
  264. package/lib/types/src/ContextModuleBuilder.d.ts +8 -1
  265. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  266. package/lib/types/src/DefaultContextModule.d.ts +4 -3
  267. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  268. package/lib/types/src/{transaction/data/TransactionDataSource.d.ts → calldata/data/CalldataDescriptorDataSource.d.ts} +4 -4
  269. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  270. package/lib/types/src/{transaction/data/HttpTransactionDataSource.d.ts → calldata/data/HttpCalldataDescriptorDataSource.d.ts} +6 -5
  271. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  272. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  273. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  274. package/lib/types/src/{transaction → calldata}/data/dto/CalldataDto.d.ts +10 -1
  275. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  276. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  277. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  278. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  279. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  280. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  281. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  282. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  283. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  284. package/lib/types/src/config/model/ContextModuleConfig.d.ts +7 -0
  285. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  286. package/lib/types/src/di.d.ts.map +1 -1
  287. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +9 -5
  288. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -1
  289. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +20 -5
  290. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  291. package/lib/types/src/index.d.ts +40 -1
  292. package/lib/types/src/index.d.ts.map +1 -1
  293. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  294. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  295. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  296. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  297. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  298. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  299. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  300. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  301. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  302. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +1 -2
  303. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -1
  304. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  305. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  306. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  307. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  308. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  309. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  310. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  311. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  312. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  313. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  314. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  315. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  316. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  317. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  318. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  319. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  320. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  321. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  322. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  323. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  324. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  325. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  326. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  327. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  328. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  329. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +15 -0
  330. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  331. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  332. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  333. package/lib/types/src/shared/model/ClearSignContext.d.ts +27 -9
  334. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  335. package/lib/types/src/shared/model/TransactionSubset.d.ts +1 -0
  336. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  337. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +33 -1
  338. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  339. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  340. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  341. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +1 -2
  342. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -1
  343. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  344. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  345. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  346. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  347. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  348. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  349. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  350. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  351. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  352. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  353. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  354. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +7 -2
  355. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  356. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  357. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  358. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  359. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  360. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  361. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  362. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  363. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  364. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  365. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  366. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  367. package/lib/types/src/typed-data/data/FiltersDto.d.ts +32 -2
  368. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  369. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +3 -0
  370. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  371. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  372. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  373. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  374. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  375. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  376. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  377. package/lib/types/src/uniswap/constants/uniswap.d.ts +0 -1
  378. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -1
  379. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +10 -11
  380. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -1
  381. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  382. package/package.json +6 -6
  383. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  384. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  385. package/lib/cjs/src/transaction/data/HttpProxyDataSource.js +0 -2
  386. package/lib/cjs/src/transaction/data/HttpProxyDataSource.js.map +0 -7
  387. package/lib/cjs/src/transaction/data/HttpProxyDataSource.test.js +0 -2
  388. package/lib/cjs/src/transaction/data/HttpProxyDataSource.test.js.map +0 -7
  389. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  390. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  391. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  392. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  393. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  394. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  395. package/lib/cjs/src/transaction/data/dto/CalldataDto.js +0 -2
  396. package/lib/cjs/src/transaction/data/dto/CalldataDto.js.map +0 -7
  397. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  398. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  399. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  400. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  401. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  402. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  403. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  404. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  405. package/lib/cjs/src/transaction/model/ProxyDelegateCall.js +0 -2
  406. package/lib/cjs/src/transaction/model/ProxyDelegateCall.js.map +0 -7
  407. package/lib/cjs/src/transaction/model/ProxyImplementationAddress.js +0 -2
  408. package/lib/cjs/src/transaction/model/ProxyImplementationAddress.js.map +0 -7
  409. package/lib/cjs/src/uniswap/constants/plugin.js +0 -2
  410. package/lib/cjs/src/uniswap/constants/plugin.js.map +0 -7
  411. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  412. package/lib/esm/src/transaction/data/HttpProxyDataSource.js +0 -2
  413. package/lib/esm/src/transaction/data/HttpProxyDataSource.js.map +0 -7
  414. package/lib/esm/src/transaction/data/HttpProxyDataSource.test.js +0 -2
  415. package/lib/esm/src/transaction/data/HttpProxyDataSource.test.js.map +0 -7
  416. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  417. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  418. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  419. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  420. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  421. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  422. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  423. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  424. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  425. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  426. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  427. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  428. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  429. package/lib/esm/src/transaction/model/ProxyImplementationAddress.js +0 -1
  430. package/lib/esm/src/uniswap/constants/plugin.js +0 -2
  431. package/lib/esm/src/uniswap/constants/plugin.js.map +0 -7
  432. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -21
  433. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  434. package/lib/types/src/transaction/data/HttpProxyDataSource.d.ts +0 -33
  435. package/lib/types/src/transaction/data/HttpProxyDataSource.d.ts.map +0 -1
  436. package/lib/types/src/transaction/data/HttpProxyDataSource.test.d.ts.map +0 -1
  437. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  438. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  439. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  440. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  441. package/lib/types/src/transaction/data/dto/CalldataDto.d.ts.map +0 -1
  442. package/lib/types/src/transaction/data/dto/ProxyDelegateCallDto.d.ts.map +0 -1
  443. package/lib/types/src/transaction/data/dto/ProxyImplementationAddressDto.d.ts.map +0 -1
  444. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  445. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  446. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -6
  447. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  448. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -12
  449. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  450. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  451. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  452. package/lib/types/src/transaction/model/ProxyDelegateCall.d.ts +0 -5
  453. package/lib/types/src/transaction/model/ProxyDelegateCall.d.ts.map +0 -1
  454. package/lib/types/src/transaction/model/ProxyImplementationAddress.d.ts +0 -4
  455. package/lib/types/src/transaction/model/ProxyImplementationAddress.d.ts.map +0 -1
  456. package/lib/types/src/uniswap/constants/plugin.d.ts +0 -3
  457. package/lib/types/src/uniswap/constants/plugin.d.ts.map +0 -1
  458. /package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js +0 -0
  459. /package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js +0 -0
  460. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  461. /package/lib/esm/src/{transaction → calldata}/data/dto/CalldataDto.js +0 -0
  462. /package/lib/esm/src/{transaction → calldata}/data/dto/CalldataDto.js.map +0 -0
  463. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → proxy/data/ProxyDataSource.js.map} +0 -0
  464. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js +0 -0
  465. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js.map +0 -0
  466. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js +0 -0
  467. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js.map +0 -0
  468. /package/lib/esm/src/{transaction/model/ProxyDelegateCall.js.map → proxy/data/dto/SafeProxyImplementationAddressDto.js.map} +0 -0
  469. /package/lib/esm/src/{transaction → proxy}/model/ProxyDelegateCall.js +0 -0
  470. /package/lib/esm/src/{transaction/model/ProxyImplementationAddress.js.map → proxy/model/ProxyDelegateCall.js.map} +0 -0
  471. /package/lib/types/src/{transaction → proxy}/data/HttpProxyDataSource.test.d.ts +0 -0
  472. /package/lib/types/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.d.ts +0 -0
  473. /package/lib/types/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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: vi.fn(),\n getTrustedNamePayload: vi.fn(),\n };\n\n beforeEach(() => {\n vi.restoreAllMocks();\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getDomainNamePayload\",\n ).mockResolvedValue(Right(\"payload\"));\n });\n\n describe(\"load function\", () => {\n it(\"should return an empty array when no domain or registry\", async () => {\n const transaction = {} as TransactionContext;\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const promise = () => loader.load(transaction);\n\n await 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 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.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 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.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 vi.spyOn(\n mockTrustedNameDataSource,\n \"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 it(\"should return an empty array when no challenge\", async () => {\n // GIVEN\n const transaction = {\n domain: \"hello.eth\",\n challenge: undefined,\n } as TransactionContext;\n\n // WHEN\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\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 vi.spyOn(\n mockTrustedNameDataSource,\n \"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 vi.spyOn(\n mockTrustedNameDataSource,\n \"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": ["import_purify_ts", "import_ClearSignContext", "import_TrustedNameContextLoader", "mockTrustedNameDataSource", "transaction", "loader", "promise", "result", "field"]
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type TrustedNameDataSource } from \"@/trusted-name/data/TrustedNameDataSource\";\nimport {\n type TrustedNameContextInput,\n TrustedNameContextLoader,\n} from \"@/trusted-name/domain/TrustedNameContextLoader\";\n\ndescribe(\"TrustedNameContextLoader\", () => {\n const mockTrustedNameDataSource: TrustedNameDataSource = {\n getDomainNamePayload: vi.fn(),\n getTrustedNamePayload: vi.fn(),\n };\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n const loader = new TrustedNameContextLoader(\n mockTrustedNameDataSource,\n mockCertificateLoader,\n );\n\n const mockCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3, 4]),\n };\n\n beforeEach(() => {\n vi.restoreAllMocks();\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getDomainNamePayload\",\n ).mockResolvedValue(\n Right({\n data: \"payload\",\n keyId: \"testKeyId\",\n keyUsage: \"testKeyUsage\",\n }),\n );\n });\n\n describe(\"canHandle function\", () => {\n const validInput: TrustedNameContextInput = {\n chainId: 1,\n domain: \"hello.eth\",\n challenge: \"challenge\",\n deviceModelId: DeviceModelId.STAX,\n };\n\n it(\"should return true for valid input\", () => {\n expect(\n loader.canHandle(validInput, [ClearSignContextType.TRUSTED_NAME]),\n ).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n false,\n );\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, [ClearSignContextType.TRUSTED_NAME])).toBe(\n false,\n );\n });\n\n it.each([\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, domain: undefined }, \"missing domain\"],\n [{ ...validInput, challenge: undefined }, \"missing challenge\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing device model\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, [ClearSignContextType.TRUSTED_NAME])).toBe(\n false,\n );\n });\n\n it.each([\n [{ ...validInput, domain: \"\" }, \"empty domain\"],\n [{ ...validInput, challenge: \"\" }, \"empty challenge\"],\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n [{ ...validInput, domain: 123 }, \"numeric domain\"],\n [{ ...validInput, challenge: 123 }, \"numeric challenge\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, [ClearSignContextType.TRUSTED_NAME])).toBe(\n false,\n );\n });\n });\n\n describe(\"load function\", () => {\n it(\"should return an error when domain > max length\", async () => {\n const input: TrustedNameContextInput = {\n chainId: 1,\n domain: \"maxlength-maxlength-maxlength-maxlength-maxlength-maxlength\",\n challenge: \"challenge\",\n deviceModelId: DeviceModelId.STAX,\n };\n\n const result = await loader.load(input);\n\n expect(mockCertificateLoader.loadCertificate).not.toHaveBeenCalled();\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 input: TrustedNameContextInput = {\n chainId: 1,\n domain: \"hello\uD83D\uDC4B\",\n challenge: \"challenge\",\n deviceModelId: DeviceModelId.STAX,\n };\n\n const result = await loader.load(input);\n\n expect(mockCertificateLoader.loadCertificate).not.toHaveBeenCalled();\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 vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n const input: TrustedNameContextInput = {\n chainId: 1,\n domain: \"hello.eth\",\n challenge: \"challenge\",\n deviceModelId: DeviceModelId.STAX,\n };\n\n const result = await loader.load(input);\n\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: \"testKeyId\",\n keyUsage: \"testKeyUsage\",\n targetDevice: DeviceModelId.STAX,\n });\n expect(result).toEqual([\n {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"payload\",\n certificate: mockCertificate,\n },\n ]);\n });\n\n it(\"should return an error when unable to fetch the datasource\", async () => {\n // GIVEN\n const input: TrustedNameContextInput = {\n chainId: 1,\n domain: \"hello.eth\",\n challenge: \"challenge\",\n deviceModelId: DeviceModelId.STAX,\n };\n\n // WHEN\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getDomainNamePayload\",\n ).mockResolvedValue(Left(new Error(\"error\")));\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n { type: ClearSignContextType.ERROR, error: new Error(\"error\") },\n ]);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_purify_ts", "import_ClearSignContext", "import_TrustedNameContextLoader", "mockTrustedNameDataSource", "mockCertificateLoader", "loader", "mockCertificate", "validInput", "input", "_description", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of a(t))!p.call(e,n)&&n!==s&&i(e,n,{get:()=>t[n],enumerable:!(r=o(t,n))||r.enumerable});return e};var u=e=>c(i({},"__esModule",{value:!0}),e);var d={};module.exports=u(d);
1
+ "use strict";var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var d=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of l(e))!o.call(t,n)&&n!==i&&a(t,n,{get:()=>e[n],enumerable:!(r=s(e,n))||r.enumerable});return t};var c=t=>d(a({},"__esModule",{value:!0}),t);var p={};module.exports=c(p);
2
2
  //# sourceMappingURL=FiltersDto.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/typed-data/data/FiltersDto.ts"],
4
- "sourcesContent": ["export type InstructionSignatures =\n | {\n prod: string;\n test?: string;\n }\n | {\n prod?: string;\n test: string;\n };\n\nexport type InstructionFieldV1 = {\n display_name: string;\n field_mappers_count?: never;\n field_path: string;\n signatures: InstructionSignatures;\n type: \"field\" | \"message\";\n format?: never;\n};\n\nexport type InstructionFieldV2 = {\n display_name: string;\n field_mappers_count?: never;\n field_path: string;\n descriptor: string;\n signatures: InstructionSignatures;\n format: \"raw\" | \"datetime\";\n coin_ref?: never;\n name_types?: never;\n name_sources?: never;\n type: \"field\" | \"message\";\n};\n\nexport type InstructionFieldV2WithCoinRef = {\n display_name: string;\n field_mappers_count?: never;\n format: \"token\" | \"amount\";\n field_path: string;\n coin_ref: number;\n name_types?: never;\n name_sources?: never;\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"field\";\n};\n\nexport type InstructionFieldV2WithName = {\n display_name: string;\n field_mappers_count?: never;\n format: \"trusted-name\";\n field_path: string;\n coin_ref?: never;\n name_types: string[];\n name_sources: string[];\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"field\";\n};\n\nexport type InstructionContractInfo = {\n display_name: string;\n field_mappers_count: number;\n field_path?: never;\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"message\";\n};\n\nexport type InstructionField =\n | InstructionFieldV1\n | InstructionFieldV2\n | InstructionFieldV2WithCoinRef\n | InstructionFieldV2WithName\n | InstructionContractInfo;\n\nexport type FiltersDto = {\n descriptors_eip712: {\n [contractAddress: string]: {\n [schemaHash: string]: {\n schema: Record<string, { name: string; type: string }[]>;\n instructions: InstructionField[];\n };\n };\n };\n};\n"],
4
+ "sourcesContent": ["export type InstructionSignatures =\n | {\n prod: string;\n test?: string;\n }\n | {\n prod?: string;\n test: string;\n };\n\nexport type InstructionFieldV1 = {\n display_name: string;\n field_mappers_count?: never;\n field_path: string;\n signatures: InstructionSignatures;\n type: \"field\" | \"message\";\n format?: never;\n};\n\nexport type InstructionFieldV2 = {\n display_name: string;\n field_mappers_count?: never;\n field_path: string;\n descriptor: string;\n signatures: InstructionSignatures;\n format: \"raw\" | \"datetime\";\n coin_ref?: never;\n name_types?: never;\n name_sources?: never;\n calldata_index?: never;\n type: \"field\" | \"message\" | \"calldata\";\n};\n\nexport type InstructionFieldV2WithCoinRef = {\n display_name: string;\n field_mappers_count?: never;\n format: \"token\" | \"amount\";\n field_path: string;\n coin_ref: number;\n name_types?: never;\n name_sources?: never;\n calldata_index?: never;\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"field\";\n};\n\nexport type InstructionFieldV2WithName = {\n display_name: string;\n field_mappers_count?: never;\n format: \"trusted-name\";\n field_path: string;\n coin_ref?: never;\n calldata_index?: never;\n name_types: string[];\n name_sources: string[];\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"field\";\n};\n\nexport type InstructionContractInfo = {\n display_name: string;\n field_mappers_count: number;\n field_path?: never;\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"message\";\n};\n\nexport type InstructionCalldataParamPresence =\n | \"none\"\n | \"present\"\n | \"verifying_contract\";\n\nexport type InstructionCalldataInfo = {\n display_name: string;\n field_mappers_count?: never;\n field_path?: never;\n calldata_index: number;\n value_filter_flag: boolean;\n callee_filter_flag: InstructionCalldataParamPresence;\n chain_id_filter_flag: boolean;\n selector_filter_flag: boolean;\n amount_filter_flag: boolean;\n spender_filter_flag: InstructionCalldataParamPresence;\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"calldata\";\n};\n\nexport type InstructionFieldV2Calldata = {\n format:\n | \"calldata-value\"\n | \"calldata-callee\"\n | \"calldata-chain-id\"\n | \"calldata-selector\"\n | \"calldata-amount\"\n | \"calldata-spender\";\n field_mappers_count?: never;\n coin_ref?: never;\n display_name: string;\n field_path: string;\n calldata_index: number;\n descriptor: string;\n signatures: InstructionSignatures;\n type: \"field\";\n};\n\nexport type InstructionField =\n | InstructionFieldV1\n | InstructionFieldV2\n | InstructionFieldV2WithCoinRef\n | InstructionFieldV2WithName\n | InstructionContractInfo\n | InstructionCalldataInfo\n | InstructionFieldV2Calldata;\n\nexport type FiltersDto = {\n descriptors_eip712: {\n [contractAddress: string]: {\n [schemaHash: string]: {\n schema: Record<string, { name: string; type: string }[]>;\n instructions: InstructionField[];\n };\n };\n };\n};\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["FiltersDto_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var x=Object.create;var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var V=(r,e)=>{for(var t in e)u(r,t,{get:e[t],enumerable:!0})},C=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of E(e))!b.call(r,n)&&n!==t&&u(r,n,{get:()=>e[n],enumerable:!(i=h(e,n))||i.enumerable});return r};var g=(r,e,t)=>(t=r!=null?x(S(r)):{},C(e||!r||!r.__esModule?u(t,"default",{value:r,enumerable:!0}):t,r)),N=r=>C(u({},"__esModule",{value:!0}),r),_=(r,e,t,i)=>{for(var n=i>1?void 0:i?h(e,t):e,s=r.length-1,a;s>=0;s--)(a=r[s])&&(n=(i?a(e,t,n):a(n))||n);return i&&n&&u(e,t,n),n},I=(r,e)=>(t,i)=>e(t,i,r);var $={};V($,{HttpTypedDataDataSource:()=>f});module.exports=N($);var F=g(require("axios")),M=g(require("crypto-js/sha224")),m=require("inversify"),p=require("purify-ts"),D=require("../../config/di/configTypes"),y=require("../../shared/constant/HttpHeaders"),T=g(require("../../../package.json"));let f=class{constructor(e){this.config=e}async getTypedDataFilters({chainId:e,address:t,schema:i,version:n}){let s;try{const a=await F.default.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{contracts:t,chain_id:e,output:"descriptors_eip712",descriptors_eip712_version:n,descriptors_eip712:"<set>",ref:`branch:${this.config.cal.branch}`},headers:{[y.LEDGER_CLIENT_VERSION_HEADER]:`context-module/${T.default.version}`,[y.LEDGER_ORIGIN_TOKEN_HEADER]:this.config.originToken}}),c=(0,M.default)(JSON.stringify(this.sortTypes(i)).replace(" ","")).toString();t=t.toLowerCase();const d=a.data?.[0]?.descriptors_eip712?.[t]?.[c];if(!d)return(0,p.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${t} on chain ${e} for schema ${c}`));if(!d.schema||!Array.isArray(d.instructions))return(0,p.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${c}`));const l=[];for(const o of d.instructions)if(this.isInstructionContractInfo(o,this.config.cal.mode))s={displayName:o.display_name,signature:o.signatures[this.config.cal.mode],filtersCount:o.field_mappers_count};else if(n==="v1"&&this.isInstructionFieldV1(o,this.config.cal.mode))l.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))l.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))l.push({type:o.format,displayName:o.display_name,path:o.field_path,signature:o.signatures[this.config.cal.mode],tokenIndex:o.coin_ref});else if(this.isInstructionFieldV2WithName(o,this.config.cal.mode))l.push({type:o.format,displayName:o.display_name,path:o.field_path,signature:o.signatures[this.config.cal.mode],types:o.name_types,sources:o.name_sources,typesAndSourcesPayload:this.formatTrustedNameTypesAndSources(o)});else return(0,p.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${t} on chain ${e} for schema ${c}`));return s?(0,p.Right)({messageInfo:s,filters:l}):(0,p.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${c}`))}catch{return(0,p.Left)(new Error("[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations"))}}formatTrustedNameTypesAndSources(e){const t=e.name_types.length,i=e.name_sources.length,n=e.descriptor.slice((t+i)*2*-1,i*2*-1),s=e.descriptor.slice(i*2*-1),a=t.toString(16).padStart(2,"0"),c=i.toString(16).padStart(2,"0");return a+n+c+s}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"}isInstructionFieldV2WithName(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"&&e.format==="trusted-name"&&e.coin_ref===void 0&&Array.isArray(e.name_types)&&Array.isArray(e.name_sources)&&e.name_types.every(i=>typeof i=="string")&&e.name_sources.every(i=>typeof i=="string")}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],[i])=>t.localeCompare(i)).map(([t,i])=>[t,i.map(n=>({name:n.name,type:n.type}))]))}};f=_([(0,m.injectable)(),I(0,(0,m.inject)(D.configTypes.Config))],f);0&&(module.exports={HttpTypedDataDataSource});
1
+ "use strict";var v=Object.create;var f=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var V=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var S=(r,e)=>{for(var t in e)f(r,t,{get:e[t],enumerable:!0})},I=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of E(e))!N.call(r,o)&&o!==t&&f(r,o,{get:()=>e[o],enumerable:!(i=C(e,o))||i.enumerable});return r};var _=(r,e,t)=>(t=r!=null?v(V(r)):{},I(e||!r||!r.__esModule?f(t,"default",{value:r,enumerable:!0}):t,r)),j=r=>I(f({},"__esModule",{value:!0}),r),F=(r,e,t,i)=>{for(var o=i>1?void 0:i?C(e,t):e,s=r.length-1,a;s>=0;s--)(a=r[s])&&(o=(i?a(e,t,o):a(o))||o);return i&&o&&f(e,t,o),o},x=(r,e)=>(t,i)=>e(t,i,r);var P={};S(P,{HttpTypedDataDataSource:()=>d});module.exports=j(P);var M=_(require("axios")),D=_(require("crypto-js/sha224")),m=require("inversify"),l=require("purify-ts"),T=require("../../config/di/configTypes"),g=require("../../shared/constant/HttpHeaders"),y=require("../../shared/model/TypedDataClearSignContext"),b=_(require("../../../package.json"));let d=class{constructor(e){this.config=e}async getTypedDataFilters({chainId:e,address:t,schema:i,version:o}){let s;try{const a=await M.default.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{contracts:t,chain_id:e,output:"descriptors_eip712",descriptors_eip712_version:o,descriptors_eip712:"<set>",ref:`branch:${this.config.cal.branch}`},headers:{[g.LEDGER_CLIENT_VERSION_HEADER]:`context-module/${b.default.version}`,[g.LEDGER_ORIGIN_TOKEN_HEADER]:this.config.originToken}}),c=(0,D.default)(JSON.stringify(this.sortTypes(i)).replace(" ","")).toString();t=t.toLowerCase();const u=a.data?.[0]?.descriptors_eip712?.[t]?.[c];if(!u)return(0,l.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${t} on chain ${e} for schema ${c}`));if(!u.schema||!Array.isArray(u.instructions))return(0,l.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${c}`));const p=[],h={};for(const n of u.instructions)if(this.isInstructionContractInfo(n,this.config.cal.mode))s={displayName:n.display_name,signature:n.signatures[this.config.cal.mode],filtersCount:n.field_mappers_count};else if(o==="v1"&&this.isInstructionFieldV1(n,this.config.cal.mode))p.push({type:"raw",displayName:n.display_name,path:n.field_path,signature:n.signatures[this.config.cal.mode]});else if(this.isInstructionFieldV2(n,this.config.cal.mode))p.push({type:n.format,displayName:n.display_name,path:n.field_path,signature:n.signatures[this.config.cal.mode]});else if(this.isInstructionFieldV2WithCoinRef(n,this.config.cal.mode))p.push({type:n.format,displayName:n.display_name,path:n.field_path,signature:n.signatures[this.config.cal.mode],tokenIndex:n.coin_ref});else if(this.isInstructionFieldV2WithName(n,this.config.cal.mode))p.push({type:n.format,displayName:n.display_name,path:n.field_path,signature:n.signatures[this.config.cal.mode],types:n.name_types,sources:n.name_sources,typesAndSourcesPayload:this.formatTrustedNameTypesAndSources(n)});else if(this.isInstructionCalldataInfo(n,this.config.cal.mode))h[n.calldata_index]={displayName:n.display_name,calldataIndex:n.calldata_index,valueFlag:n.value_filter_flag,calleeFlag:this.convertCalldataPresenceFlag(n.callee_filter_flag),amountFlag:n.amount_filter_flag,spenderFlag:this.convertCalldataPresenceFlag(n.spender_filter_flag),chainIdFlag:n.chain_id_filter_flag,selectorFlag:n.selector_filter_flag,signature:n.signatures[this.config.cal.mode]};else if(this.isInstructionFieldV2Calldata(n,this.config.cal.mode))p.push({type:n.format,displayName:n.display_name,path:n.field_path,signature:n.signatures[this.config.cal.mode],calldataIndex:n.calldata_index});else return(0,l.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${t} on chain ${e} for schema ${c}`));return s?(0,l.Right)({messageInfo:s,filters:p,calldatasInfos:h}):(0,l.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${c}`))}catch{return(0,l.Left)(new Error("[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations"))}}convertCalldataPresenceFlag(e){switch(e){case"none":return y.TypedDataCalldataParamPresence.None;case"present":return y.TypedDataCalldataParamPresence.Present;case"verifying_contract":return y.TypedDataCalldataParamPresence.VerifyingContract;default:{const t=e;throw new Error(`Unhandled flag: ${t}`)}}}formatTrustedNameTypesAndSources(e){const t=e.name_types.length,i=e.name_sources.length,o=e.descriptor.slice((t+i)*2*-1,i*2*-1),s=e.descriptor.slice(i*2*-1),a=t.toString(16).padStart(2,"0"),c=i.toString(16).padStart(2,"0");return a+o+c+s}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"}isInstructionFieldV2WithName(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"&&e.format==="trusted-name"&&e.coin_ref===void 0&&Array.isArray(e.name_types)&&Array.isArray(e.name_sources)&&e.name_types.every(i=>typeof i=="string")&&e.name_sources.every(i=>typeof i=="string")}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}isInstructionCalldataInfo(e,t){return typeof e=="object"&&typeof e.type=="string"&&e.type==="calldata"&&typeof e.display_name=="string"&&typeof e.calldata_index=="number"&&typeof e.value_filter_flag=="boolean"&&typeof e.chain_id_filter_flag=="boolean"&&typeof e.selector_filter_flag=="boolean"&&typeof e.amount_filter_flag=="boolean"&&["none","present","verifying_contract"].includes(e.callee_filter_flag)&&["none","present","verifying_contract"].includes(e.spender_filter_flag)&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"}isInstructionFieldV2Calldata(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"&&["calldata-value","calldata-callee","calldata-chain-id","calldata-selector","calldata-amount","calldata-spender"].includes(e.format)&&typeof e.calldata_index=="number"}sortTypes(e){return Object.fromEntries(Object.entries(e).sort(([t],[i])=>t.localeCompare(i)).map(([t,i])=>[t,i.map(o=>({name:o.name,type:o.type}))]))}};d=F([(0,m.injectable)(),x(0,(0,m.inject)(T.configTypes.Config))],d);0&&(module.exports={HttpTypedDataDataSource});
2
2
  //# sourceMappingURL=HttpTypedDataDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\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 InstructionFieldV2WithName,\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 [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\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 if (\n this.isInstructionFieldV2WithName(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 types: field.name_types,\n sources: field.name_sources,\n typesAndSourcesPayload:\n this.formatTrustedNameTypesAndSources(field),\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 formatTrustedNameTypesAndSources(\n field: InstructionFieldV2WithName,\n ): string {\n // Get number of types and sources\n const typesCount = field.name_types.length;\n const sourcesCount = field.name_sources.length;\n\n // Extract types and sources from the descriptor\n const types = field.descriptor.slice(\n (typesCount + sourcesCount) * 2 * -1,\n sourcesCount * 2 * -1,\n );\n const sources = field.descriptor.slice(sourcesCount * 2 * -1);\n\n // Convert counts into hex strings\n const typesCountHex = typesCount.toString(16).padStart(2, \"0\");\n const sourcesCountHex = sourcesCount.toString(16).padStart(2, \"0\");\n\n // Return the payload\n return typesCountHex + types + sourcesCountHex + sources;\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 isInstructionFieldV2WithName(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2WithName & {\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 data.format === \"trusted-name\" &&\n data.coin_ref === undefined &&\n Array.isArray(data.name_types) &&\n Array.isArray(data.name_sources) &&\n data.name_types.every((t) => typeof t === \"string\") &&\n data.name_sources.every((s) => typeof s === \"string\")\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": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmB,+BACnBC,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAK5BC,EAGO,yCAMPC,EAAoB,iCAkBb,IAAMC,EAAN,KAA6D,CAClE,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAa,oBAAoB,CAC/B,QAAAC,EACA,QAAAC,EACA,OAAAC,EACA,QAAAC,CACF,EAEE,CACA,IAAIC,EAEJ,GAAI,CACF,MAAMC,EAAW,MAAM,EAAAC,QAAM,QAAsB,CACjD,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,IAAI,GAAG,SAC3B,OAAQ,CACN,UAAWL,EACX,SAAUD,EACV,OAAQ,qBACR,2BAA4BG,EAC5B,mBAAoB,QACpB,IAAK,UAAU,KAAK,OAAO,IAAI,MAAM,EACvC,EACA,QAAS,CACP,CAAC,8BAA4B,EAAG,kBAAkB,EAAAI,QAAQ,OAAO,GACjE,CAAC,4BAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,EAGKC,KAAa,EAAAC,SACjB,KAAK,UAAU,KAAK,UAAUP,CAAM,CAAC,EAAE,QAAQ,IAAK,EAAE,CACxD,EAAE,SAAS,EACXD,EAAUA,EAAQ,YAAY,EAC9B,MAAMS,EACJL,EAAS,OAAO,CAAC,GAAG,qBAAqBJ,CAAO,IAAIO,CAAU,EAChE,GAAI,CAACE,EACH,SAAO,QACL,IAAI,MACF,8EAA8ET,CAAO,aAAaD,CAAO,eAAeQ,CAAU,EACpI,CACF,EAIF,GAAI,CAACE,EAAY,QAAU,CAAC,MAAM,QAAQA,EAAY,YAAY,EAChE,SAAO,QACL,IAAI,MACF,wEAAwET,CAAO,aAAaD,CAAO,eAAeQ,CAAU,EAC9H,CACF,EAIF,MAAMG,EAA6B,CAAC,EACpC,UAAWC,KAASF,EAAY,aAC9B,GAAI,KAAK,0BAA0BE,EAAO,KAAK,OAAO,IAAI,IAAI,EAC5DR,EAAc,CACZ,YAAaQ,EAAM,aACnB,UAAWA,EAAM,WAAW,KAAK,OAAO,IAAI,IAAI,EAChD,aAAcA,EAAM,mBACtB,UAEAT,IAAY,MACZ,KAAK,qBAAqBS,EAAO,KAAK,OAAO,IAAI,IAAI,EAErDD,EAAQ,KAAK,CACX,KAAM,MACN,YAAaC,EAAM,aACnB,KAAMA,EAAM,WACZ,UAAWA,EAAM,WAAW,KAAK,OAAO,IAAI,IAAI,CAClD,CAAC,UACQ,KAAK,qBAAqBA,EAAO,KAAK,OAAO,IAAI,IAAI,EAC9DD,EAAQ,KAAK,CACX,KAAMC,EAAM,OACZ,YAAaA,EAAM,aACnB,KAAMA,EAAM,WACZ,UAAWA,EAAM,WAAW,KAAK,OAAO,IAAI,IAAI,CAClD,CAAC,UAED,KAAK,gCAAgCA,EAAO,KAAK,OAAO,IAAI,IAAI,EAEhED,EAAQ,KAAK,CACX,KAAMC,EAAM,OACZ,YAAaA,EAAM,aACnB,KAAMA,EAAM,WACZ,UAAWA,EAAM,WAAW,KAAK,OAAO,IAAI,IAAI,EAChD,WAAYA,EAAM,QACpB,CAAC,UAED,KAAK,6BAA6BA,EAAO,KAAK,OAAO,IAAI,IAAI,EAE7DD,EAAQ,KAAK,CACX,KAAMC,EAAM,OACZ,YAAaA,EAAM,aACnB,KAAMA,EAAM,WACZ,UAAWA,EAAM,WAAW,KAAK,OAAO,IAAI,IAAI,EAChD,MAAOA,EAAM,WACb,QAASA,EAAM,aACf,uBACE,KAAK,iCAAiCA,CAAK,CAC/C,CAAC,MAED,UAAO,QACL,IAAI,MACF,iFAAiFX,CAAO,aAAaD,CAAO,eAAeQ,CAAU,EACvI,CACF,EAIJ,OAAKJ,KAQE,SAAM,CAAE,YAAAA,EAAa,QAAAO,CAAQ,CAAC,KAP5B,QACL,IAAI,MACF,wEAAwEV,CAAO,aAAaD,CAAO,eAAeQ,CAAU,EAC9H,CACF,CAIJ,MAAiB,CACf,SAAO,QACL,IAAI,MACF,kFACF,CACF,CACF,CACF,CAEQ,iCACNI,EACQ,CAER,MAAMC,EAAaD,EAAM,WAAW,OAC9BE,EAAeF,EAAM,aAAa,OAGlCG,EAAQH,EAAM,WAAW,OAC5BC,EAAaC,GAAgB,EAAI,GAClCA,EAAe,EAAI,EACrB,EACME,EAAUJ,EAAM,WAAW,MAAME,EAAe,EAAI,EAAE,EAGtDG,EAAgBJ,EAAW,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,EACvDK,EAAkBJ,EAAa,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,EAGjE,OAAOG,EAAgBF,EAAQG,EAAkBF,CACnD,CAEQ,qBACNG,EACAC,EAGA,CAGA,OACE,OAAOD,GAAS,UAChB,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,WAAWC,CAAI,GAAM,QAErC,CAEQ,qBACND,EACAC,EAGA,CACA,OACE,OAAOD,GAAS,UAChB,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,WAAWC,CAAI,GAAM,UACjC,OAAOD,EAAK,QAAW,UACvB,CAAC,MAAO,UAAU,EAAE,SAASA,EAAK,MAAM,GACxCA,EAAK,WAAa,MAEtB,CAEQ,gCACNA,EACAC,EAGA,CACA,OACE,OAAOD,GAAS,UAChB,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,WAAWC,CAAI,GAAM,UACjC,OAAOD,EAAK,QAAW,UACvB,CAAC,QAAS,QAAQ,EAAE,SAASA,EAAK,MAAM,GACxC,OAAOA,EAAK,UAAa,QAE7B,CAEQ,6BACNA,EACAC,EAGA,CACA,OACE,OAAOD,GAAS,UAChB,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,WAAWC,CAAI,GAAM,UACjC,OAAOD,EAAK,QAAW,UACvBA,EAAK,SAAW,gBAChBA,EAAK,WAAa,QAClB,MAAM,QAAQA,EAAK,UAAU,GAC7B,MAAM,QAAQA,EAAK,YAAY,GAC/BA,EAAK,WAAW,MAAOE,GAAM,OAAOA,GAAM,QAAQ,GAClDF,EAAK,aAAa,MAAOG,GAAM,OAAOA,GAAM,QAAQ,CAExD,CAEQ,0BACNH,EACAC,EAGA,CACA,OACE,OAAOD,GAAS,UAChB,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,qBAAwB,UACpC,OAAOA,EAAK,YAAe,UAC3B,OAAOA,EAAK,WAAWC,CAAI,GAAM,UACjCD,EAAK,aAAe,MAExB,CAEQ,UAAUJ,EAAyC,CACzD,OAAO,OAAO,YACZ,OAAO,QAAQA,CAAK,EACjB,KAAK,CAAC,CAACQ,CAAI,EAAG,CAACC,CAAI,IAAMD,EAAK,cAAcC,CAAI,CAAC,EACjD,IAAI,CAAC,CAACC,EAAKC,CAAK,IAAM,CACrBD,EACAC,EAAM,IAAKC,IAAO,CAAE,KAAMA,EAAE,KAAM,KAAMA,EAAE,IAAK,EAAE,CACnD,CAAC,CACL,CACF,CACF,EAhQa7B,EAAN8B,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,IAFjB/B",
6
- "names": ["HttpTypedDataDataSource_exports", "__export", "HttpTypedDataDataSource", "__toCommonJS", "import_axios", "import_sha224", "import_inversify", "import_purify_ts", "import_configTypes", "import_HttpHeaders", "import_package", "HttpTypedDataDataSource", "config", "chainId", "address", "schema", "version", "messageInfo", "response", "axios", "PACKAGE", "schemaHash", "SHA224", "filtersJson", "filters", "field", "typesCount", "sourcesCount", "types", "sources", "typesCountHex", "sourcesCountHex", "data", "mode", "t", "s", "aKey", "bKey", "key", "value", "v", "__decorateClass", "__decorateParam"]
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 {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport type {\n TypedDataCalldataIndex,\n TypedDataFilter,\n TypedDataFilterCalldataInfo,\n TypedDataMessageInfo,\n} from \"@/shared/model/TypedDataClearSignContext\";\nimport { TypedDataCalldataParamPresence } from \"@/shared/model/TypedDataClearSignContext\";\nimport type { TypedDataSchema } from \"@/shared/model/TypedDataContext\";\nimport PACKAGE from \"@root/package.json\";\n\nimport type {\n FiltersDto,\n InstructionCalldataInfo,\n InstructionCalldataParamPresence,\n InstructionContractInfo,\n InstructionField,\n InstructionFieldV1,\n InstructionFieldV2,\n InstructionFieldV2Calldata,\n InstructionFieldV2WithCoinRef,\n InstructionFieldV2WithName,\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 [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\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 const calldatasInfos: Record<\n TypedDataCalldataIndex,\n TypedDataFilterCalldataInfo\n > = {};\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 if (\n this.isInstructionFieldV2WithName(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 types: field.name_types,\n sources: field.name_sources,\n typesAndSourcesPayload:\n this.formatTrustedNameTypesAndSources(field),\n });\n } else if (\n this.isInstructionCalldataInfo(field, this.config.cal.mode)\n ) {\n calldatasInfos[field.calldata_index] = {\n displayName: field.display_name,\n calldataIndex: field.calldata_index,\n valueFlag: field.value_filter_flag,\n calleeFlag: this.convertCalldataPresenceFlag(\n field.callee_filter_flag,\n ),\n amountFlag: field.amount_filter_flag,\n spenderFlag: this.convertCalldataPresenceFlag(\n field.spender_filter_flag,\n ),\n chainIdFlag: field.chain_id_filter_flag,\n selectorFlag: field.selector_filter_flag,\n signature: field.signatures[this.config.cal.mode],\n };\n } else if (\n this.isInstructionFieldV2Calldata(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 calldataIndex: field.calldata_index,\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, calldatasInfos });\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 convertCalldataPresenceFlag(\n flag: InstructionCalldataParamPresence,\n ): TypedDataCalldataParamPresence {\n switch (flag) {\n case \"none\":\n return TypedDataCalldataParamPresence.None;\n case \"present\":\n return TypedDataCalldataParamPresence.Present;\n case \"verifying_contract\":\n return TypedDataCalldataParamPresence.VerifyingContract;\n default: {\n const uncoveredFlag: never = flag;\n throw new Error(`Unhandled flag: ${uncoveredFlag}`);\n }\n }\n }\n\n private formatTrustedNameTypesAndSources(\n field: InstructionFieldV2WithName,\n ): string {\n // Get number of types and sources\n const typesCount = field.name_types.length;\n const sourcesCount = field.name_sources.length;\n\n // Extract types and sources from the descriptor\n const types = field.descriptor.slice(\n (typesCount + sourcesCount) * 2 * -1,\n sourcesCount * 2 * -1,\n );\n const sources = field.descriptor.slice(sourcesCount * 2 * -1);\n\n // Convert counts into hex strings\n const typesCountHex = typesCount.toString(16).padStart(2, \"0\");\n const sourcesCountHex = sourcesCount.toString(16).padStart(2, \"0\");\n\n // Return the payload\n return typesCountHex + types + sourcesCountHex + sources;\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 isInstructionFieldV2WithName(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2WithName & {\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 data.format === \"trusted-name\" &&\n data.coin_ref === undefined &&\n Array.isArray(data.name_types) &&\n Array.isArray(data.name_sources) &&\n data.name_types.every((t) => typeof t === \"string\") &&\n data.name_sources.every((s) => typeof s === \"string\")\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 isInstructionCalldataInfo(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionCalldataInfo & {\n signatures: { [_key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.type === \"string\" &&\n data.type === \"calldata\" &&\n typeof data.display_name === \"string\" &&\n typeof data.calldata_index === \"number\" &&\n typeof data.value_filter_flag === \"boolean\" &&\n typeof data.chain_id_filter_flag === \"boolean\" &&\n typeof data.selector_filter_flag === \"boolean\" &&\n typeof data.amount_filter_flag === \"boolean\" &&\n [\"none\", \"present\", \"verifying_contract\"].includes(\n data.callee_filter_flag,\n ) &&\n [\"none\", \"present\", \"verifying_contract\"].includes(\n data.spender_filter_flag,\n ) &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\"\n );\n }\n\n private isInstructionFieldV2Calldata(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2Calldata & {\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 [\n \"calldata-value\",\n \"calldata-callee\",\n \"calldata-chain-id\",\n \"calldata-selector\",\n \"calldata-amount\",\n \"calldata-spender\",\n ].includes(data.format) &&\n typeof data.calldata_index === \"number\"\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": ["HttpTypedDataDataSource_exports", "__export", "HttpTypedDataDataSource", "__toCommonJS", "import_axios", "import_sha224", "import_inversify", "import_purify_ts", "import_configTypes", "import_HttpHeaders", "import_TypedDataClearSignContext", "import_package", "HttpTypedDataDataSource", "config", "chainId", "address", "schema", "version", "messageInfo", "response", "axios", "PACKAGE", "schemaHash", "SHA224", "filtersJson", "filters", "calldatasInfos", "field", "flag", "uncoveredFlag", "typesCount", "sourcesCount", "types", "sources", "typesCountHex", "sourcesCountHex", "data", "mode", "t", "s", "aKey", "bKey", "key", "value", "v", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.create;var r=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var D=(d,t)=>{for(var e in t)r(d,e,{get:t[e],enumerable:!0})},i=(d,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of h(t))!v.call(d,s)&&s!==e&&r(d,s,{get:()=>t[s],enumerable:!(a=y(t,s))||a.enumerable});return d};var o=(d,t,e)=>(e=d!=null?m(x(d)):{},i(t||!d||!d.__esModule?r(e,"default",{value:d,enumerable:!0}):e,d)),g=d=>i(r({},"__esModule",{value:!0}),d);var w={};D(w,{buildDescriptor:()=>f});module.exports=g(w);var c=o(require("axios")),n=require("purify-ts"),b=require("../../shared/constant/HttpHeaders"),l=require("../../typed-data/data/HttpTypedDataDataSource"),u=o(require("../../../package.json"));vi.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}}}}],p={web3checks:{url:"web3checksUrl"},cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"prod"},originToken:"originToken"};describe("HttpTypedDataDataSource",()=>{let d;const t={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(()=>{d=new l.HttpTypedDataDataSource(p),vi.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const e=`context-module/${u.default.version}`,a=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(c.default,"request").mockImplementation(a),await d.getTypedDataFilters({chainId:1,address:"0x00",version:"v2",schema:{}}),expect(a).toHaveBeenCalledWith(expect.objectContaining({headers:{[b.LEDGER_CLIENT_VERSION_HEADER]:e,[b.LEDGER_ORIGIN_TOKEN_HEADER]:p.originToken}}))}),it("should return V2 filters when axios response is correct",async()=>{const e=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:"Spender name",format:"trusted-name",field_path:"details.spender",name_types:["contract"],name_sources:["cal","local","ens"],descriptor:"2c000000000000a4b1ff970a61a04b1ca14834a43f5de4533ebddb5cc8d4dd8410bdcf861c48d353f8e3a9b738282a0fd9ba7239f59baa90997370656e6465725370656e64657202010002",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d54"},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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022D473030F116DDEE9F6B43AC78BA3",version:"v2",schema:t});expect(a).toEqual((0,n.Right)({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token",tokenIndex:0,signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},{type:"trusted-name",displayName:"Spender name",path:"details.spender",signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d54",types:["contract"],sources:["cal","local","ens"],typesAndSourcesPayload:"010203010002"},{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 e=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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a).toEqual((0,n.Right)({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()=>{vi.spyOn(c.default,"request").mockResolvedValue({data:void 0});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(e.isLeft()).toEqual(!0),expect(e.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 e=f([]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f(void 0);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f([{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f([{field_mappers_count:4,descriptor:"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432",signatures:{prod:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},type:"message"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f([{display_name:"Amount allowance",format:"token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f([{format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f([{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{test:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 e=f([{display_name:"Amount allowance",format:"token",field_path:"details.token",coin_ref:null,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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 trusted names without sources and types",async()=>{const e=f([{display_name:"Amount allowance",format:"trusted-name",field_path:"details.token",descriptor:"2c000000000000a4b1ff970a61a04b1ca14834a43f5de4533ebddb5cc8d4dd8410bdcf861c48d353f8e3a9b738282a0fd9ba7239f59baa90997370656e6465725370656e64657202010002",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:t});expect(a.isLeft()).toEqual(!0),expect(a.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()=>{vi.spyOn(c.default,"request").mockRejectedValue(new Error("error"));const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(e.isLeft()).toEqual(!0)})});0&&(module.exports={buildDescriptor});
1
+ "use strict";var h=Object.create;var s=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var D=(d,t)=>{for(var a in t)s(d,a,{get:t[a],enumerable:!0})},l=(d,t,a,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let b of g(t))!_.call(d,b)&&b!==a&&s(d,b,{get:()=>t[b],enumerable:!(e=x(t,b))||e.enumerable});return d};var p=(d,t,a)=>(a=d!=null?h(v(d)):{},l(t||!d||!d.__esModule?s(a,"default",{value:d,enumerable:!0}):a,d)),w=d=>l(s({},"__esModule",{value:!0}),d);var T={};D(T,{buildDescriptor:()=>f,buildDescriptorCalldata:()=>n});module.exports=w(T);var c=p(require("axios")),r=require("purify-ts"),i=require("../../shared/constant/HttpHeaders"),o=require("../../shared/model/TypedDataClearSignContext"),m=require("../../typed-data/data/HttpTypedDataDataSource"),y=p(require("../../../package.json"));vi.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}}}}],n=d=>[{descriptors_eip712:{"0x000000000022d473030f116ddee9f6b43ac78ba3":{"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3":{schema:{SafeTx:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"nonce",type:"uint256"}],EIP712Domain:[{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}]},instructions:d}}}}],u={web3checks:{url:"web3checksUrl"},cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"prod"},originToken:"originToken"};describe("HttpTypedDataDataSource",()=>{let d;const t={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(()=>{d=new m.HttpTypedDataDataSource(u),vi.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const a=`context-module/${y.default.version}`,e=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(c.default,"request").mockImplementation(e),await d.getTypedDataFilters({chainId:1,address:"0x00",version:"v2",schema:{}}),expect(e).toHaveBeenCalledWith(expect.objectContaining({headers:{[i.LEDGER_CLIENT_VERSION_HEADER]:a,[i.LEDGER_ORIGIN_TOKEN_HEADER]:u.originToken}}))}),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:"Spender name",format:"trusted-name",field_path:"details.spender",name_types:["contract"],name_sources:["cal","local","ens"],descriptor:"2c000000000000a4b1ff970a61a04b1ca14834a43f5de4533ebddb5cc8d4dd8410bdcf861c48d353f8e3a9b738282a0fd9ba7239f59baa90997370656e6465725370656e64657202010002",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d54"},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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022D473030F116DDEE9F6B43AC78BA3",version:"v2",schema:t});expect(e).toEqual((0,r.Right)({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},calldatasInfos:{},filters:[{type:"token",displayName:"Amount allowance",path:"details.token",tokenIndex:0,signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},{type:"trusted-name",displayName:"Spender name",path:"details.spender",signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d54",types:["contract"],sources:["cal","local","ens"],typesAndSourcesPayload:"010203010002"},{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 V2 filters with calldatas when axios response is correct",async()=>{const a=n([{display_name:"Multisig transaction",field_mappers_count:4,descriptor:"b7000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c14084d756c7469736967207472616e73616374696f6e",signatures:{prod:"304402206553ac5a2ce6bb17b94f3ec559fb037af0b742d62c001d8938aad709accd71ed022075ce87c3eb65e605f0ce0b2bc4bf960498bacf109a499807d1a7906d9c78c9c4"},type:"message"},{display_name:"Operation type",format:"raw",field_path:"operation",descriptor:"48000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c146f7065726174696f6e4f7065726174696f6e2074797065",signatures:{prod:"3045022100fb9f3e7bab8ac0cd9a5722389a19d1ebdd39d7a6da6e374724a46eebee6896bc022070e991bb022111ed448540511b7fa4f70d5e92b0a3866d75cfc9d3cf1cf75d9b"},type:"field"},{display_name:"Transaction",calldata_index:0,value_filter_flag:!0,callee_filter_flag:"present",chain_id_filter_flag:!1,selector_filter_flag:!1,amount_filter_flag:!0,spender_filter_flag:"verifying_contract",descriptor:"37000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c1400010100000102",signatures:{prod:"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e"},type:"calldata"},{display_name:"Transaction",format:"calldata-value",field_path:"data",calldata_index:0,descriptor:"42000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c146461746100",signatures:{prod:"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a"},type:"field"},{display_name:"Transaction",format:"calldata-callee",field_path:"to",calldata_index:0,descriptor:"4d000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c14746f00",signatures:{prod:"30440220796cc549e363c5bc9f9d5bda894cf4cda11f157519f673d2b4a8b3ce716a8fba0220663c888d764084072856fe654ff425bffe671c2550068c64be9eddd6c84178b8"},type:"field"},{display_name:"Transaction",format:"calldata-amount",field_path:"value",calldata_index:0,descriptor:"6e000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c1476616c756500",signatures:{prod:"3044022021601a55098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022D473030F116DDEE9F6B43AC78BA3",version:"v2",schema:t});expect(e).toEqual((0,r.Right)({messageInfo:{displayName:"Multisig transaction",filtersCount:4,signature:"304402206553ac5a2ce6bb17b94f3ec559fb037af0b742d62c001d8938aad709accd71ed022075ce87c3eb65e605f0ce0b2bc4bf960498bacf109a499807d1a7906d9c78c9c4"},calldatasInfos:{0:{calldataIndex:0,displayName:"Transaction",valueFlag:!0,calleeFlag:o.TypedDataCalldataParamPresence.Present,chainIdFlag:!1,selectorFlag:!1,amountFlag:!0,spenderFlag:o.TypedDataCalldataParamPresence.VerifyingContract,signature:"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e"}},filters:[{type:"raw",displayName:"Operation type",path:"operation",signature:"3045022100fb9f3e7bab8ac0cd9a5722389a19d1ebdd39d7a6da6e374724a46eebee6896bc022070e991bb022111ed448540511b7fa4f70d5e92b0a3866d75cfc9d3cf1cf75d9b"},{type:"calldata-value",displayName:"Transaction",path:"data",calldataIndex:0,signature:"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a"},{type:"calldata-callee",displayName:"Transaction",path:"to",calldataIndex:0,signature:"30440220796cc549e363c5bc9f9d5bda894cf4cda11f157519f673d2b4a8b3ce716a8fba0220663c888d764084072856fe654ff425bffe671c2550068c64be9eddd6c84178b8"},{type:"calldata-amount",displayName:"Transaction",path:"value",calldataIndex:0,signature:"3044022021601a55098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f"}]}))}),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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(e).toEqual((0,r.Right)({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},calldatasInfos:{},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()=>{vi.spyOn(c.default,"request").mockResolvedValue({data:void 0});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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([]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});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"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:t});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 trusted names without sources and types",async()=>{const a=f([{display_name:"Amount allowance",format:"trusted-name",field_path:"details.token",descriptor:"2c000000000000a4b1ff970a61a04b1ca14834a43f5de4533ebddb5cc8d4dd8410bdcf861c48d353f8e3a9b738282a0fd9ba7239f59baa90997370656e6465725370656e64657202010002",signatures:{prod:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:t});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 calldata info with flags undefined",async()=>{const a=n([{display_name:"Transaction",calldata_index:0,callee_filter_flag:"present",chain_id_filter_flag:!1,selector_filter_flag:!1,amount_filter_flag:!0,descriptor:"37000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c1400010100000102",signatures:{prod:"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e"},type:"calldata"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:t});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 calldata field with calldata_index undefined",async()=>{const a=n([{display_name:"Transaction",format:"calldata-value",field_path:"data",descriptor:"42000000000000000141675c099f32341bf84bfc5382af534df5c7461a76c51ae1c9c8eb1e9fe51d0ed8b1c65c044466a7bcb1c9f7a0f33c146461746100",signatures:{prod:"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a"},type:"field"}]);vi.spyOn(c.default,"request").mockResolvedValue({data:a});const e=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v2",schema:t});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()=>{vi.spyOn(c.default,"request").mockRejectedValue(new Error("error"));const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a.isLeft()).toEqual(!0)})});0&&(module.exports={buildDescriptor,buildDescriptorCalldata});
2
2
  //# sourceMappingURL=HttpTypedDataDataSource.test.js.map