@ledgerhq/context-module 0.0.0-signer-eth-20250122093657 → 0.0.0-sol-signer-20251203164116

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 (994) hide show
  1. package/README.md +17 -5
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +41 -37
  4. package/lib/cjs/src/ContextModule.js +1 -1
  5. package/lib/cjs/src/ContextModule.js.map +1 -1
  6. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  7. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  8. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  9. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  10. package/lib/cjs/src/DefaultContextModule.js +1 -1
  11. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  12. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  13. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  14. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  15. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  18. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  19. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  20. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  21. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  22. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  23. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  24. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  25. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  28. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  29. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  30. package/lib/cjs/src/config/di/configModuleFactory.js +1 -1
  31. package/lib/cjs/src/config/di/configModuleFactory.js.map +3 -3
  32. package/lib/cjs/src/config/di/configTypes.js +1 -1
  33. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  34. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +2 -0
  35. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  36. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  37. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  38. package/lib/cjs/src/di.js +1 -1
  39. package/lib/cjs/src/di.js.map +3 -3
  40. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js +2 -0
  41. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  42. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  43. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  44. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  45. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  46. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +2 -0
  47. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  48. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  49. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  50. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  51. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  52. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  53. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  54. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  55. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  56. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js +2 -0
  57. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  58. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  59. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  60. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  61. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  62. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  63. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  64. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  65. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  66. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  67. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  68. package/lib/cjs/src/index.js +1 -1
  69. package/lib/cjs/src/index.js.map +2 -2
  70. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  71. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  72. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  73. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  74. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  75. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  76. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  77. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  78. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  79. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  80. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  81. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  82. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  83. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  84. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  85. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  86. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  87. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  88. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  89. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  90. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js +2 -0
  91. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  92. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js +2 -0
  93. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  94. package/lib/cjs/src/pki/di/pkiModuleFactory.js +2 -0
  95. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +7 -0
  96. package/lib/cjs/src/pki/di/pkiTypes.js +2 -0
  97. package/lib/cjs/src/pki/di/pkiTypes.js.map +7 -0
  98. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  99. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  100. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  101. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  102. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js +2 -0
  103. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  104. package/lib/cjs/src/pki/model/KeyId.js +2 -0
  105. package/lib/cjs/src/pki/model/KeyId.js.map +7 -0
  106. package/lib/cjs/src/pki/model/KeyUsage.js +2 -0
  107. package/lib/cjs/src/pki/model/KeyUsage.js.map +7 -0
  108. package/lib/cjs/src/pki/model/PkiCertificate.js +2 -0
  109. package/lib/cjs/src/pki/model/PkiCertificate.js.map +7 -0
  110. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +2 -0
  111. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +7 -0
  112. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  113. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  114. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  115. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  116. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  117. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  118. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  119. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  120. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  121. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  122. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js +2 -0
  123. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  124. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js +2 -0
  125. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  126. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  127. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  128. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  129. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  130. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  131. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  132. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  133. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  134. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  135. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  136. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  137. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  138. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  139. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  140. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  141. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  142. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  143. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  144. package/lib/cjs/src/safe/data/SafeAccountDataSource.js +2 -0
  145. package/lib/cjs/src/safe/data/SafeAccountDataSource.js.map +7 -0
  146. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js +2 -0
  147. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  148. package/lib/cjs/src/safe/di/safeModuleFactory.js +2 -0
  149. package/lib/cjs/src/safe/di/safeModuleFactory.js.map +7 -0
  150. package/lib/cjs/src/safe/di/safeModuleFactory.test.js +2 -0
  151. package/lib/cjs/src/safe/di/safeModuleFactory.test.js.map +7 -0
  152. package/lib/cjs/src/safe/di/safeTypes.js +2 -0
  153. package/lib/cjs/src/safe/di/safeTypes.js.map +7 -0
  154. package/lib/cjs/src/safe/domain/SafeAddressLoader.js +2 -0
  155. package/lib/cjs/src/safe/domain/SafeAddressLoader.js.map +7 -0
  156. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js +2 -0
  157. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  158. package/lib/cjs/src/shared/constant/HttpHeaders.js +2 -0
  159. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +7 -0
  160. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  161. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  162. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  163. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  164. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  165. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  166. package/lib/cjs/src/shared/model/SignatureTags.js +2 -0
  167. package/lib/cjs/src/shared/model/SignatureTags.js.map +7 -0
  168. package/lib/cjs/src/shared/model/SolanaContextTypes.js +2 -0
  169. package/lib/cjs/src/shared/model/SolanaContextTypes.js.map +7 -0
  170. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +2 -0
  171. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +7 -0
  172. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  173. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  174. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  175. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  176. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  177. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  178. package/lib/cjs/src/shared/utils/HexStringUtils.js +1 -1
  179. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +3 -3
  180. package/lib/cjs/src/shared/utils/HexStringUtils.test.js +2 -0
  181. package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +7 -0
  182. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +2 -0
  183. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +7 -0
  184. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +2 -0
  185. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  186. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  187. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  188. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  189. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  190. package/lib/cjs/src/solana/data/SolanaDataSource.js +2 -0
  191. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +7 -0
  192. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js +2 -0
  193. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  194. package/lib/cjs/src/solana/di/solanaContextTypes.js +2 -0
  195. package/lib/cjs/src/solana/di/solanaContextTypes.js.map +7 -0
  196. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  197. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  198. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  199. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  200. package/lib/cjs/src/solana/domain/SolanaContextLoader.js +2 -0
  201. package/lib/cjs/src/solana/domain/SolanaContextLoader.js.map +7 -0
  202. package/lib/cjs/src/solana/domain/solanaContextTypes.js +2 -0
  203. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +7 -0
  204. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  205. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  206. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  207. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  208. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js +2 -0
  209. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  210. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  211. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  212. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  213. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  214. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  215. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  216. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  217. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  218. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  219. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  220. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  221. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  222. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js +2 -0
  223. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  224. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js +2 -0
  225. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  226. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js +2 -0
  227. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  228. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  229. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  230. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  231. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  232. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  233. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
  234. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  235. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  236. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  237. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  238. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  239. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  240. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  241. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  242. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  243. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  244. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  245. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  246. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  247. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  248. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  249. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  250. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  251. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  252. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  253. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  254. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  255. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  256. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js +2 -0
  257. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  258. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js +2 -0
  259. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  260. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js +2 -0
  261. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  262. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js +2 -0
  263. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  264. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  265. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  266. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js +2 -0
  267. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  268. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  269. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  270. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  271. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  272. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  273. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  274. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  275. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  276. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  277. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  278. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  279. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  280. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  281. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  282. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  283. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  284. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  285. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  286. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  287. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  288. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  289. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  290. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  291. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  292. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  293. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  294. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  295. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  296. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  297. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  298. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  299. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  300. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  301. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  302. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  303. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  304. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +1 -1
  305. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  306. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  307. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  308. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  309. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  310. package/lib/cjs/src/uniswap/constants/uniswap.js +2 -0
  311. package/lib/cjs/src/uniswap/constants/uniswap.js.map +7 -0
  312. package/lib/cjs/src/uniswap/constants/weth.js +2 -0
  313. package/lib/cjs/src/uniswap/constants/weth.js.map +7 -0
  314. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js +2 -0
  315. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  316. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js +2 -0
  317. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  318. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  319. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  320. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  321. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  322. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  323. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  324. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  325. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  326. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +2 -0
  327. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  328. package/lib/cjs/src/uniswap/di/uniswapTypes.js +2 -0
  329. package/lib/cjs/src/uniswap/di/uniswapTypes.js.map +7 -0
  330. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +2 -0
  331. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  332. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  333. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  334. package/lib/esm/package.json +41 -37
  335. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  336. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  337. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  338. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  339. package/lib/esm/src/DefaultContextModule.js +1 -1
  340. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  341. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  342. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  343. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  344. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  345. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  346. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  347. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  348. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  349. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  350. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  351. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  352. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  353. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  354. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  355. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  356. package/lib/esm/src/config/di/configModuleFactory.js +1 -1
  357. package/lib/esm/src/config/di/configModuleFactory.js.map +3 -3
  358. package/lib/esm/src/config/di/configTypes.js +1 -1
  359. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  360. package/lib/esm/src/config/model/ContextModuleBuildArgs.js +1 -0
  361. package/lib/esm/src/di.js +1 -1
  362. package/lib/esm/src/di.js.map +3 -3
  363. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js +1 -0
  364. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  365. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  366. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  367. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  368. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  369. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +1 -0
  370. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  371. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  372. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  373. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  374. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  375. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  376. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  377. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  378. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  379. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js +1 -0
  380. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  381. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  382. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  383. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  384. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  385. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  386. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  387. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  388. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  389. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  390. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  391. package/lib/esm/src/index.js +1 -1
  392. package/lib/esm/src/index.js.map +2 -2
  393. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  394. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  395. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  396. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  397. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  398. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  399. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  400. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  401. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  402. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  403. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  404. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  405. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  406. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  407. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  408. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  409. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  410. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  411. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  412. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  413. package/lib/esm/src/pki/data/PkiCertificateDataSource.js +1 -0
  414. package/lib/esm/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  415. package/lib/esm/src/pki/data/pkiDataSourceTypes.js +1 -0
  416. package/lib/esm/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  417. package/lib/esm/src/pki/di/pkiModuleFactory.js +2 -0
  418. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +7 -0
  419. package/lib/esm/src/pki/di/pkiTypes.js +2 -0
  420. package/lib/esm/src/pki/di/pkiTypes.js.map +7 -0
  421. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  422. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  423. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  424. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  425. package/lib/esm/src/pki/domain/PkiCertificateLoader.js +1 -0
  426. package/lib/esm/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  427. package/lib/esm/src/pki/model/KeyId.js +2 -0
  428. package/lib/esm/src/pki/model/KeyId.js.map +7 -0
  429. package/lib/esm/src/pki/model/KeyUsage.js +2 -0
  430. package/lib/esm/src/pki/model/KeyUsage.js.map +7 -0
  431. package/lib/esm/src/pki/model/PkiCertificate.js +1 -0
  432. package/lib/esm/src/pki/model/PkiCertificate.js.map +7 -0
  433. package/lib/esm/src/pki/model/PkiCertificateInfo.js +1 -0
  434. package/lib/esm/src/pki/model/PkiCertificateInfo.js.map +7 -0
  435. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  436. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  437. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  438. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  439. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  440. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  441. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  442. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  443. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  444. package/lib/esm/src/proxy/data/ProxyDataSource.js.map +7 -0
  445. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js +1 -0
  446. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  447. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js +1 -0
  448. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  449. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  450. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  451. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  452. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  453. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  454. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  455. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  456. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  457. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  458. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  459. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  460. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  461. package/lib/esm/src/proxy/model/ProxyDelegateCall.js +1 -0
  462. package/lib/esm/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  463. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  464. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  465. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  466. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  467. package/lib/esm/src/safe/data/SafeAccountDataSource.js +1 -0
  468. package/lib/esm/src/safe/data/SafeAccountDataSource.js.map +7 -0
  469. package/lib/esm/src/safe/data/dto/SafeAccountDto.js +1 -0
  470. package/lib/esm/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  471. package/lib/esm/src/safe/di/safeModuleFactory.js +2 -0
  472. package/lib/esm/src/safe/di/safeModuleFactory.js.map +7 -0
  473. package/lib/esm/src/safe/di/safeModuleFactory.test.js +2 -0
  474. package/lib/esm/src/safe/di/safeModuleFactory.test.js.map +7 -0
  475. package/lib/esm/src/safe/di/safeTypes.js +2 -0
  476. package/lib/esm/src/safe/di/safeTypes.js.map +7 -0
  477. package/lib/esm/src/safe/domain/SafeAddressLoader.js +2 -0
  478. package/lib/esm/src/safe/domain/SafeAddressLoader.js.map +7 -0
  479. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js +2 -0
  480. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  481. package/lib/esm/src/shared/constant/HttpHeaders.js +2 -0
  482. package/lib/esm/src/shared/constant/HttpHeaders.js.map +7 -0
  483. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  484. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  485. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  486. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  487. package/lib/esm/src/shared/model/SignatureTags.js +2 -0
  488. package/lib/esm/src/shared/model/SignatureTags.js.map +7 -0
  489. package/lib/esm/src/shared/model/SolanaContextTypes.js +2 -0
  490. package/lib/esm/src/shared/model/SolanaContextTypes.js.map +7 -0
  491. package/lib/esm/src/shared/model/SolanaTransactionContext.js +1 -0
  492. package/lib/esm/src/shared/model/SolanaTransactionContext.js.map +7 -0
  493. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  494. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  495. package/lib/esm/src/shared/utils/HexStringUtils.js +1 -1
  496. package/lib/esm/src/shared/utils/HexStringUtils.js.map +3 -3
  497. package/lib/esm/src/shared/utils/HexStringUtils.test.js +2 -0
  498. package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +7 -0
  499. package/lib/esm/src/shared/utils/KeyUsageMapper.js +2 -0
  500. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +7 -0
  501. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +2 -0
  502. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  503. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  504. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  505. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  506. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  507. package/lib/esm/src/solana/data/SolanaDataSource.js +1 -0
  508. package/lib/esm/src/solana/data/SolanaDataSource.js.map +7 -0
  509. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js +2 -0
  510. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  511. package/lib/esm/src/solana/di/solanaContextTypes.js +2 -0
  512. package/lib/esm/src/solana/di/solanaContextTypes.js.map +7 -0
  513. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  514. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  515. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  516. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  517. package/lib/esm/src/solana/domain/SolanaContextLoader.js +1 -0
  518. package/lib/esm/src/solana/domain/SolanaContextLoader.js.map +7 -0
  519. package/lib/esm/src/solana/domain/solanaContextTypes.js +1 -0
  520. package/lib/esm/src/solana/domain/solanaContextTypes.js.map +7 -0
  521. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  522. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  523. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  524. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  525. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js +1 -0
  526. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  527. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  528. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  529. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  530. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  531. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  532. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  533. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  534. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  535. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  536. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  537. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  538. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  539. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js +1 -0
  540. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  541. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js +2 -0
  542. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  543. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js +2 -0
  544. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  545. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  546. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  547. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  548. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  549. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  550. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
  551. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  552. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  553. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  554. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  555. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  556. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  557. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  558. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  559. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  560. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  561. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  562. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  563. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  564. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  565. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  566. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  567. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  568. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  569. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  570. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  571. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  572. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  573. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js +1 -0
  574. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  575. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js +1 -0
  576. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  577. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js +1 -0
  578. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  579. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js +1 -0
  580. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  581. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  582. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  583. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js +2 -0
  584. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  585. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  586. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  587. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  588. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  589. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  590. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  591. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  592. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  593. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  594. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  595. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  596. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  597. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  598. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  599. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  600. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  601. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  602. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  603. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  604. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  605. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  606. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  607. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  608. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  609. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  610. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  611. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  612. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  613. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +1 -1
  614. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  615. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  616. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  617. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  618. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  619. package/lib/esm/src/uniswap/constants/uniswap.js +2 -0
  620. package/lib/esm/src/uniswap/constants/uniswap.js.map +7 -0
  621. package/lib/esm/src/uniswap/constants/weth.js +2 -0
  622. package/lib/esm/src/uniswap/constants/weth.js.map +7 -0
  623. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js +1 -0
  624. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  625. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js +1 -0
  626. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  627. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  628. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  629. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  630. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  631. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  632. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  633. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  634. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  635. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +2 -0
  636. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  637. package/lib/esm/src/uniswap/di/uniswapTypes.js +2 -0
  638. package/lib/esm/src/uniswap/di/uniswapTypes.js.map +7 -0
  639. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +2 -0
  640. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  641. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  642. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  643. package/lib/types/src/ContextModule.d.ts +6 -4
  644. package/lib/types/src/ContextModule.d.ts.map +1 -1
  645. package/lib/types/src/ContextModuleBuilder.d.ts +34 -3
  646. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  647. package/lib/types/src/DefaultContextModule.d.ts +10 -4
  648. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  649. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts +13 -0
  650. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  651. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts +24 -0
  652. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  653. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  654. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  655. package/lib/types/src/{transaction/data → calldata/data/dto}/CalldataDto.d.ts +10 -1
  656. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  657. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  658. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  659. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  660. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  661. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  662. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  663. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  664. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  665. package/lib/types/src/config/di/configModuleFactory.d.ts.map +1 -1
  666. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  667. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  668. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +4 -0
  669. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -0
  670. package/lib/types/src/config/model/ContextModuleConfig.d.ts +18 -0
  671. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  672. package/lib/types/src/di.d.ts.map +1 -1
  673. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts +6 -0
  674. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts.map +1 -0
  675. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +13 -0
  676. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -0
  677. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts +2 -0
  678. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts.map +1 -0
  679. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts +14 -0
  680. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts.map +1 -0
  681. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts +3 -0
  682. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts.map +1 -0
  683. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts +5 -0
  684. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts.map +1 -0
  685. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +19 -0
  686. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -0
  687. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts +2 -0
  688. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts.map +1 -0
  689. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts +16 -0
  690. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts.map +1 -0
  691. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  692. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +20 -5
  693. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  694. package/lib/types/src/index.d.ts +46 -1
  695. package/lib/types/src/index.d.ts.map +1 -1
  696. package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -0
  697. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  698. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  699. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  700. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  701. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  702. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  703. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  704. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  705. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  706. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  707. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts +12 -0
  708. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -0
  709. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts +2 -0
  710. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts.map +1 -0
  711. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts +7 -0
  712. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts.map +1 -0
  713. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts +23 -0
  714. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts.map +1 -0
  715. package/lib/types/src/pki/di/pkiModuleFactory.d.ts +3 -0
  716. package/lib/types/src/pki/di/pkiModuleFactory.d.ts.map +1 -0
  717. package/lib/types/src/pki/di/pkiTypes.d.ts +5 -0
  718. package/lib/types/src/pki/di/pkiTypes.d.ts.map +1 -0
  719. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts +10 -0
  720. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -0
  721. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts +2 -0
  722. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts.map +1 -0
  723. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts +6 -0
  724. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts.map +1 -0
  725. package/lib/types/src/pki/model/KeyId.d.ts +14 -0
  726. package/lib/types/src/pki/model/KeyId.d.ts.map +1 -0
  727. package/lib/types/src/pki/model/KeyUsage.d.ts +16 -0
  728. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -0
  729. package/lib/types/src/pki/model/PkiCertificate.d.ts +5 -0
  730. package/lib/types/src/pki/model/PkiCertificate.d.ts.map +1 -0
  731. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +6 -0
  732. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -0
  733. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  734. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  735. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts +2 -0
  736. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  737. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  738. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  739. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  740. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  741. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  742. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  743. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts +5 -0
  744. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  745. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts +6 -0
  746. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  747. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  748. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  749. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  750. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  751. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  752. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  753. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  754. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  755. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  756. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  757. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  758. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  759. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  760. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  761. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +11 -0
  762. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -0
  763. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts +2 -0
  764. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts.map +1 -0
  765. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts +20 -0
  766. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts.map +1 -0
  767. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts +10 -0
  768. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts.map +1 -0
  769. package/lib/types/src/safe/di/safeModuleFactory.d.ts +3 -0
  770. package/lib/types/src/safe/di/safeModuleFactory.d.ts.map +1 -0
  771. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts +2 -0
  772. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts.map +1 -0
  773. package/lib/types/src/safe/di/safeTypes.d.ts +5 -0
  774. package/lib/types/src/safe/di/safeTypes.d.ts.map +1 -0
  775. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts +19 -0
  776. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts.map +1 -0
  777. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts +2 -0
  778. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts.map +1 -0
  779. package/lib/types/src/shared/constant/HttpHeaders.d.ts +3 -0
  780. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -0
  781. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +25 -0
  782. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  783. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  784. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  785. package/lib/types/src/shared/model/ClearSignContext.d.ts +78 -24
  786. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  787. package/lib/types/src/shared/model/SignatureTags.d.ts +3 -0
  788. package/lib/types/src/shared/model/SignatureTags.d.ts.map +1 -0
  789. package/lib/types/src/shared/model/SolanaContextTypes.d.ts +47 -0
  790. package/lib/types/src/shared/model/SolanaContextTypes.d.ts.map +1 -0
  791. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +13 -0
  792. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -0
  793. package/lib/types/src/shared/model/TransactionSubset.d.ts +4 -1
  794. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  795. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +48 -4
  796. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  797. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  798. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  799. package/lib/types/src/shared/utils/HexStringUtils.d.ts +1 -0
  800. package/lib/types/src/shared/utils/HexStringUtils.d.ts.map +1 -1
  801. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts +2 -0
  802. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts.map +1 -0
  803. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +5 -0
  804. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -0
  805. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts +2 -0
  806. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts.map +1 -0
  807. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +13 -0
  808. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -0
  809. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts +2 -0
  810. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts.map +1 -0
  811. package/lib/types/src/solana/data/SolanaDataSource.d.ts +9 -0
  812. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -0
  813. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts +3 -0
  814. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts.map +1 -0
  815. package/lib/types/src/solana/di/solanaContextTypes.d.ts +5 -0
  816. package/lib/types/src/solana/di/solanaContextTypes.d.ts.map +1 -0
  817. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +15 -0
  818. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -0
  819. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts +2 -0
  820. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts.map +1 -0
  821. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts +5 -0
  822. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts.map +1 -0
  823. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +29 -0
  824. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -0
  825. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts +9 -0
  826. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts.map +1 -0
  827. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts +2 -0
  828. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts.map +1 -0
  829. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts +13 -0
  830. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts.map +1 -0
  831. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts +3 -0
  832. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts.map +1 -0
  833. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts +5 -0
  834. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts.map +1 -0
  835. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts +16 -0
  836. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts.map +1 -0
  837. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts +2 -0
  838. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts.map +1 -0
  839. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts +9 -0
  840. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts.map +1 -0
  841. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts +2 -0
  842. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts.map +1 -0
  843. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts +44 -0
  844. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts.map +1 -0
  845. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts +5 -0
  846. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts.map +1 -0
  847. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts +3 -0
  848. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts.map +1 -0
  849. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts +22 -0
  850. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts.map +1 -0
  851. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts +2 -0
  852. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts.map +1 -0
  853. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  854. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  855. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  856. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  857. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  858. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  859. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  860. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  861. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  862. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  863. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +10 -0
  864. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -0
  865. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts +2 -0
  866. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts.map +1 -0
  867. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +10 -0
  868. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -0
  869. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts +2 -0
  870. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts.map +1 -0
  871. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts +14 -0
  872. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts.map +1 -0
  873. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts +28 -0
  874. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts.map +1 -0
  875. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts +5 -0
  876. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts.map +1 -0
  877. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts +5 -0
  878. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts.map +1 -0
  879. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts +3 -0
  880. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts.map +1 -0
  881. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts +7 -0
  882. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts.map +1 -0
  883. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +19 -0
  884. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -0
  885. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts +2 -0
  886. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts.map +1 -0
  887. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +18 -0
  888. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -0
  889. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts +2 -0
  890. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts.map +1 -0
  891. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  892. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  893. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +9 -2
  894. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  895. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  896. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  897. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  898. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  899. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  900. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  901. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  902. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  903. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  904. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  905. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  906. package/lib/types/src/typed-data/data/FiltersDto.d.ts +48 -2
  907. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  908. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +5 -0
  909. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  910. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  911. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  912. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  913. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  914. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  915. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  916. package/lib/types/src/uniswap/constants/uniswap.d.ts +20 -0
  917. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -0
  918. package/lib/types/src/uniswap/constants/weth.d.ts +20 -0
  919. package/lib/types/src/uniswap/constants/weth.d.ts.map +1 -0
  920. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts +5 -0
  921. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts.map +1 -0
  922. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts +6 -0
  923. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts.map +1 -0
  924. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts +14 -0
  925. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts.map +1 -0
  926. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts +2 -0
  927. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts.map +1 -0
  928. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts +5 -0
  929. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts.map +1 -0
  930. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts +2 -0
  931. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts.map +1 -0
  932. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts +3 -0
  933. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts.map +1 -0
  934. package/lib/types/src/uniswap/di/uniswapTypes.d.ts +6 -0
  935. package/lib/types/src/uniswap/di/uniswapTypes.d.ts.map +1 -0
  936. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +104 -0
  937. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -0
  938. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts +2 -0
  939. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts.map +1 -0
  940. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  941. package/package.json +39 -35
  942. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  943. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  944. package/lib/cjs/src/transaction/data/CalldataDto.js +0 -2
  945. package/lib/cjs/src/transaction/data/CalldataDto.js.map +0 -7
  946. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  947. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  948. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  949. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  950. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  951. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  952. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  953. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  954. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  955. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  956. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  957. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  958. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  959. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  960. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  961. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  962. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  963. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  964. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  965. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  966. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  967. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  968. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  969. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  970. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  971. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  972. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  973. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  974. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -19
  975. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  976. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +0 -1
  977. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +0 -22
  978. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  979. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  980. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  981. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +0 -12
  982. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  983. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  984. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  985. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
  986. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  987. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -10
  988. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  989. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  990. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  991. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  992. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js +0 -0
  993. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js.map +0 -0
  994. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → config/model/ContextModuleBuildArgs.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/trusted-name/domain/TrustedNameContextFieldLoader.test.ts"],
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 { TrustedNameContextFieldLoader } from \"@/trusted-name/domain/TrustedNameContextFieldLoader\";\n\ndescribe(\"TrustedNameContextFieldLoader\", () => {\n const mockTrustedNameDataSource: TrustedNameDataSource = {\n getTrustedNamePayload: vi.fn(),\n getDomainNamePayload: vi.fn(),\n };\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n const trustedNameContextFieldLoader = new TrustedNameContextFieldLoader(\n mockTrustedNameDataSource,\n mockCertificateLoader,\n );\n\n const mockTransactionField = {\n chainId: 1,\n address: \"0x1234567890abcdef\",\n challenge: \"test-challenge\",\n types: [\"contract\", \"token\"],\n sources: [\"ledger\", \"ens\"],\n deviceModelId: DeviceModelId.STAX,\n };\n\n const mockTrustedNamePayload = {\n data: \"0x123456789abcdef0\",\n keyId: \"testKeyId\",\n keyUsage: \"testKeyUsage\",\n };\n\n const mockCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3, 4]),\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"canHandle\", () => {\n it(\"should return true for valid trusted name field\", () => {\n // GIVEN\n const validField = {\n chainId: 1,\n address: \"0x1234567890abcdef\",\n challenge: \"test-challenge\",\n types: [\"contract\", \"token\"],\n sources: [\"ledger\", \"ens\"],\n deviceModelId: DeviceModelId.STAX,\n };\n\n // THEN\n expect(\n trustedNameContextFieldLoader.canHandle(\n validField,\n ClearSignContextType.TRUSTED_NAME,\n ),\n ).toBe(true);\n });\n\n describe(\"should return false for invalid inputs\", () => {\n const invalidInputs = [\n { name: \"null\", value: null },\n { name: \"undefined\", value: undefined },\n { name: \"string\", value: \"invalid\" },\n { name: \"number\", value: 123 },\n { name: \"boolean\", value: true },\n { name: \"array\", value: [] },\n { name: \"empty object\", value: {} },\n {\n name: \"object missing chainId\",\n value: {\n address: \"0x123\",\n challenge: \"test\",\n types: [\"contract\"],\n sources: [\"ledger\"],\n },\n },\n {\n name: \"object missing address\",\n value: {\n chainId: 1,\n challenge: \"test\",\n types: [\"contract\"],\n sources: [\"ledger\"],\n },\n },\n {\n name: \"object missing challenge\",\n value: {\n chainId: 1,\n address: \"0x123\",\n types: [\"contract\"],\n sources: [\"ledger\"],\n },\n },\n {\n name: \"object missing types\",\n value: {\n chainId: 1,\n address: \"0x123\",\n challenge: \"test\",\n sources: [\"ledger\"],\n },\n },\n {\n name: \"object missing sources\",\n value: {\n chainId: 1,\n address: \"0x123\",\n challenge: \"test\",\n types: [\"contract\"],\n },\n },\n {\n name: \"object missing device model\",\n value: {\n chainId: 1,\n address: \"0x1234567890abcdef\",\n challenge: \"test-challenge\",\n types: [\"contract\", \"token\"],\n sources: [\"ledger\", \"ens\"],\n },\n },\n ];\n\n test.each(invalidInputs)(\"$name\", ({ value }) => {\n expect(\n trustedNameContextFieldLoader.canHandle(\n value,\n ClearSignContextType.TRUSTED_NAME,\n ),\n ).toBe(false);\n });\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(\n trustedNameContextFieldLoader.canHandle(\n mockTransactionField,\n ClearSignContextType.TOKEN,\n ),\n ).toBe(false);\n });\n });\n\n describe(\"loadField\", () => {\n it(\"should return error context when trusted name data source fails\", async () => {\n // GIVEN\n const error = new Error(\"Trusted name data source error\");\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Left(error));\n\n // WHEN\n const result =\n await trustedNameContextFieldLoader.loadField(mockTransactionField);\n\n // THEN\n expect(\n mockTrustedNameDataSource.getTrustedNamePayload,\n ).toHaveBeenCalledWith({\n chainId: mockTransactionField.chainId,\n address: mockTransactionField.address,\n challenge: mockTransactionField.challenge,\n types: mockTransactionField.types,\n sources: mockTransactionField.sources,\n });\n expect(mockCertificateLoader.loadCertificate).not.toHaveBeenCalled();\n expect(result).toEqual({\n type: ClearSignContextType.ERROR,\n error: error,\n });\n });\n\n it(\"should return trusted name context when successful\", async () => {\n // GIVEN\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Right(mockTrustedNamePayload));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n\n // WHEN\n const result =\n await trustedNameContextFieldLoader.loadField(mockTransactionField);\n\n // THEN\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: \"testKeyId\",\n keyUsage: \"testKeyUsage\",\n targetDevice: mockTransactionField.deviceModelId,\n });\n expect(\n mockTrustedNameDataSource.getTrustedNamePayload,\n ).toHaveBeenCalledWith({\n chainId: mockTransactionField.chainId,\n address: mockTransactionField.address,\n challenge: mockTransactionField.challenge,\n types: mockTransactionField.types,\n sources: mockTransactionField.sources,\n });\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: mockTrustedNamePayload.data,\n certificate: mockCertificate,\n });\n });\n\n it(\"should handle different chain IDs and addresses correctly\", async () => {\n // GIVEN\n const customField = {\n ...mockTransactionField,\n chainId: 137,\n address: \"0xdeadbeef\",\n challenge: \"custom-challenge\",\n };\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Right(mockTrustedNamePayload));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await trustedNameContextFieldLoader.loadField(customField);\n\n // THEN\n expect(\n mockTrustedNameDataSource.getTrustedNamePayload,\n ).toHaveBeenCalledWith({\n chainId: 137,\n address: \"0xdeadbeef\",\n challenge: \"custom-challenge\",\n types: mockTransactionField.types,\n sources: mockTransactionField.sources,\n });\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: mockTrustedNamePayload.data,\n });\n });\n\n it(\"should handle different types and sources correctly\", async () => {\n // GIVEN\n const customField = {\n ...mockTransactionField,\n types: [\"wallet\", \"exchange\"],\n sources: [\"coingecko\", \"1inch\"],\n };\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Right(mockTrustedNamePayload));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await trustedNameContextFieldLoader.loadField(customField);\n\n // THEN\n expect(\n mockTrustedNameDataSource.getTrustedNamePayload,\n ).toHaveBeenCalledWith({\n chainId: mockTransactionField.chainId,\n address: mockTransactionField.address,\n challenge: mockTransactionField.challenge,\n types: [\"wallet\", \"exchange\"],\n sources: [\"coingecko\", \"1inch\"],\n });\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: mockTrustedNamePayload.data,\n });\n });\n\n it(\"should preserve error message from trusted name data source\", async () => {\n // GIVEN\n const specificError = new Error(\"Network timeout error\");\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Left(specificError));\n\n // WHEN\n const result =\n await trustedNameContextFieldLoader.loadField(mockTransactionField);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.ERROR,\n error: specificError,\n });\n });\n\n it(\"should handle empty trusted name payload\", async () => {\n // GIVEN\n const emptyPayload = {\n ...mockTrustedNamePayload,\n data: \"\",\n };\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Right(emptyPayload));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result =\n await trustedNameContextFieldLoader.loadField(mockTransactionField);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: emptyPayload.data,\n });\n });\n\n it(\"should handle empty types and sources arrays\", async () => {\n // GIVEN\n const fieldWithEmptyArrays = {\n ...mockTransactionField,\n types: [],\n sources: [],\n };\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Right(mockTrustedNamePayload));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result =\n await trustedNameContextFieldLoader.loadField(fieldWithEmptyArrays);\n\n // THEN\n expect(\n mockTrustedNameDataSource.getTrustedNamePayload,\n ).toHaveBeenCalledWith({\n chainId: mockTransactionField.chainId,\n address: mockTransactionField.address,\n challenge: mockTransactionField.challenge,\n types: [],\n sources: [],\n });\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: mockTrustedNamePayload.data,\n });\n });\n\n it(\"should handle single type and source\", async () => {\n // GIVEN\n const fieldWithSingleElements = {\n ...mockTransactionField,\n types: [\"contract\"],\n sources: [\"ens\"],\n };\n vi.spyOn(\n mockTrustedNameDataSource,\n \"getTrustedNamePayload\",\n ).mockResolvedValue(Right(mockTrustedNamePayload));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await trustedNameContextFieldLoader.loadField(\n fieldWithSingleElements,\n );\n\n // THEN\n expect(\n mockTrustedNameDataSource.getTrustedNamePayload,\n ).toHaveBeenCalledWith({\n chainId: mockTransactionField.chainId,\n address: mockTransactionField.address,\n challenge: mockTransactionField.challenge,\n types: [\"contract\"],\n sources: [\"ens\"],\n });\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: mockTrustedNamePayload.data,\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_purify_ts", "import_ClearSignContext", "import_TrustedNameContextFieldLoader", "mockTrustedNameDataSource", "mockCertificateLoader", "trustedNameContextFieldLoader", "mockTransactionField", "mockTrustedNamePayload", "mockCertificate", "validField", "invalidInputs", "value", "error", "result", "customField", "specificError", "emptyPayload", "fieldWithEmptyArrays", "fieldWithSingleElements"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var S=(o,t)=>{for(var a in t)l(o,a,{get:t[a],enumerable:!0})},T=(o,t,a,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of g(t))!C.call(o,r)&&r!==a&&l(o,r,{get:()=>t[r],enumerable:!(e=m(t,r))||e.enumerable});return o};var R=o=>T(l({},"__esModule",{value:!0}),o),p=(o,t,a,e)=>{for(var r=e>1?void 0:e?m(t,a):t,n=o.length-1,d;n>=0;n--)(d=o[n])&&(r=(e?d(t,a,r):d(r))||r);return e&&r&&l(t,a,r),r},u=(o,t)=>(a,e)=>t(a,e,o);var h={};S(h,{TrustedNameContextLoader:()=>s});module.exports=R(h);var c=require("inversify"),i=require("../../shared/model/ClearSignContext"),y=require("../../trusted-name/di/trustedNameTypes");let s=class{_dataSource;constructor(t){this._dataSource=t}async load(t){const{domain:a,challenge:e}=t;return!a||!e?[]:this.isDomainValid(a)?[(await this._dataSource.getDomainNamePayload({domain:a,challenge:e})).caseOf({Left:n=>({type:i.ClearSignContextType.ERROR,error:n}),Right:n=>({type:i.ClearSignContextType.TRUSTED_NAME,payload:n})})]:[{type:i.ClearSignContextType.ERROR,error:new Error("[ContextModule] TrustedNameLoader: invalid domain")}]}async loadField(t){return t.type!==i.ClearSignContextType.TRUSTED_NAME?null:(await this._dataSource.getTrustedNamePayload({address:t.address,challenge:t.challenge,types:t.types,sources:t.sources})).caseOf({Left:e=>({type:i.ClearSignContextType.ERROR,error:e}),Right:e=>({type:i.ClearSignContextType.TRUSTED_NAME,payload:e})})}isDomainValid(t){const a=t.length>0&&Number(t.length)<30,e=new RegExp("^[a-zA-Z0-9\\-\\_\\.]+$").test(t);return a&&e}};s=p([(0,c.injectable)(),u(0,(0,c.inject)(y.trustedNameTypes.TrustedNameDataSource))],s);0&&(module.exports={TrustedNameContextLoader});
1
+ "use strict";var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var x=(o,e)=>{for(var t in e)l(o,t,{get:e[t],enumerable:!0})},D=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of T(e))!I.call(o,r)&&r!==t&&l(o,r,{get:()=>e[r],enumerable:!(a=g(e,r))||a.enumerable});return o};var v=o=>D(l({},"__esModule",{value:!0}),o),u=(o,e,t,a)=>{for(var r=a>1?void 0:a?g(e,t):e,i=o.length-1,s;i>=0;i--)(s=o[i])&&(r=(a?s(e,t,r):s(r))||r);return a&&r&&l(e,t,r),r},p=(o,e)=>(t,a)=>e(t,a,o);var P={};x(P,{TrustedNameContextLoader:()=>n});module.exports=v(P);var c=require("inversify"),f=require("../../pki/di/pkiTypes"),d=require("../../shared/model/ClearSignContext"),y=require("../../trusted-name/di/trustedNameTypes");const N=[d.ClearSignContextType.TRUSTED_NAME];let n=class{constructor(e,t){this.certificateLoader=t;this._dataSource=e}_dataSource;canHandle(e,t){return typeof e=="object"&&e!==null&&"chainId"in e&&"domain"in e&&"challenge"in e&&"deviceModelId"in e&&e.deviceModelId!==void 0&&typeof e.chainId=="number"&&typeof e.domain=="string"&&e.domain.length>0&&typeof e.challenge=="string"&&e.challenge.length>0&&N.every(a=>t.includes(a))}async load(e){const{chainId:t,domain:a,challenge:r,deviceModelId:i}=e;return this.isDomainValid(a)?[await(await this._dataSource.getDomainNamePayload({chainId:t,domain:a,challenge:r})).caseOf({Left:m=>Promise.resolve({type:d.ClearSignContextType.ERROR,error:m}),Right:async({data:m,keyId:C,keyUsage:h})=>{const S=await this.certificateLoader.loadCertificate({keyId:C,keyUsage:h,targetDevice:i});return{type:d.ClearSignContextType.TRUSTED_NAME,payload:m,certificate:S}}})]:[{type:d.ClearSignContextType.ERROR,error:new Error("[ContextModule] TrustedNameLoader: invalid domain")}]}isDomainValid(e){const t=e.length>0&&Number(e.length)<30,a=new RegExp("^[a-zA-Z0-9\\-\\_\\.]+$").test(e);return t&&a}};n=u([(0,c.injectable)(),p(0,(0,c.inject)(y.trustedNameTypes.TrustedNameDataSource)),p(1,(0,c.inject)(f.pkiTypes.PkiCertificateLoader))],n);0&&(module.exports={TrustedNameContextLoader});
2
2
  //# sourceMappingURL=TrustedNameContextLoader.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/trusted-name/domain/TrustedNameContextLoader.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport {\n TransactionContext,\n TransactionFieldContext,\n} from \"@/shared/model/TransactionContext\";\nimport type { TrustedNameDataSource } from \"@/trusted-name/data/TrustedNameDataSource\";\nimport { trustedNameTypes } from \"@/trusted-name/di/trustedNameTypes\";\n\n@injectable()\nexport class TrustedNameContextLoader implements ContextLoader {\n private _dataSource: TrustedNameDataSource;\n\n constructor(\n @inject(trustedNameTypes.TrustedNameDataSource)\n dataSource: TrustedNameDataSource,\n ) {\n this._dataSource = dataSource;\n }\n\n async load(\n transactionContext: TransactionContext,\n ): Promise<ClearSignContext[]> {\n const { domain, challenge } = transactionContext;\n\n if (!domain || !challenge) {\n return [];\n }\n\n if (!this.isDomainValid(domain)) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"[ContextModule] TrustedNameLoader: invalid domain\"),\n },\n ];\n }\n\n const payload = await this._dataSource.getDomainNamePayload({\n domain: domain,\n challenge: challenge,\n });\n\n return [\n payload.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error: error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: value,\n }),\n }),\n ];\n }\n\n async loadField(\n field: TransactionFieldContext,\n ): Promise<ClearSignContext | null> {\n if (field.type !== ClearSignContextType.TRUSTED_NAME) {\n return null;\n }\n const payload = await this._dataSource.getTrustedNamePayload({\n address: field.address,\n challenge: field.challenge,\n types: field.types,\n sources: field.sources,\n });\n return payload.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: value,\n }),\n });\n }\n\n private isDomainValid(domain: string) {\n const lengthIsValid = domain.length > 0 && Number(domain.length) < 30;\n const containsOnlyValidChars = new RegExp(\"^[a-zA-Z0-9\\\\-\\\\_\\\\.]+$\").test(\n domain,\n );\n\n return lengthIsValid && containsOnlyValidChars;\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAGnCC,EAGO,2CAMPC,EAAiC,8CAG1B,IAAMC,EAAN,KAAwD,CACrD,YAER,YAEEC,EACA,CACA,KAAK,YAAcA,CACrB,CAEA,MAAM,KACJC,EAC6B,CAC7B,KAAM,CAAE,OAAAC,EAAQ,UAAAC,CAAU,EAAIF,EAE9B,MAAI,CAACC,GAAU,CAACC,EACP,CAAC,EAGL,KAAK,cAAcD,CAAM,EAcvB,EALS,MAAM,KAAK,YAAY,qBAAqB,CAC1D,OAAQA,EACR,UAAWC,CACb,CAAC,GAGS,OAAO,CACb,KAAOC,IAA6B,CAClC,KAAM,uBAAqB,MAC3B,MAAOA,CACT,GACA,MAAQC,IAA6B,CACnC,KAAM,uBAAqB,aAC3B,QAASA,CACX,EACF,CAAC,CACH,EAxBS,CACL,CACE,KAAM,uBAAqB,MAC3B,MAAO,IAAI,MAAM,mDAAmD,CACtE,CACF,CAoBJ,CAEA,MAAM,UACJC,EACkC,CAClC,OAAIA,EAAM,OAAS,uBAAqB,aAC/B,MAEO,MAAM,KAAK,YAAY,sBAAsB,CAC3D,QAASA,EAAM,QACf,UAAWA,EAAM,UACjB,MAAOA,EAAM,MACb,QAASA,EAAM,OACjB,CAAC,GACc,OAAO,CACpB,KAAOF,IAA6B,CAClC,KAAM,uBAAqB,MAC3B,MAAAA,CACF,GACA,MAAQC,IAA6B,CACnC,KAAM,uBAAqB,aAC3B,QAASA,CACX,EACF,CAAC,CACH,CAEQ,cAAcH,EAAgB,CACpC,MAAMK,EAAgBL,EAAO,OAAS,GAAK,OAAOA,EAAO,MAAM,EAAI,GAC7DM,EAAyB,IAAI,OAAO,yBAAyB,EAAE,KACnEN,CACF,EAEA,OAAOK,GAAiBC,CAC1B,CACF,EA/EaT,EAANU,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,mBAAiB,qBAAqB,IAJrCX",
6
- "names": ["TrustedNameContextLoader_exports", "__export", "TrustedNameContextLoader", "__toCommonJS", "import_inversify", "import_ClearSignContext", "import_trustedNameTypes", "TrustedNameContextLoader", "dataSource", "transactionContext", "domain", "challenge", "error", "value", "field", "lengthIsValid", "containsOnlyValidChars", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport type { TrustedNameDataSource } from \"@/trusted-name/data/TrustedNameDataSource\";\nimport { trustedNameTypes } from \"@/trusted-name/di/trustedNameTypes\";\n\nexport type TrustedNameContextInput = {\n chainId: number;\n domain: string;\n challenge: string;\n deviceModelId: DeviceModelId;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.TRUSTED_NAME,\n];\n\n@injectable()\nexport class TrustedNameContextLoader\n implements ContextLoader<TrustedNameContextInput>\n{\n private _dataSource: TrustedNameDataSource;\n\n constructor(\n @inject(trustedNameTypes.TrustedNameDataSource)\n dataSource: TrustedNameDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private certificateLoader: PkiCertificateLoader,\n ) {\n this._dataSource = dataSource;\n }\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is TrustedNameContextInput {\n return (\n typeof input === \"object\" &&\n input !== null &&\n \"chainId\" in input &&\n \"domain\" in input &&\n \"challenge\" in input &&\n \"deviceModelId\" in input &&\n input.deviceModelId !== undefined &&\n typeof input.chainId === \"number\" &&\n typeof input.domain === \"string\" &&\n input.domain.length > 0 &&\n typeof input.challenge === \"string\" &&\n input.challenge.length > 0 &&\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type))\n );\n }\n\n async load(input: TrustedNameContextInput): Promise<ClearSignContext[]> {\n const { chainId, domain, challenge, deviceModelId } = input;\n\n if (!this.isDomainValid(domain)) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"[ContextModule] TrustedNameLoader: invalid domain\"),\n },\n ];\n }\n\n const payload = await this._dataSource.getDomainNamePayload({\n chainId,\n domain,\n challenge,\n });\n const response = await payload.caseOf({\n Left: (error): Promise<ClearSignContext> =>\n Promise.resolve({\n type: ClearSignContextType.ERROR,\n error: error,\n }),\n Right: async ({ data, keyId, keyUsage }): Promise<ClearSignContext> => {\n const certificate = await this.certificateLoader.loadCertificate({\n keyId,\n keyUsage,\n targetDevice: deviceModelId,\n });\n return {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: data,\n certificate,\n };\n },\n });\n\n return [response];\n }\n\n private isDomainValid(domain: string) {\n const lengthIsValid = domain.length > 0 && Number(domain.length) < 30;\n const containsOnlyValidChars = new RegExp(\"^[a-zA-Z0-9\\\\-\\\\_\\\\.]+$\").test(\n domain,\n );\n\n return lengthIsValid && containsOnlyValidChars;\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAmC,qBAEnCC,EAAyB,6BAGzBC,EAGO,2CAEPC,EAAiC,8CASjC,MAAMC,EAA0C,CAC9C,uBAAqB,YACvB,EAGO,IAAMC,EAAN,KAEP,CAGE,YAEEC,EAEQC,EACR,CADQ,uBAAAA,EAER,KAAK,YAAcD,CACrB,CATQ,YAWR,UACEE,EACAC,EACkC,CAClC,OACE,OAAOD,GAAU,UACjBA,IAAU,MACV,YAAaA,GACb,WAAYA,GACZ,cAAeA,GACf,kBAAmBA,GACnBA,EAAM,gBAAkB,QACxB,OAAOA,EAAM,SAAY,UACzB,OAAOA,EAAM,QAAW,UACxBA,EAAM,OAAO,OAAS,GACtB,OAAOA,EAAM,WAAc,UAC3BA,EAAM,UAAU,OAAS,GACzBJ,EAAgB,MAAOM,GAASD,EAAc,SAASC,CAAI,CAAC,CAEhE,CAEA,MAAM,KAAKF,EAA6D,CACtE,KAAM,CAAE,QAAAG,EAAS,OAAAC,EAAQ,UAAAC,EAAW,cAAAC,CAAc,EAAIN,EAEtD,OAAK,KAAK,cAAcI,CAAM,EAkCvB,CApBU,MALD,MAAM,KAAK,YAAY,qBAAqB,CAC1D,QAAAD,EACA,OAAAC,EACA,UAAAC,CACF,CAAC,GAC8B,OAAO,CACpC,KAAOE,GACL,QAAQ,QAAQ,CACd,KAAM,uBAAqB,MAC3B,MAAOA,CACT,CAAC,EACH,MAAO,MAAO,CAAE,KAAAC,EAAM,MAAAC,EAAO,SAAAC,CAAS,IAAiC,CACrE,MAAMC,EAAc,MAAM,KAAK,kBAAkB,gBAAgB,CAC/D,MAAAF,EACA,SAAAC,EACA,aAAcJ,CAChB,CAAC,EACD,MAAO,CACL,KAAM,uBAAqB,aAC3B,QAASE,EACT,YAAAG,CACF,CACF,CACF,CAAC,CAEe,EAjCP,CACL,CACE,KAAM,uBAAqB,MAC3B,MAAO,IAAI,MAAM,mDAAmD,CACtE,CACF,CA6BJ,CAEQ,cAAcP,EAAgB,CACpC,MAAMQ,EAAgBR,EAAO,OAAS,GAAK,OAAOA,EAAO,MAAM,EAAI,GAC7DS,EAAyB,IAAI,OAAO,yBAAyB,EAAE,KACnET,CACF,EAEA,OAAOQ,GAAiBC,CAC1B,CACF,EAnFahB,EAANiB,EAAA,IADN,cAAW,EAOPC,EAAA,eAAO,mBAAiB,qBAAqB,GAE7CA,EAAA,eAAO,WAAS,oBAAoB,IAR5BlB",
6
+ "names": ["TrustedNameContextLoader_exports", "__export", "TrustedNameContextLoader", "__toCommonJS", "import_inversify", "import_pkiTypes", "import_ClearSignContext", "import_trustedNameTypes", "SUPPORTED_TYPES", "TrustedNameContextLoader", "dataSource", "certificateLoader", "input", "expectedTypes", "type", "chainId", "domain", "challenge", "deviceModelId", "error", "data", "keyId", "keyUsage", "certificate", "lengthIsValid", "containsOnlyValidChars", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=require("purify-ts"),o=require("../../shared/model/ClearSignContext"),n=require("../../trusted-name/domain/TrustedNameContextLoader");describe("TrustedNameContextLoader",()=>{const t={getDomainNamePayload:jest.fn(),getTrustedNamePayload:jest.fn()};beforeEach(()=>{jest.restoreAllMocks(),jest.spyOn(t,"getDomainNamePayload").mockResolvedValue((0,l.Right)("payload"))}),describe("load function",()=>{it("should return an empty array when no domain or registry",()=>{const e={},r=new n.TrustedNameContextLoader(t),a=()=>r.load(e);expect(a()).resolves.toEqual([])}),it("should return an error when domain > max length",async()=>{const e={domain:"maxlength-maxlength-maxlength-maxlength-maxlength-maxlength",challenge:"challenge"},a=await new n.TrustedNameContextLoader(t).load(e);expect(a).toEqual([{type:o.ClearSignContextType.ERROR,error:new Error("[ContextModule] TrustedNameLoader: invalid domain")}])}),it("should return an error when domain is not valid",async()=>{const e={domain:"hello\u{1F44B}",challenge:"challenge"},a=await new n.TrustedNameContextLoader(t).load(e);expect(a).toEqual([{type:o.ClearSignContextType.ERROR,error:new Error("[ContextModule] TrustedNameLoader: invalid domain")}])}),it("should return a payload",async()=>{const e={domain:"hello.eth",challenge:"challenge"},a=await new n.TrustedNameContextLoader(t).load(e);expect(a).toEqual([{type:o.ClearSignContextType.TRUSTED_NAME,payload:"payload"}])}),it("should return an error when unable to fetch the datasource",async()=>{const e={domain:"hello.eth",challenge:"challenge"};jest.spyOn(t,"getDomainNamePayload").mockResolvedValue((0,l.Left)(new Error("error")));const a=await new n.TrustedNameContextLoader(t).load(e);expect(a).toEqual([{type:o.ClearSignContextType.ERROR,error:new Error("error")}])}),it("should return an empty array when no challenge",async()=>{const e={domain:"hello.eth",challenge:void 0},a=await new n.TrustedNameContextLoader(t).load(e);expect(a).toEqual([])})}),describe("loadField function",()=>{it("should return an error when field type if not supported",async()=>{const e={type:o.ClearSignContextType.TOKEN,chainId:7,address:"0x1234"},a=await new n.TrustedNameContextLoader(t).loadField(e);expect(a).toEqual(null)}),it("should return a payload",async()=>{const e={type:o.ClearSignContextType.TRUSTED_NAME,chainId:7,address:"0x1234",challenge:"17",sources:["ens"],types:["eoa"]};jest.spyOn(t,"getTrustedNamePayload").mockResolvedValue((0,l.Right)("payload"));const a=await new n.TrustedNameContextLoader(t).loadField(e);expect(a).toEqual({type:o.ClearSignContextType.TRUSTED_NAME,payload:"payload"})}),it("should return an error when unable to fetch the datasource",async()=>{const e={type:o.ClearSignContextType.TRUSTED_NAME,chainId:7,address:"0x1234",challenge:"17",sources:["ens"],types:["eoa"]};jest.spyOn(t,"getTrustedNamePayload").mockResolvedValue((0,l.Left)(new Error("error")));const a=await new n.TrustedNameContextLoader(t).loadField(e);expect(a).toEqual({type:o.ClearSignContextType.ERROR,error:new Error("error")})})})});
1
+ "use strict";var o=require("@ledgerhq/device-management-kit"),d=require("purify-ts"),a=require("../../shared/model/ClearSignContext"),s=require("../../trusted-name/domain/TrustedNameContextLoader");describe("TrustedNameContextLoader",()=>{const l={getDomainNamePayload:vi.fn(),getTrustedNamePayload:vi.fn()},i={loadCertificate:vi.fn()},n=new s.TrustedNameContextLoader(l,i),r={keyUsageNumber:1,payload:new Uint8Array([1,2,3,4])};beforeEach(()=>{vi.restoreAllMocks(),vi.spyOn(l,"getDomainNamePayload").mockResolvedValue((0,d.Right)({data:"payload",keyId:"testKeyId",keyUsage:"testKeyUsage"}))}),describe("canHandle function",()=>{const e={chainId:1,domain:"hello.eth",challenge:"challenge",deviceModelId:o.DeviceModelId.STAX};it("should return true for valid input",()=>{expect(n.canHandle(e,[a.ClearSignContextType.TRUSTED_NAME])).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(n.canHandle(e,[a.ClearSignContextType.TOKEN])).toBe(!1)}),it.each([[null,"null input"],[void 0,"undefined input"],[{},"empty object"],["string","string input"],[123,"number input"]])("should return false for %s",(t,c)=>{expect(n.canHandle(t,[a.ClearSignContextType.TRUSTED_NAME])).toBe(!1)}),it.each([[{...e,chainId:void 0},"missing chainId"],[{...e,domain:void 0},"missing domain"],[{...e,challenge:void 0},"missing challenge"],[{...e,deviceModelId:void 0},"missing device model"]])("should return false for %s",(t,c)=>{expect(n.canHandle(t,[a.ClearSignContextType.TRUSTED_NAME])).toBe(!1)}),it.each([[{...e,domain:""},"empty domain"],[{...e,challenge:""},"empty challenge"],[{...e,chainId:"1"},"string chainId"],[{...e,chainId:null},"null chainId"],[{...e,domain:123},"numeric domain"],[{...e,challenge:123},"numeric challenge"]])("should return false for %s",(t,c)=>{expect(n.canHandle(t,[a.ClearSignContextType.TRUSTED_NAME])).toBe(!1)})}),describe("load function",()=>{it("should return an error when domain > max length",async()=>{const e={chainId:1,domain:"maxlength-maxlength-maxlength-maxlength-maxlength-maxlength",challenge:"challenge",deviceModelId:o.DeviceModelId.STAX},t=await n.load(e);expect(i.loadCertificate).not.toHaveBeenCalled(),expect(t).toEqual([{type:a.ClearSignContextType.ERROR,error:new Error("[ContextModule] TrustedNameLoader: invalid domain")}])}),it("should return an error when domain is not valid",async()=>{const e={chainId:1,domain:"hello\u{1F44B}",challenge:"challenge",deviceModelId:o.DeviceModelId.STAX},t=await n.load(e);expect(i.loadCertificate).not.toHaveBeenCalled(),expect(t).toEqual([{type:a.ClearSignContextType.ERROR,error:new Error("[ContextModule] TrustedNameLoader: invalid domain")}])}),it("should return a payload",async()=>{vi.spyOn(i,"loadCertificate").mockResolvedValue(r);const e={chainId:1,domain:"hello.eth",challenge:"challenge",deviceModelId:o.DeviceModelId.STAX},t=await n.load(e);expect(i.loadCertificate).toHaveBeenCalledWith({keyId:"testKeyId",keyUsage:"testKeyUsage",targetDevice:o.DeviceModelId.STAX}),expect(t).toEqual([{type:a.ClearSignContextType.TRUSTED_NAME,payload:"payload",certificate:r}])}),it("should return an error when unable to fetch the datasource",async()=>{const e={chainId:1,domain:"hello.eth",challenge:"challenge",deviceModelId:o.DeviceModelId.STAX};vi.spyOn(l,"getDomainNamePayload").mockResolvedValue((0,d.Left)(new Error("error")));const t=await n.load(e);expect(t).toEqual([{type:a.ClearSignContextType.ERROR,error:new Error("error")}])})})});
2
2
  //# sourceMappingURL=TrustedNameContextLoader.test.js.map
@@ -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: jest.fn(),\n getTrustedNamePayload: jest.fn(),\n };\n\n beforeEach(() => {\n jest.restoreAllMocks();\n jest\n .spyOn(mockTrustedNameDataSource, \"getDomainNamePayload\")\n .mockResolvedValue(Right(\"payload\"));\n });\n\n describe(\"load function\", () => {\n it(\"should return an empty array when no domain or registry\", () => {\n const transaction = {} as TransactionContext;\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const promise = () => loader.load(transaction);\n\n expect(promise()).resolves.toEqual([]);\n });\n\n it(\"should return an error when domain > max length\", async () => {\n const transaction = {\n domain: \"maxlength-maxlength-maxlength-maxlength-maxlength-maxlength\",\n 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 jest\n .spyOn(mockTrustedNameDataSource, \"getDomainNamePayload\")\n .mockResolvedValue(Left(new Error(\"error\")));\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n { type: ClearSignContextType.ERROR, error: new Error(\"error\") },\n ]);\n });\n\n 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 jest\n .spyOn(mockTrustedNameDataSource, \"getTrustedNamePayload\")\n .mockResolvedValue(Right(\"payload\"));\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.loadField(field);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"payload\",\n });\n });\n\n it(\"should return an error when unable to fetch the datasource\", async () => {\n // GIVEN\n const field: TransactionFieldContext = {\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 7,\n address: \"0x1234\",\n challenge: \"17\",\n sources: [\"ens\"],\n types: [\"eoa\"],\n };\n\n // WHEN\n jest\n .spyOn(mockTrustedNameDataSource, \"getTrustedNamePayload\")\n .mockResolvedValue(Left(new Error(\"error\")));\n const loader = new TrustedNameContextLoader(mockTrustedNameDataSource);\n const result = await loader.loadField(field);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n });\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["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 p=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var c=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of p(t))!a.call(e,n)&&n!==s&&i(e,n,{get:()=>t[n],enumerable:!(r=o(t,n))||r.enumerable});return e};var d=e=>c(i({},"__esModule",{value:!0}),e);var u={};module.exports=d(u);
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 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 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 | 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 f=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var V=(o,e)=>{for(var t in e)f(o,t,{get:e[t],enumerable:!0})},h=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of T(e))!$.call(o,i)&&i!==t&&f(o,i,{get:()=>e[i],enumerable:!(r=g(e,i))||r.enumerable});return o};var y=(o,e,t)=>(t=o!=null?x(b(o)):{},h(e||!o||!o.__esModule?f(t,"default",{value:o,enumerable:!0}):t,o)),j=o=>h(f({},"__esModule",{value:!0}),o),C=(o,e,t,r)=>{for(var i=r>1?void 0:r?g(e,t):e,a=o.length-1,p;a>=0;a--)(p=o[a])&&(i=(r?p(e,t,i):p(i))||i);return r&&i&&f(e,t,i),i},_=(o,e)=>(t,r)=>e(t,r,o);var E={};V(E,{HttpTypedDataDataSource:()=>c});module.exports=j(E);var F=y(require("axios")),M=y(require("crypto-js/sha224")),m=require("inversify"),s=require("purify-ts"),D=require("../../config/di/configTypes"),I=y(require("../../../package.json"));let c=class{constructor(e){this.config=e}async getTypedDataFilters({chainId:e,address:t,schema:r,version:i}){let a;try{const p=await F.default.request({method:"GET",url:`${this.config.cal.url}/dapps`,params:{contracts:t,chain_id:e,output:"descriptors_eip712",descriptors_eip712_version:i,descriptors_eip712:"<set>",ref:`branch:${this.config.cal.branch}`},headers:{"X-Ledger-Client-Version":`context-module/${I.default.version}`}}),l=(0,M.default)(JSON.stringify(this.sortTypes(r)).replace(" ","")).toString();t=t.toLowerCase();const d=p.data?.[0]?.descriptors_eip712?.[t]?.[l];if(!d)return(0,s.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${t} on chain ${e} for schema ${l}`));if(!d.schema||!Array.isArray(d.instructions))return(0,s.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${l}`));const u=[];for(const n of d.instructions)if(this.isInstructionContractInfo(n,this.config.cal.mode))a={displayName:n.display_name,signature:n.signatures[this.config.cal.mode],filtersCount:n.field_mappers_count};else if(i==="v1"&&this.isInstructionFieldV1(n,this.config.cal.mode))u.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))u.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))u.push({type:n.format,displayName:n.display_name,path:n.field_path,signature:n.signatures[this.config.cal.mode],tokenIndex:n.coin_ref});else return(0,s.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${t} on chain ${e} for schema ${l}`));return a?(0,s.Right)({messageInfo:a,filters:u}):(0,s.Left)(new Error(`[ContextModule] HttpTypedDataDataSource: no message info for address ${t} on chain ${e} for schema ${l}`))}catch{return(0,s.Left)(new Error("[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations"))}}isInstructionFieldV1(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_path=="string"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"}isInstructionFieldV2(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_path=="string"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"&&typeof e.format=="string"&&["raw","datetime"].includes(e.format)&&e.coin_ref===void 0}isInstructionFieldV2WithCoinRef(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_path=="string"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"&&typeof e.format=="string"&&["token","amount"].includes(e.format)&&typeof e.coin_ref=="number"}isInstructionContractInfo(e,t){return typeof e=="object"&&typeof e.display_name=="string"&&typeof e.field_mappers_count=="number"&&typeof e.signatures=="object"&&typeof e.signatures[t]=="string"&&e.field_path===void 0}sortTypes(e){return Object.fromEntries(Object.entries(e).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>[t,r.map(i=>({name:i.name,type:i.type}))]))}};c=C([(0,m.injectable)(),_(0,(0,m.inject)(D.configTypes.Config))],c);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 type {\n TypedDataFilter,\n TypedDataMessageInfo,\n} from \"@/shared/model/TypedDataClearSignContext\";\nimport type { TypedDataSchema } from \"@/shared/model/TypedDataContext\";\nimport PACKAGE from \"@root/package.json\";\n\nimport type {\n FiltersDto,\n InstructionContractInfo,\n InstructionField,\n InstructionFieldV1,\n InstructionFieldV2,\n InstructionFieldV2WithCoinRef,\n} from \"./FiltersDto\";\nimport {\n GetTypedDataFiltersParams,\n GetTypedDataFiltersResult,\n TypedDataDataSource,\n} from \"./TypedDataDataSource\";\n\n@injectable()\nexport class HttpTypedDataDataSource implements TypedDataDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n public async getTypedDataFilters({\n chainId,\n address,\n schema,\n version,\n }: GetTypedDataFiltersParams): Promise<\n Either<Error, GetTypedDataFiltersResult>\n > {\n let messageInfo: TypedDataMessageInfo | undefined = undefined;\n\n try {\n const response = await axios.request<FiltersDto[]>({\n method: \"GET\",\n url: `${this.config.cal.url}/dapps`,\n params: {\n contracts: address,\n chain_id: chainId,\n output: \"descriptors_eip712\",\n descriptors_eip712_version: version,\n descriptors_eip712: \"<set>\",\n ref: `branch:${this.config.cal.branch}`,\n },\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n // Try to get the filters JSON descriptor, from address and schema hash\n const schemaHash = SHA224(\n JSON.stringify(this.sortTypes(schema)).replace(\" \", \"\"),\n ).toString();\n address = address.toLowerCase();\n const filtersJson =\n response.data?.[0]?.descriptors_eip712?.[address]?.[schemaHash];\n if (!filtersJson) {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no typed data filters for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n\n // Parse the message type, if available\n if (!filtersJson.schema || !Array.isArray(filtersJson.instructions)) {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n\n // Parse all the filters\n const filters: TypedDataFilter[] = [];\n for (const field of filtersJson.instructions) {\n if (this.isInstructionContractInfo(field, this.config.cal.mode)) {\n messageInfo = {\n displayName: field.display_name,\n signature: field.signatures[this.config.cal.mode],\n filtersCount: field.field_mappers_count,\n };\n } else if (\n version === \"v1\" &&\n this.isInstructionFieldV1(field, this.config.cal.mode)\n ) {\n filters.push({\n type: \"raw\",\n displayName: field.display_name,\n path: field.field_path,\n signature: field.signatures[this.config.cal.mode],\n });\n } else if (this.isInstructionFieldV2(field, this.config.cal.mode)) {\n filters.push({\n type: field.format,\n displayName: field.display_name,\n path: field.field_path,\n signature: field.signatures[this.config.cal.mode],\n });\n } else if (\n this.isInstructionFieldV2WithCoinRef(field, this.config.cal.mode)\n ) {\n filters.push({\n type: field.format,\n displayName: field.display_name,\n path: field.field_path,\n signature: field.signatures[this.config.cal.mode],\n tokenIndex: field.coin_ref,\n });\n } else {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n }\n\n if (!messageInfo) {\n return Left(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address ${address} on chain ${chainId} for schema ${schemaHash}`,\n ),\n );\n }\n\n return Right({ messageInfo, filters });\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTypedDataDataSource: Failed to fetch typed data informations\",\n ),\n );\n }\n }\n\n private isInstructionFieldV1(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV1 & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n // NOTE: Currently the backend return the same structure for V1 and V2,\n // so we can't distinguish them here, but we can still check the required fields\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_path === \"string\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\"\n );\n }\n\n private isInstructionFieldV2(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2 & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_path === \"string\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\" &&\n typeof data.format === \"string\" &&\n [\"raw\", \"datetime\"].includes(data.format) &&\n data.coin_ref === undefined\n );\n }\n\n private isInstructionFieldV2WithCoinRef(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionFieldV2WithCoinRef & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_path === \"string\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\" &&\n typeof data.format === \"string\" &&\n [\"token\", \"amount\"].includes(data.format) &&\n typeof data.coin_ref === \"number\"\n );\n }\n\n private isInstructionContractInfo(\n data: InstructionField,\n mode: ContextModuleCalMode,\n ): data is InstructionContractInfo & {\n signatures: { [key in ContextModuleCalMode]: string };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.display_name === \"string\" &&\n typeof data.field_mappers_count === \"number\" &&\n typeof data.signatures === \"object\" &&\n typeof data.signatures[mode] === \"string\" &&\n data.field_path === undefined\n );\n }\n\n private sortTypes(types: TypedDataSchema): TypedDataSchema {\n return Object.fromEntries(\n Object.entries(types)\n .sort(([aKey], [bKey]) => aKey.localeCompare(bKey))\n .map(([key, value]) => [\n key,\n value.map((v) => ({ name: v.name, type: v.type })),\n ]),\n );\n }\n}\n"],
5
- "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmB,+BACnBC,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAU5BC,EAAoB,iCAiBb,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,0BAA2B,kBAAkB,EAAAI,QAAQ,OAAO,EAC9D,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,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,qBACNK,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,0BACNA,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,UAAUE,EAAyC,CACzD,OAAO,OAAO,YACZ,OAAO,QAAQA,CAAK,EACjB,KAAK,CAAC,CAACC,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,EAtMatB,EAANuB,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,IAFjBxB",
6
- "names": ["HttpTypedDataDataSource_exports", "__export", "HttpTypedDataDataSource", "__toCommonJS", "import_axios", "import_sha224", "import_inversify", "import_purify_ts", "import_configTypes", "import_package", "HttpTypedDataDataSource", "config", "chainId", "address", "schema", "version", "messageInfo", "response", "axios", "PACKAGE", "schemaHash", "SHA224", "filtersJson", "filters", "field", "data", "mode", "types", "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 l=Object.create;var r=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var x=(d,t)=>{for(var e in t)r(d,e,{get:t[e],enumerable:!0})},n=(d,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of m(t))!h.call(d,c)&&c!==e&&r(d,c,{get:()=>t[c],enumerable:!(a=u(t,c))||a.enumerable});return d};var o=(d,t,e)=>(e=d!=null?l(y(d)):{},n(t||!d||!d.__esModule?r(e,"default",{value:d,enumerable:!0}):e,d)),g=d=>n(r({},"__esModule",{value:!0}),d);var v={};x(v,{buildDescriptor:()=>f});module.exports=g(v);var s=o(require("axios")),b=require("purify-ts"),i=require("../../typed-data/data/HttpTypedDataDataSource"),p=o(require("../../../package.json"));jest.mock("axios");const f=d=>[{descriptors_eip712:{"0x000000000022d473030f116ddee9f6b43ac78ba3":{"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3":{schema:{DutchOutput:[{name:"token",type:"address"},{name:"startAmount",type:"uint256"},{name:"endAmount",type:"uint256"},{name:"recipient",type:"address"}],EIP712Domain:[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],ExclusiveDutchOrder:[{name:"info",type:"OrderInfo"},{name:"decayStartTime",type:"uint256"},{name:"decayEndTime",type:"uint256"},{name:"exclusiveFiller",type:"address"},{name:"exclusivityOverrideBps",type:"uint256"},{name:"inputToken",type:"address"},{name:"inputStartAmount",type:"uint256"},{name:"inputEndAmount",type:"uint256"},{name:"outputs",type:"DutchOutput[]"}],OrderInfo:[{name:"reactor",type:"address"},{name:"swapper",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"additionalValidationContract",type:"address"},{name:"additionalValidationData",type:"bytes"}],PermitWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:"ExclusiveDutchOrder"}],TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}]},instructions:d}}}}];describe("HttpTypedDataDataSource",()=>{let d;const 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(()=>{const e={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"prod"}};d=new i.HttpTypedDataDataSource(e),jest.clearAllMocks()}),it("should call axios with the ledger client version header",async()=>{const e=`context-module/${p.default.version}`,a=jest.fn(()=>Promise.resolve({data:[]}));jest.spyOn(s.default,"request").mockImplementation(a),await d.getTypedDataFilters({chainId:1,address:"0x00",version:"v2",schema:{}}),expect(a).toHaveBeenCalledWith(expect.objectContaining({headers:{"X-Ledger-Client-Version":e}}))}),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:"Amount allowance",format:"amount",field_path:"details.amount",coin_ref:0,descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365",signatures:{prod:"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f"},type:"field"},{display_name:"Approve to spender",format:"raw",field_path:"spender",descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572",signatures:{prod:"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f"},type:"field"},{display_name:"Approval expire",format:"datetime",field_path:"details.expiration",descriptor:"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265",signatures:{prod:"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff"},type:"field"}]);jest.spyOn(s.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022D473030F116DDEE9F6B43AC78BA3",version:"v2",schema:t});expect(a).toEqual((0,b.Right)({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token",tokenIndex:0,signature:"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53"},{type:"amount",displayName:"Amount allowance",path:"details.amount",tokenIndex:0,signature:"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f"},{type:"raw",displayName:"Approve to spender",path:"spender",signature:"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f"},{type:"datetime",displayName:"Approval expire",path:"details.expiration",signature:"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff"}]}))}),it("should return V1 filters when axios response is correct",async()=>{const 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"}]);jest.spyOn(s.default,"request").mockResolvedValue({data:e});const a=await d.getTypedDataFilters({chainId:1,address:"0x000000000022d473030f116ddee9f6b43ac78ba3",version:"v1",schema:t});expect(a).toEqual((0,b.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()=>{jest.spyOn(s.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([]);jest.spyOn(s.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);jest.spyOn(s.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"}]);jest.spyOn(s.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"}]);jest.spyOn(s.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"}]);jest.spyOn(s.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"}]);jest.spyOn(s.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"}]);jest.spyOn(s.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"}]);jest.spyOn(s.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()=>{jest.spyOn(s.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