@ledgerhq/context-module 0.0.0-signer-eth-20250122093657 → 0.0.0-try-to-fix-20250429171448

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 (437) hide show
  1. package/README.md +17 -5
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +7 -7
  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/config/di/configTypes.js +1 -1
  15. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  16. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +2 -0
  17. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  18. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  19. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  20. package/lib/cjs/src/di.js +1 -1
  21. package/lib/cjs/src/di.js.map +3 -3
  22. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  23. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  24. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  25. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  26. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  27. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +2 -2
  28. package/lib/cjs/src/index.js +1 -1
  29. package/lib/cjs/src/index.js.map +2 -2
  30. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  31. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  32. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  33. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  34. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  35. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +2 -2
  36. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  37. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  38. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  39. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  40. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js +2 -0
  41. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  42. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js +2 -0
  43. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  44. package/lib/cjs/src/pki/di/pkiModuleFactory.js +2 -0
  45. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +7 -0
  46. package/lib/cjs/src/pki/di/pkiTypes.js +2 -0
  47. package/lib/cjs/src/pki/di/pkiTypes.js.map +7 -0
  48. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  49. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  50. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  51. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  52. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js +2 -0
  53. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  54. package/lib/cjs/src/pki/model/KeyId.js +2 -0
  55. package/lib/cjs/src/pki/model/KeyId.js.map +7 -0
  56. package/lib/cjs/src/pki/model/KeyUsage.js +2 -0
  57. package/lib/cjs/src/pki/model/KeyUsage.js.map +7 -0
  58. package/lib/cjs/src/pki/model/PkiCertificate.js +2 -0
  59. package/lib/cjs/src/pki/model/PkiCertificate.js.map +7 -0
  60. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +2 -0
  61. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +7 -0
  62. package/lib/cjs/src/shared/constant/HttpHeaders.js +2 -0
  63. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +7 -0
  64. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  65. package/lib/cjs/src/shared/model/ClearSignContext.js.map +2 -2
  66. package/lib/cjs/src/shared/model/SignatureTags.js +2 -0
  67. package/lib/cjs/src/shared/model/SignatureTags.js.map +7 -0
  68. package/lib/cjs/src/shared/model/TransactionContext.js +1 -1
  69. package/lib/cjs/src/shared/model/TransactionContext.js.map +1 -1
  70. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  71. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  72. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  73. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +2 -2
  74. package/lib/cjs/src/shared/utils/HexStringUtils.js +1 -1
  75. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +3 -3
  76. package/lib/cjs/src/shared/utils/HexStringUtils.test.js +2 -0
  77. package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +7 -0
  78. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +2 -0
  79. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +7 -0
  80. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +2 -0
  81. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  82. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  83. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
  84. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  85. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  86. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  87. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +2 -2
  88. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +1 -1
  89. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +3 -3
  90. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +1 -1
  91. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +3 -3
  92. package/lib/cjs/src/transaction/data/TransactionDataSource.js +1 -1
  93. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +1 -1
  94. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +1 -1
  95. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +2 -2
  96. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +1 -1
  97. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +2 -2
  98. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  99. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  100. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  101. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  102. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  103. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  104. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  105. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  106. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  107. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +2 -2
  108. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  109. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  110. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  111. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  112. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  113. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  114. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  115. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  116. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  117. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +2 -2
  118. package/lib/cjs/src/uniswap/constants/plugin.js +2 -0
  119. package/lib/cjs/src/uniswap/constants/plugin.js.map +7 -0
  120. package/lib/cjs/src/uniswap/constants/uniswap.js +2 -0
  121. package/lib/cjs/src/uniswap/constants/uniswap.js.map +7 -0
  122. package/lib/cjs/src/uniswap/constants/weth.js +2 -0
  123. package/lib/cjs/src/uniswap/constants/weth.js.map +7 -0
  124. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js +2 -0
  125. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  126. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js +2 -0
  127. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  128. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  129. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  130. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  131. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  132. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  133. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  134. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  135. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  136. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +2 -0
  137. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  138. package/lib/cjs/src/uniswap/di/uniswapTypes.js +2 -0
  139. package/lib/cjs/src/uniswap/di/uniswapTypes.js.map +7 -0
  140. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +2 -0
  141. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  142. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  143. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  144. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js +2 -0
  145. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js.map +7 -0
  146. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js +2 -0
  147. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +7 -0
  148. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js +2 -0
  149. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js.map +7 -0
  150. package/lib/cjs/src/web3-check/data/Web3CheckDto.js +2 -0
  151. package/lib/cjs/src/web3-check/data/Web3CheckDto.js.map +7 -0
  152. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js +2 -0
  153. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js.map +7 -0
  154. package/lib/cjs/src/web3-check/di/web3CheckTypes.js +2 -0
  155. package/lib/cjs/src/web3-check/di/web3CheckTypes.js.map +7 -0
  156. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js +2 -0
  157. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +7 -0
  158. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +2 -0
  159. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +7 -0
  160. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js +2 -0
  161. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js.map +7 -0
  162. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js +2 -0
  163. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js.map +7 -0
  164. package/lib/esm/package.json +7 -7
  165. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  166. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  167. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  168. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  169. package/lib/esm/src/DefaultContextModule.js +1 -1
  170. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  171. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  172. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  173. package/lib/esm/src/config/di/configTypes.js +1 -1
  174. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  175. package/lib/esm/src/config/model/ContextModuleBuildArgs.js +1 -0
  176. package/lib/esm/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  177. package/lib/esm/src/di.js +1 -1
  178. package/lib/esm/src/di.js.map +3 -3
  179. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  180. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  181. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  182. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  183. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  184. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +2 -2
  185. package/lib/esm/src/index.js +1 -1
  186. package/lib/esm/src/index.js.map +2 -2
  187. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  188. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  189. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  190. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  191. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  192. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +2 -2
  193. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  194. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  195. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  196. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  197. package/lib/esm/src/pki/data/PkiCertificateDataSource.js +1 -0
  198. package/lib/esm/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  199. package/lib/esm/src/pki/data/pkiDataSourceTypes.js +1 -0
  200. package/lib/esm/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  201. package/lib/esm/src/pki/di/pkiModuleFactory.js +2 -0
  202. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +7 -0
  203. package/lib/esm/src/pki/di/pkiTypes.js +2 -0
  204. package/lib/esm/src/pki/di/pkiTypes.js.map +7 -0
  205. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  206. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  207. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  208. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  209. package/lib/esm/src/pki/domain/PkiCertificateLoader.js +1 -0
  210. package/lib/esm/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  211. package/lib/esm/src/pki/model/KeyId.js +2 -0
  212. package/lib/esm/src/pki/model/KeyId.js.map +7 -0
  213. package/lib/esm/src/pki/model/KeyUsage.js +2 -0
  214. package/lib/esm/src/pki/model/KeyUsage.js.map +7 -0
  215. package/lib/esm/src/pki/model/PkiCertificate.js +1 -0
  216. package/lib/esm/src/pki/model/PkiCertificate.js.map +7 -0
  217. package/lib/esm/src/pki/model/PkiCertificateInfo.js +1 -0
  218. package/lib/esm/src/pki/model/PkiCertificateInfo.js.map +7 -0
  219. package/lib/esm/src/shared/constant/HttpHeaders.js +2 -0
  220. package/lib/esm/src/shared/constant/HttpHeaders.js.map +7 -0
  221. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  222. package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
  223. package/lib/esm/src/shared/model/SignatureTags.js +2 -0
  224. package/lib/esm/src/shared/model/SignatureTags.js.map +7 -0
  225. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +2 -2
  226. package/lib/esm/src/shared/utils/HexStringUtils.js +1 -1
  227. package/lib/esm/src/shared/utils/HexStringUtils.js.map +3 -3
  228. package/lib/esm/src/shared/utils/HexStringUtils.test.js +2 -0
  229. package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +7 -0
  230. package/lib/esm/src/shared/utils/KeyUsageMapper.js +2 -0
  231. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +7 -0
  232. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +2 -0
  233. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  234. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  235. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
  236. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  237. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  238. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  239. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +2 -2
  240. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +1 -1
  241. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +3 -3
  242. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +1 -1
  243. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +3 -3
  244. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +1 -1
  245. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +2 -2
  246. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +1 -1
  247. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +2 -2
  248. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  249. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  250. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  251. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  252. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  253. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  254. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  255. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +2 -2
  256. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  257. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  258. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  259. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  260. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  261. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  262. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  263. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +2 -2
  264. package/lib/esm/src/uniswap/constants/plugin.js +2 -0
  265. package/lib/esm/src/uniswap/constants/plugin.js.map +7 -0
  266. package/lib/esm/src/uniswap/constants/uniswap.js +2 -0
  267. package/lib/esm/src/uniswap/constants/uniswap.js.map +7 -0
  268. package/lib/esm/src/uniswap/constants/weth.js +2 -0
  269. package/lib/esm/src/uniswap/constants/weth.js.map +7 -0
  270. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js +1 -0
  271. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  272. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js +1 -0
  273. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  274. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  275. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  276. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  277. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  278. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  279. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  280. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  281. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  282. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +2 -0
  283. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  284. package/lib/esm/src/uniswap/di/uniswapTypes.js +2 -0
  285. package/lib/esm/src/uniswap/di/uniswapTypes.js.map +7 -0
  286. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +2 -0
  287. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  288. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  289. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  290. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js +2 -0
  291. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js.map +7 -0
  292. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js +2 -0
  293. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +7 -0
  294. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js +1 -0
  295. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js.map +7 -0
  296. package/lib/esm/src/web3-check/data/Web3CheckDto.js +1 -0
  297. package/lib/esm/src/web3-check/data/Web3CheckDto.js.map +7 -0
  298. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js +2 -0
  299. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js.map +7 -0
  300. package/lib/esm/src/web3-check/di/web3CheckTypes.js +2 -0
  301. package/lib/esm/src/web3-check/di/web3CheckTypes.js.map +7 -0
  302. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js +2 -0
  303. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +7 -0
  304. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +2 -0
  305. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +7 -0
  306. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js +1 -0
  307. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js.map +7 -0
  308. package/lib/esm/src/web3-check/domain/web3CheckTypes.js +1 -0
  309. package/lib/esm/src/web3-check/domain/web3CheckTypes.js.map +7 -0
  310. package/lib/types/src/ContextModule.d.ts +2 -0
  311. package/lib/types/src/ContextModule.d.ts.map +1 -1
  312. package/lib/types/src/ContextModuleBuilder.d.ts +20 -2
  313. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  314. package/lib/types/src/DefaultContextModule.d.ts +5 -1
  315. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  316. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  317. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  318. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +4 -0
  319. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -0
  320. package/lib/types/src/config/model/ContextModuleConfig.d.ts +7 -0
  321. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  322. package/lib/types/src/di.d.ts.map +1 -1
  323. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  324. package/lib/types/src/index.d.ts +7 -0
  325. package/lib/types/src/index.d.ts.map +1 -1
  326. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  327. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts +12 -0
  328. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -0
  329. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts +2 -0
  330. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts.map +1 -0
  331. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts +7 -0
  332. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts.map +1 -0
  333. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts +23 -0
  334. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts.map +1 -0
  335. package/lib/types/src/pki/di/pkiModuleFactory.d.ts +3 -0
  336. package/lib/types/src/pki/di/pkiModuleFactory.d.ts.map +1 -0
  337. package/lib/types/src/pki/di/pkiTypes.d.ts +5 -0
  338. package/lib/types/src/pki/di/pkiTypes.d.ts.map +1 -0
  339. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts +10 -0
  340. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -0
  341. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts +2 -0
  342. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts.map +1 -0
  343. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts +6 -0
  344. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts.map +1 -0
  345. package/lib/types/src/pki/model/KeyId.d.ts +14 -0
  346. package/lib/types/src/pki/model/KeyId.d.ts.map +1 -0
  347. package/lib/types/src/pki/model/KeyUsage.d.ts +15 -0
  348. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -0
  349. package/lib/types/src/pki/model/PkiCertificate.d.ts +5 -0
  350. package/lib/types/src/pki/model/PkiCertificate.d.ts.map +1 -0
  351. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +7 -0
  352. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -0
  353. package/lib/types/src/shared/constant/HttpHeaders.d.ts +3 -0
  354. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -0
  355. package/lib/types/src/shared/model/ClearSignContext.d.ts +4 -0
  356. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  357. package/lib/types/src/shared/model/SignatureTags.d.ts +3 -0
  358. package/lib/types/src/shared/model/SignatureTags.d.ts.map +1 -0
  359. package/lib/types/src/shared/model/TransactionContext.d.ts +2 -0
  360. package/lib/types/src/shared/model/TransactionContext.d.ts.map +1 -1
  361. package/lib/types/src/shared/model/TransactionSubset.d.ts +2 -0
  362. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  363. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +17 -5
  364. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  365. package/lib/types/src/shared/utils/HexStringUtils.d.ts +1 -0
  366. package/lib/types/src/shared/utils/HexStringUtils.d.ts.map +1 -1
  367. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts +2 -0
  368. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts.map +1 -0
  369. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +6 -0
  370. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -0
  371. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts +2 -0
  372. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts.map +1 -0
  373. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  374. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +4 -3
  375. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +1 -1
  376. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +2 -1
  377. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +1 -1
  378. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +1 -1
  379. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +2 -2
  380. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  381. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +2 -0
  382. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  383. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  384. package/lib/types/src/typed-data/data/FiltersDto.d.ts +17 -1
  385. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  386. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +2 -0
  387. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  388. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  389. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  390. package/lib/types/src/uniswap/constants/plugin.d.ts +3 -0
  391. package/lib/types/src/uniswap/constants/plugin.d.ts.map +1 -0
  392. package/lib/types/src/uniswap/constants/uniswap.d.ts +21 -0
  393. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -0
  394. package/lib/types/src/uniswap/constants/weth.d.ts +20 -0
  395. package/lib/types/src/uniswap/constants/weth.d.ts.map +1 -0
  396. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts +5 -0
  397. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts.map +1 -0
  398. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts +6 -0
  399. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts.map +1 -0
  400. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts +14 -0
  401. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts.map +1 -0
  402. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts +2 -0
  403. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts.map +1 -0
  404. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts +5 -0
  405. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts.map +1 -0
  406. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts +2 -0
  407. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts.map +1 -0
  408. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts +3 -0
  409. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts.map +1 -0
  410. package/lib/types/src/uniswap/di/uniswapTypes.d.ts +6 -0
  411. package/lib/types/src/uniswap/di/uniswapTypes.d.ts.map +1 -0
  412. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +105 -0
  413. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -0
  414. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts +2 -0
  415. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts.map +1 -0
  416. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts +14 -0
  417. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts.map +1 -0
  418. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts +2 -0
  419. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts.map +1 -0
  420. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts +6 -0
  421. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts.map +1 -0
  422. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts +20 -0
  423. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts.map +1 -0
  424. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts +3 -0
  425. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts.map +1 -0
  426. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts +5 -0
  427. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts.map +1 -0
  428. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts +10 -0
  429. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts.map +1 -0
  430. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts +2 -0
  431. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts.map +1 -0
  432. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts +6 -0
  433. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts.map +1 -0
  434. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts +35 -0
  435. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts.map +1 -0
  436. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  437. package/package.json +10 -10
@@ -0,0 +1,2 @@
1
+ import{Interface as r}from"ethers";import{Left as b,Right as l}from"purify-ts";import{ClearSignContextType as p}from"../../shared/model/ClearSignContext";import{UNISWAP_EXECUTE_SELECTOR as f,UNISWAP_UNIVERSAL_ROUTER_ADDRESS as d,UniswapSupportedCommand as s}from"../../uniswap/constants/uniswap";import{DefaultCommandDecoderDataSource as y}from"../../uniswap/data/DefaultCommandDecoderDataSource";import{EthersAbiDecoderDataSource as u}from"../../uniswap/data/EthersAbiDecoderDataSource";import{UniswapContextLoader as x}from"./UniswapContextLoader";describe("UniswapContextLoader",()=>{const a={decode:vi.fn()},t={getTokenInfosPayload:vi.fn()};let n;describe("load",()=>{describe("with tokenDataSourceMock",()=>{beforeEach(()=>{vi.spyOn(t,"getTokenInfosPayload").mockImplementation(({address:e})=>Promise.resolve(l(`payload-${e}`))),n=new x(new y(new u),t)}),it("should return the external plugin context and the decoded contexts",async()=>{const e={chainId:1,data:"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4855b000000000000000000000000000000000000000000000000000000000000000300060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000a18f07d736b90be5500000000000000000000000000000000000000000000000000000000b0b8122abd8412900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bb9f599ce614feb2e1bbe58f180f370d05b39344e002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000017cc6042605381c158d2adab487434bde79aa61c000000000000000000000000000000000000000000000000000000000000005b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b0b8122abd84129c001a053efc49d03b694742500f49aa09df2360bd7e297fa730c745e0d4320b42fc33fa01ca1c85a46c561f624830fffbae2441ba0f2d54eb5b0f17e0e3561d10db0b7ee"},o=await n.load(e);expect(o).toEqual([{type:p.EXTERNAL_PLUGIN,payload:"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935"},{type:"token",payload:"payload-0xb9f599ce614feb2e1bbe58f180f370d05b39344e"},{type:"token",payload:"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}])}),it("should return the external plugin context and the decoded contexts with a permit",async()=>{const e={chainId:1,data:"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000030a010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055747be9f9f5beb232ad59fe7af013b81d95fd5e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066c32b0d0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b00000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000410d756f55acf289e9754faf91bba0a704b5c7c0aa4b1dfd551115ccbe4c7f290234e1a14265e1da0bc872a23627d997fe37a689c290d519f7b8c9bdde1b79108e1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000030ba49cbff5a00000000000000000000000000000000000000000000000089677c957272141800000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200271055747be9f9f5beb232ad59fe7af013b81d95fd5e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000030ba49cbff5a000c001a0e406d9c91c8b46d959fcd31a28518a77bb248ebb316c5fab7b98335cce922f2aa0462cb970c32a8dbfe71c57b888c43b9ed04fce41d169dbfcc745445587adb771"},o=await n.load(e);expect(o).toEqual([{type:p.EXTERNAL_PLUGIN,payload:"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935"},{type:"token",payload:"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"},{type:"token",payload:"payload-0x55747be9f9f5beb232ad59fe7af013b81d95fd5e"}])}),it("should return an empty array if the transaction is not supported",async()=>{const e={};vi.spyOn(a,"decode").mockReturnValue([]);const o=await n.load(e);expect(o).toEqual([])}),it("should return an empty array if a command is not supported",async()=>{const e={chainId:1,data:"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4bef600000000000000000000000000000000000000000000000000000000000000050b0105040c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000078e6708e70aed0f000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000059a16770000000000000000000000000000000000000000000000000078e6708e70aed0f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c4700000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000059682f0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006f939b43d65be049b7533907db08e80ba6969f4500000000000000000000000000000000000000000000000000000000000000000cc080a07c86dd5813ec1f3725c402f8bea6105546d1093c59676023b971f1d83f61bd4ea02a353bf3028cabcbe68c5dc8906752bafe55afc86b6344edb3ffd8a3650332e8"},o=await n.load(e);expect(o).toEqual([])})}),describe("with mocked ethers parseTransaction",()=>{beforeEach(()=>{vi.resetAllMocks(),n=new x(a,t)}),it("should return an array with contexts if 2 chain swaps are supported",async()=>{const e={to:d,data:f,chainId:66};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x0809",["0x0001","0x0002"]]}),vi.spyOn(a,"decode").mockReturnValueOnce(["0x01","0x04","0x02"]),vi.spyOn(a,"decode").mockReturnValueOnce(["0x02","0x03"]),vi.spyOn(t,"getTokenInfosPayload").mockImplementation(({address:i})=>Promise.resolve(l(`payload-${i}`)));const c=await n.load(e);expect(a.decode).toHaveBeenNthCalledWith(1,s.V2_SWAP_EXACT_IN,"0x0001",66),expect(a.decode).toHaveBeenNthCalledWith(2,s.V2_SWAP_EXACT_OUT,"0x0002",66),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(1,{address:"0x01",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(2,{address:"0x04",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(3,{address:"0x02",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(4,{address:"0x03",chainId:66}),expect(c).toEqual([{type:p.EXTERNAL_PLUGIN,payload:"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935"},{type:"token",payload:"payload-0x01"},{type:"token",payload:"payload-0x04"},{type:"token",payload:"payload-0x02"},{type:"token",payload:"payload-0x03"}])}),it("should return an array with contexts if 1 chain swap with a non swap command",async()=>{const e={to:d,data:f,chainId:66};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x0b0004",["0x0001","0x0002","0x0003"]]}),vi.spyOn(a,"decode").mockReturnValueOnce(["0x01"]),vi.spyOn(a,"decode").mockReturnValueOnce(["0x02","0x03"]),vi.spyOn(a,"decode").mockReturnValueOnce(["0x04"]),vi.spyOn(t,"getTokenInfosPayload").mockImplementation(({address:i})=>Promise.resolve(l(`payload-${i}`)));const c=await n.load(e);expect(a.decode).toHaveBeenNthCalledWith(1,s.WRAP_ETH,"0x0001",66),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(1,{address:"0x01",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(2,{address:"0x02",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(3,{address:"0x03",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(4,{address:"0x04",chainId:66}),expect(c).toEqual([{type:p.EXTERNAL_PLUGIN,payload:"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935"},{type:"token",payload:"payload-0x01"},{type:"token",payload:"payload-0x02"},{type:"token",payload:"payload-0x03"},{type:"token",payload:"payload-0x04"}])}),it("should return an array with contexts if one token is not found",async()=>{const e={to:d,data:f,chainId:66};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x0809",["0x0001","0x0002"]]}),vi.spyOn(a,"decode").mockReturnValueOnce(["0x01","0x02"]),vi.spyOn(a,"decode").mockReturnValueOnce(["0x02","0x03"]),vi.spyOn(t,"getTokenInfosPayload").mockResolvedValueOnce(b("error")),vi.spyOn(t,"getTokenInfosPayload").mockImplementation(({address:i})=>Promise.resolve(l(`payload-${i}`)));const c=await n.load(e);expect(a.decode).toHaveBeenNthCalledWith(1,s.V2_SWAP_EXACT_IN,"0x0001",66),expect(a.decode).toHaveBeenNthCalledWith(2,s.V2_SWAP_EXACT_OUT,"0x0002",66),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(1,{address:"0x01",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(2,{address:"0x02",chainId:66}),expect(t.getTokenInfosPayload).toHaveBeenNthCalledWith(3,{address:"0x03",chainId:66}),expect(c).toEqual([{type:p.EXTERNAL_PLUGIN,payload:"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935"},{type:"error",error:"error"},{type:"token",payload:"payload-0x02"},{type:"token",payload:"payload-0x03"}])}),it("should return an empty array if the if 2 chain swaps are not supported",async()=>{const e={to:d,data:f,chainId:66};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x0809",["0x0001","0x0002"]]}),vi.spyOn(a,"decode").mockReturnValueOnce(["0x01","0x02"]),vi.spyOn(a,"decode").mockReturnValueOnce(["0x03","0x04"]);const c=await n.load(e);expect(a.decode).toHaveBeenNthCalledWith(1,s.V2_SWAP_EXACT_IN,"0x0001",66),expect(a.decode).toHaveBeenNthCalledWith(2,s.V2_SWAP_EXACT_OUT,"0x0002",66),expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(c).toEqual([])}),it("should return an empty array if no command are returned from parseTransaction",async()=>{const e={to:d,data:f};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:[""]});const o=await n.load(e);expect(a.decode).not.toHaveBeenCalled(),expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(o).toEqual([])}),it("should return an empty array if no inputs are returned from parseTransaction",async()=>{const e={to:d,data:f};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x08",[]]});const o=await n.load(e);expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(o).toEqual([])}),it("should return an empty array if parseTransaction throws an error",async()=>{const e={to:d,data:f};vi.spyOn(r.prototype,"parseTransaction").mockImplementation(()=>{throw new Error});const o=await n.load(e);expect(a.decode).not.toHaveBeenCalled(),expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(o).toEqual([])}),it("should return an empty array if the swap is with multiple pool versions",async()=>{const e={to:d,data:f,chainId:66};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x080900",["0x00","0x01","0x02"]]}),vi.spyOn(a,"decode").mockReturnValue(["0x01","0x02"]);const c=await n.load(e);expect(a.decode).toHaveBeenNthCalledWith(1,s.V2_SWAP_EXACT_IN,"0x00",66),expect(a.decode).toHaveBeenNthCalledWith(2,s.V2_SWAP_EXACT_OUT,"0x01",66),expect(a.decode).toHaveBeenNthCalledWith(3,s.V3_SWAP_EXACT_IN,"0x02",66),expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(c).toEqual([])}),it("should return an empty array if the selector is not supported",async()=>{const e={to:d,data:"0x00000000",chainId:66},o=await n.load(e);expect(a.decode).not.toHaveBeenCalled(),expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(o).toEqual([])}),it("should return an empty array if the length of the commands and inputs are different",async()=>{const e={to:d,data:f,chainId:66};vi.spyOn(r.prototype,"parseTransaction").mockReturnValue({args:["0x0809",["0x0001"]]});const c=await n.load(e);expect(a.decode).not.toHaveBeenCalled(),expect(t.getTokenInfosPayload).not.toHaveBeenCalled(),expect(c).toEqual([])})})})});
2
+ //# sourceMappingURL=UniswapContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/domain/UniswapContextLoader.test.ts"],
4
+ "sourcesContent": ["import { Interface, type TransactionDescription } from \"ethers\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type TransactionContext } from \"@/shared/model/TransactionContext\";\nimport { type HttpTokenDataSource } from \"@/token/data/HttpTokenDataSource\";\nimport {\n UNISWAP_EXECUTE_SELECTOR,\n UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n UniswapSupportedCommand,\n} from \"@/uniswap/constants/uniswap\";\nimport { type CommandDecoderDataSource } from \"@/uniswap/data/CommandDecoderDataSource\";\nimport { DefaultCommandDecoderDataSource } from \"@/uniswap/data/DefaultCommandDecoderDataSource\";\nimport { EthersAbiDecoderDataSource } from \"@/uniswap/data/EthersAbiDecoderDataSource\";\n\nimport { UniswapContextLoader } from \"./UniswapContextLoader\";\n\ndescribe(\"UniswapContextLoader\", () => {\n const commandDecoderMock: CommandDecoderDataSource = {\n decode: vi.fn(),\n };\n const tokenDataSourceMock = {\n getTokenInfosPayload: vi.fn(),\n };\n let loader: UniswapContextLoader;\n\n describe(\"load\", () => {\n describe(\"with tokenDataSourceMock\", () => {\n beforeEach(() => {\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n loader = new UniswapContextLoader(\n new DefaultCommandDecoderDataSource(new EthersAbiDecoderDataSource()),\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n );\n });\n\n it(\"should return the external plugin context and the decoded contexts\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xc9821c32c1782d9ab6baf6f9ca4b2565bce11aaf5146a2d303215bda026f5e48\n const transactionContext = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4855b000000000000000000000000000000000000000000000000000000000000000300060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000a18f07d736b90be5500000000000000000000000000000000000000000000000000000000b0b8122abd8412900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bb9f599ce614feb2e1bbe58f180f370d05b39344e002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000017cc6042605381c158d2adab487434bde79aa61c000000000000000000000000000000000000000000000000000000000000005b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b0b8122abd84129c001a053efc49d03b694742500f49aa09df2360bd7e297fa730c745e0d4320b42fc33fa01ca1c85a46c561f624830fffbae2441ba0f2d54eb5b0f17e0e3561d10db0b7ee\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload:\n \"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935\",\n },\n {\n type: \"token\",\n payload: \"payload-0xb9f599ce614feb2e1bbe58f180f370d05b39344e\",\n }, // ERC20\n {\n type: \"token\",\n payload: \"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n }, // WETH\n ]);\n });\n\n it(\"should return the external plugin context and the decoded contexts with a permit\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xc4df7ccc0527541d0e80856a8f38deedc48c84825e9355469ba02d873502ce2f\n // PERMIT2_PERMIT, V3_SWAP_EXACT_OUT, UNWRAP_ETH\n const transactionContext = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000030a010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055747be9f9f5beb232ad59fe7af013b81d95fd5e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066c32b0d0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b00000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000410d756f55acf289e9754faf91bba0a704b5c7c0aa4b1dfd551115ccbe4c7f290234e1a14265e1da0bc872a23627d997fe37a689c290d519f7b8c9bdde1b79108e1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000030ba49cbff5a00000000000000000000000000000000000000000000000089677c957272141800000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200271055747be9f9f5beb232ad59fe7af013b81d95fd5e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000030ba49cbff5a000c001a0e406d9c91c8b46d959fcd31a28518a77bb248ebb316c5fab7b98335cce922f2aa0462cb970c32a8dbfe71c57b888c43b9ed04fce41d169dbfcc745445587adb771\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload:\n \"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935\",\n },\n {\n type: \"token\",\n payload: \"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n }, // WETH\n {\n type: \"token\",\n payload: \"payload-0x55747be9f9f5beb232ad59fe7af013b81d95fd5e\",\n }, // ERC20\n ]);\n });\n\n it(\"should return an empty array if the transaction is not supported\", async () => {\n // GIVEN\n const transactionContext = {} as TransactionContext;\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([]);\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if a command is not supported\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xa628c8b3da2ad984aed0354d8ca4b4c3c42941491dc4e0d6a5f423fd65e6c90a\n // The command 0x05 (TRANSFER) is not supported\n const transactionContext = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4bef600000000000000000000000000000000000000000000000000000000000000050b0105040c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000078e6708e70aed0f000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000059a16770000000000000000000000000000000000000000000000000078e6708e70aed0f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c4700000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000059682f0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006f939b43d65be049b7533907db08e80ba6969f4500000000000000000000000000000000000000000000000000000000000000000cc080a07c86dd5813ec1f3725c402f8bea6105546d1093c59676023b971f1d83f61bd4ea02a353bf3028cabcbe68c5dc8906752bafe55afc86b6344edb3ffd8a3650332e8\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n\n describe(\"with mocked ethers parseTransaction\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n loader = new UniswapContextLoader(\n commandDecoderMock,\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n );\n });\n\n it(\"should return an array with contexts if 2 chain swaps are supported\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n } as TransactionContext;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x01\",\n \"0x04\",\n \"0x02\",\n ]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x02\",\n \"0x03\",\n ]);\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x04\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(4, { address: \"0x03\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload:\n \"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935\",\n },\n {\n type: \"token\",\n payload: \"payload-0x01\",\n },\n {\n type: \"token\",\n payload: \"payload-0x04\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n ]);\n });\n\n it(\"should return an array with contexts if 1 chain swap with a non swap command\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n } as TransactionContext;\n const commands = `0x0b0004`; // WRAP_ETH, V3_SWAP_EXACT_IN, SWEEP\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\", \"0x0003\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\"0x01\"]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x02\",\n \"0x03\",\n ]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\"0x04\"]);\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.WRAP_ETH,\n \"0x0001\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x03\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(4, { address: \"0x04\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload:\n \"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935\",\n },\n {\n type: \"token\",\n payload: \"payload-0x01\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n {\n type: \"token\",\n payload: \"payload-0x04\",\n },\n ]);\n });\n\n it(\"should return an array with contexts if one token is not found\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n } as TransactionContext;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x01\",\n \"0x02\",\n ]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x02\",\n \"0x03\",\n ]);\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockResolvedValueOnce(Left(\"error\"));\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x03\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload:\n \"07556e69737761703fc91a3afd70395cd496c647d5a6cc9d4b2b7fad3593564c3044022014391e8f355867a57fe88f6a5a4dbcb8bf8f888a9db3ff3449caf72d120396bd02200c13d9c3f79400fe0aa0434ac54d59b79503c9964a4abc3e8cd22763e0242935\",\n },\n {\n type: \"error\",\n error: \"error\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n ]);\n });\n\n it(\"should return an empty array if the if 2 chain swaps are not supported\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n } as TransactionContext;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x01\",\n \"0x02\",\n ]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x03\", // should be 0x02\n \"0x04\",\n ]);\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no command are returned from parseTransaction\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n } as TransactionContext;\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [\"\"],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no inputs are returned from parseTransaction\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n } as TransactionContext;\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [\"0x08\", []],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if parseTransaction throws an error\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n } as TransactionContext;\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockImplementation(\n () => {\n throw new Error();\n },\n );\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the swap is with multiple pool versions\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n } as TransactionContext;\n const commands = `0x080900`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT, V3_SWAP_EXACT_IN\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x00\", \"0x01\", \"0x02\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([\n \"0x01\",\n \"0x02\",\n ]);\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x00\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x01\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 3,\n UniswapSupportedCommand.V3_SWAP_EXACT_IN,\n \"0x02\",\n 0x42,\n );\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the selector is not supported\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: \"0x00000000\",\n chainId: 0x42,\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the length of the commands and inputs are different\", async () => {\n // GIVEN\n const transactionContext = {\n to: UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n } as TransactionContext;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\"]],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(transactionContext);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Interface", "Left", "Right", "ClearSignContextType", "UNISWAP_EXECUTE_SELECTOR", "UNISWAP_UNIVERSAL_ROUTER_ADDRESS", "UniswapSupportedCommand", "DefaultCommandDecoderDataSource", "EthersAbiDecoderDataSource", "UniswapContextLoader", "commandDecoderMock", "tokenDataSourceMock", "loader", "address", "transactionContext", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var l=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=(n,e,i,r)=>{for(var t=r>1?void 0:r?m(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(t=(r?c(e,i,t):c(t))||t);return r&&t&&l(e,i,t),t},s=(n,e)=>(i,r)=>e(i,r,n);import u from"axios";import{inject as C,injectable as b}from"inversify";import{Left as h,Right as y}from"purify-ts";import{configTypes as g}from"../../config/di/configTypes";import{pkiTypes as W}from"../../pki/di/pkiTypes";import{KeyUsage as D}from"../../pki/model/KeyUsage";import{LEDGER_CLIENT_VERSION_HEADER as x}from"../../shared/constant/HttpHeaders";import _ from"../../../package.json";let a=class{constructor(e,i){this.config=e;this._certificateLoader=i;if(!this.config.originToken)throw new Error("Origin token is required")}async getWeb3Checks(e){const{from:i,deviceModelId:r}=e;let t,o,c;this.isTypedDataContext(e)?(o={msg:{from:i,data:e.data}},c=`${this.config.web3checks.url}/ethereum/scan/eip-712`):(o={tx:{from:i,raw:e.rawTx},chain:e.chainId},c=`${this.config.web3checks.url}/ethereum/scan/tx`);try{t=(await u.request({method:"POST",url:c,data:o,headers:{[x]:`context-module/${_.version}`,"X-Ledger-Client-Origin":this.config.originToken}})).data}catch{return h(new Error("[ContextModule] HttpWeb3CheckDataSource: Failed to fetch web3 checks informations"))}if(!this.isWeb3CheckDto(t))return h(new Error("[ContextModule] HttpWeb3CheckDataSource: Cannot exploit Web3 checks data received"));const d=await this._certificateLoader.loadCertificate({keyId:t.public_key_id,keyUsage:D.TxSimulationSigner,targetDevice:r}),f={publicKeyId:t.public_key_id,descriptor:t.descriptor,certificate:d};return y(f)}isTypedDataContext(e){return"data"in e}isWeb3CheckDto(e){return e!=null&&typeof e=="object"&&"public_key_id"in e&&e.public_key_id!=null&&typeof e.public_key_id=="string"&&"descriptor"in e&&e.descriptor!=null&&typeof e.descriptor=="string"}};a=p([b(),s(0,C(g.Config)),s(1,C(W.PkiCertificateLoader))],a);export{a as HttpWeb3CheckDataSource};
2
+ //# sourceMappingURL=HttpWeb3CheckDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/web3-check/data/HttpWeb3CheckDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport {\n type Web3CheckContext,\n type Web3Checks,\n type Web3CheckTypedDataContext,\n} from \"@/web3-check/domain/web3CheckTypes\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { Web3CheckDataSource } from \"./Web3CheckDataSource\";\nimport { GetWeb3ChecksRequestDto, Web3CheckDto } from \"./Web3CheckDto\";\n\n@injectable()\nexport class HttpWeb3CheckDataSource implements Web3CheckDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n @inject(pkiTypes.PkiCertificateLoader)\n private readonly _certificateLoader: PkiCertificateLoader,\n ) {\n if (!this.config.originToken) {\n throw new Error(\"Origin token is required\");\n }\n }\n\n async getWeb3Checks(\n context: Web3CheckContext,\n ): Promise<Either<Error, Web3Checks>> {\n const { from, deviceModelId } = context;\n let web3CheckDto: Web3CheckDto;\n let requestDto: GetWeb3ChecksRequestDto;\n let url: string;\n if (this.isTypedDataContext(context)) {\n requestDto = {\n msg: {\n from,\n data: context.data,\n },\n };\n url = `${this.config.web3checks.url}/ethereum/scan/eip-712`;\n } else {\n requestDto = {\n tx: {\n from,\n raw: context.rawTx,\n },\n chain: context.chainId,\n };\n url = `${this.config.web3checks.url}/ethereum/scan/tx`;\n }\n\n try {\n const response = await axios.request<Web3CheckDto>({\n method: \"POST\",\n url,\n data: requestDto,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n \"X-Ledger-Client-Origin\": this.config.originToken,\n },\n });\n web3CheckDto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpWeb3CheckDataSource: Failed to fetch web3 checks informations\",\n ),\n );\n }\n\n if (!this.isWeb3CheckDto(web3CheckDto)) {\n return Left(\n new Error(\n \"[ContextModule] HttpWeb3CheckDataSource: Cannot exploit Web3 checks data received\",\n ),\n );\n }\n\n const certificate = await this._certificateLoader.loadCertificate({\n keyId: web3CheckDto.public_key_id,\n keyUsage: KeyUsage.TxSimulationSigner,\n targetDevice: deviceModelId,\n });\n\n const result: Web3Checks = {\n publicKeyId: web3CheckDto.public_key_id,\n descriptor: web3CheckDto.descriptor,\n certificate,\n };\n\n return Right(result);\n }\n\n private isTypedDataContext(\n context: Web3CheckContext,\n ): context is Web3CheckTypedDataContext {\n return \"data\" in context;\n }\n\n private isWeb3CheckDto(dto: unknown): dto is Web3CheckDto {\n return (\n dto != null &&\n typeof dto == \"object\" &&\n \"public_key_id\" in dto &&\n dto.public_key_id != null &&\n typeof dto.public_key_id == \"string\" &&\n \"descriptor\" in dto &&\n dto.descriptor != null &&\n typeof dto.descriptor == \"string\"\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAE5B,OAAS,YAAAC,MAAgB,oBAEzB,OAAS,YAAAC,MAAgB,uBACzB,OAAS,gCAAAC,MAAoC,gCAM7C,OAAOC,MAAa,qBAMb,IAAMC,EAAN,KAA6D,CAClE,YAC+CC,EAE5BC,EACjB,CAH6C,YAAAD,EAE5B,wBAAAC,EAEjB,GAAI,CAAC,KAAK,OAAO,YACf,MAAM,IAAI,MAAM,0BAA0B,CAE9C,CAEA,MAAM,cACJC,EACoC,CACpC,KAAM,CAAE,KAAAC,EAAM,cAAAC,CAAc,EAAIF,EAChC,IAAIG,EACAC,EACAC,EACA,KAAK,mBAAmBL,CAAO,GACjCI,EAAa,CACX,IAAK,CACH,KAAAH,EACA,KAAMD,EAAQ,IAChB,CACF,EACAK,EAAM,GAAG,KAAK,OAAO,WAAW,GAAG,2BAEnCD,EAAa,CACX,GAAI,CACF,KAAAH,EACA,IAAKD,EAAQ,KACf,EACA,MAAOA,EAAQ,OACjB,EACAK,EAAM,GAAG,KAAK,OAAO,WAAW,GAAG,qBAGrC,GAAI,CAUFF,GATiB,MAAMG,EAAM,QAAsB,CACjD,OAAQ,OACR,IAAAD,EACA,KAAMD,EACN,QAAS,CACP,CAACG,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,yBAA0B,KAAK,OAAO,WACxC,CACF,CAAC,GACuB,IAC1B,MAAiB,CACf,OAAOC,EACL,IAAI,MACF,mFACF,CACF,CACF,CAEA,GAAI,CAAC,KAAK,eAAeN,CAAY,EACnC,OAAOM,EACL,IAAI,MACF,mFACF,CACF,EAGF,MAAMC,EAAc,MAAM,KAAK,mBAAmB,gBAAgB,CAChE,MAAOP,EAAa,cACpB,SAAUQ,EAAS,mBACnB,aAAcT,CAChB,CAAC,EAEKU,EAAqB,CACzB,YAAaT,EAAa,cAC1B,WAAYA,EAAa,WACzB,YAAAO,CACF,EAEA,OAAOG,EAAMD,CAAM,CACrB,CAEQ,mBACNZ,EACsC,CACtC,MAAO,SAAUA,CACnB,CAEQ,eAAec,EAAmC,CACxD,OACEA,GAAO,MACP,OAAOA,GAAO,UACd,kBAAmBA,GACnBA,EAAI,eAAiB,MACrB,OAAOA,EAAI,eAAiB,UAC5B,eAAgBA,GAChBA,EAAI,YAAc,MAClB,OAAOA,EAAI,YAAc,QAE7B,CACF,EAjGajB,EAANkB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,GACzBF,EAAA,EAAAC,EAAOE,EAAS,oBAAoB,IAH5BvB",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "pkiTypes", "KeyUsage", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "HttpWeb3CheckDataSource", "config", "_certificateLoader", "context", "from", "deviceModelId", "web3CheckDto", "requestDto", "url", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "Left", "certificate", "KeyUsage", "result", "Right", "dto", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes", "pkiTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{DeviceModelId as n}from"@ledgerhq/device-management-kit";import c from"axios";import{Left as u,Right as d}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as p}from"../../shared/constant/HttpHeaders";import{HttpWeb3CheckDataSource as i}from"../../web3-check/data/HttpWeb3CheckDataSource";import l from"../../../package.json";vi.mock("axios");describe("HttpWeb3CheckDataSource",()=>{const r={web3checks:{url:"web3checksUrl"},originToken:"originToken"},e={loadCertificate:vi.fn()};beforeEach(()=>{vi.resetAllMocks()}),describe("getWeb3Checks",()=>{it("should return an object if the request is successful",async()=>{const t={deviceModelId:n.FLEX,from:"from",rawTx:"rawTx",chainId:1},o={public_key_id:"partner",descriptor:"descriptor"};vi.spyOn(c,"request").mockResolvedValueOnce({data:o}),vi.spyOn(e,"loadCertificate").mockResolvedValueOnce(void 0);const a=await new i(r,e).getWeb3Checks(t);expect(a).toEqual(d({publicKeyId:"partner",descriptor:"descriptor"}))}),it("should return an object if the typed data request is successful",async()=>{const t={deviceModelId:n.FLEX,from:"from",data:"typed data"},o={public_key_id:"partner",descriptor:"descriptor"};vi.spyOn(c,"request").mockResolvedValueOnce({data:o}),vi.spyOn(e,"loadCertificate").mockResolvedValueOnce(void 0);const a=await new i(r,e).getWeb3Checks(t);expect(a).toEqual(d({publicKeyId:"partner",descriptor:"descriptor"}))}),it("should return an object with a certificate if the request is successful",async()=>{const t={deviceModelId:n.FLEX,from:"from",rawTx:"rawTx",chainId:1},o={public_key_id:"partner",descriptor:"descriptor"};vi.spyOn(c,"request").mockResolvedValueOnce({data:o}),vi.spyOn(e,"loadCertificate").mockResolvedValueOnce({keyUsageNumber:11,payload:new Uint8Array([1])});const a=await new i(r,e).getWeb3Checks(t);expect(a).toEqual(d({publicKeyId:"partner",descriptor:"descriptor",certificate:{keyUsageNumber:11,payload:new Uint8Array([1])}}))}),it("should return an error if the request fails",async()=>{const t={deviceModelId:n.FLEX,from:"from",rawTx:"rawTx",chainId:1};vi.spyOn(c,"request").mockRejectedValue(new Error("error"));const s=await new i(r,e).getWeb3Checks(t);expect(s).toEqual(u(new Error("[ContextModule] HttpWeb3CheckDataSource: Failed to fetch web3 checks informations")))}),it("should return an error if the response is invalid",async()=>{const t={deviceModelId:n.FLEX,from:"from",rawTx:"rawTx",chainId:1},o={};vi.spyOn(c,"request").mockResolvedValue({data:o}),vi.spyOn(e,"loadCertificate").mockResolvedValue(void 0);const a=await new i(r,e).getWeb3Checks(t);expect(a).toEqual(u(new Error("[ContextModule] HttpWeb3CheckDataSource: Cannot exploit Web3 checks data received")))}),it("should throw an error if origin token is not provided",()=>{expect(()=>new i({...r,originToken:void 0},e)).toThrow("Origin token is required")}),it("should call axios with the correct headers",async()=>{const t={deviceModelId:n.FLEX,from:"from",rawTx:"rawTx",chainId:1};vi.spyOn(c,"request").mockResolvedValueOnce({data:{}}),await new i(r,e).getWeb3Checks(t),expect(c.request).toHaveBeenCalledWith(expect.objectContaining({headers:{[p]:`context-module/${l.version}`,"X-Ledger-Client-Origin":r.originToken}}))})})});
2
+ //# sourceMappingURL=HttpWeb3CheckDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/web3-check/data/HttpWeb3CheckDataSource.test.ts"],
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport { HttpWeb3CheckDataSource } from \"@/web3-check/data/HttpWeb3CheckDataSource\";\nimport { type Web3CheckDto } from \"@/web3-check/data/Web3CheckDto\";\nimport type { Web3CheckTypedData } from \"@/web3-check/domain/web3CheckTypes\";\nimport { type Web3CheckContext } from \"@/web3-check/domain/web3CheckTypes\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\ndescribe(\"HttpWeb3CheckDataSource\", () => {\n const config = {\n web3checks: {\n url: \"web3checksUrl\",\n },\n originToken: \"originToken\",\n } as ContextModuleConfig;\n const certificateLoaderMock = {\n loadCertificate: vi.fn(),\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"getWeb3Checks\", () => {\n it(\"should return an object if the request is successful\", async () => {\n // GIVEN\n const params: Web3CheckContext = {\n deviceModelId: DeviceModelId.FLEX,\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n };\n const dto: Web3CheckDto = {\n public_key_id: \"partner\",\n descriptor: \"descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValueOnce(\n undefined,\n );\n\n // WHEN\n const dataSource = new HttpWeb3CheckDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n const result = await dataSource.getWeb3Checks(params);\n\n // THEN\n expect(result).toEqual(\n Right({\n publicKeyId: \"partner\",\n descriptor: \"descriptor\",\n }),\n );\n });\n\n it(\"should return an object if the typed data request is successful\", async () => {\n // GIVEN\n const params: Web3CheckContext = {\n deviceModelId: DeviceModelId.FLEX,\n from: \"from\",\n data: \"typed data\" as unknown as Web3CheckTypedData,\n };\n const dto: Web3CheckDto = {\n public_key_id: \"partner\",\n descriptor: \"descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValueOnce(\n undefined,\n );\n\n // WHEN\n const dataSource = new HttpWeb3CheckDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n const result = await dataSource.getWeb3Checks(params);\n\n // THEN\n expect(result).toEqual(\n Right({\n publicKeyId: \"partner\",\n descriptor: \"descriptor\",\n }),\n );\n });\n\n it(\"should return an object with a certificate if the request is successful\", async () => {\n // GIVEN\n const params: Web3CheckContext = {\n deviceModelId: DeviceModelId.FLEX,\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n };\n const dto: Web3CheckDto = {\n public_key_id: \"partner\",\n descriptor: \"descriptor\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: dto });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValueOnce({\n keyUsageNumber: 11,\n payload: new Uint8Array([0x01]),\n });\n\n // WHEN\n const dataSource = new HttpWeb3CheckDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n const result = await dataSource.getWeb3Checks(params);\n\n // THEN\n expect(result).toEqual(\n Right({\n publicKeyId: \"partner\",\n descriptor: \"descriptor\",\n certificate: { keyUsageNumber: 11, payload: new Uint8Array([0x01]) },\n }),\n );\n });\n\n it(\"should return an error if the request fails\", async () => {\n // GIVEN\n const params: Web3CheckContext = {\n deviceModelId: DeviceModelId.FLEX,\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n };\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"error\"));\n\n // WHEN\n const dataSource = new HttpWeb3CheckDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n const result = await dataSource.getWeb3Checks(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpWeb3CheckDataSource: Failed to fetch web3 checks informations\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the response is invalid\", async () => {\n // GIVEN\n const params: Web3CheckContext = {\n deviceModelId: DeviceModelId.FLEX,\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n };\n const dto = {};\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: dto });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const dataSource = new HttpWeb3CheckDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n const result = await dataSource.getWeb3Checks(params);\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpWeb3CheckDataSource: Cannot exploit Web3 checks data received\",\n ),\n ),\n );\n });\n\n it(\"should throw an error if origin token is not provided\", () => {\n expect(\n () =>\n new HttpWeb3CheckDataSource(\n { ...config, originToken: undefined },\n certificateLoaderMock as unknown as PkiCertificateLoader,\n ),\n ).toThrow(\"Origin token is required\");\n });\n\n it(\"should call axios with the correct headers\", async () => {\n // GIVEN\n const params: Web3CheckContext = {\n deviceModelId: DeviceModelId.FLEX,\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: {} });\n\n // WHEN\n const dataSource = new HttpWeb3CheckDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n await dataSource.getWeb3Checks(params);\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n \"X-Ledger-Client-Origin\": config.originToken,\n },\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceModelId", "axios", "Left", "Right", "LEDGER_CLIENT_VERSION_HEADER", "HttpWeb3CheckDataSource", "PACKAGE", "config", "certificateLoaderMock", "params", "dto", "result"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Web3CheckDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Web3CheckDto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ContainerModule as t}from"inversify";import{HttpWeb3CheckDataSource as r}from"../../web3-check/data/HttpWeb3CheckDataSource";import{DefaultWeb3CheckContextLoader as c}from"../../web3-check/domain/DefaultWeb3CheckLoader";import{web3CheckTypes as o}from"./web3CheckTypes";const u=()=>new t((e,a,n,C)=>{e(o.Web3CheckDataSource).to(r),e(o.Web3CheckContextLoader).to(c)});export{u as web3CheckModuleFactory};
2
+ //# sourceMappingURL=web3CheckModuleFactory.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/web3-check/di/web3CheckModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpWeb3CheckDataSource } from \"@/web3-check/data/HttpWeb3CheckDataSource\";\nimport { DefaultWeb3CheckContextLoader } from \"@/web3-check/domain/DefaultWeb3CheckLoader\";\n\nimport { web3CheckTypes } from \"./web3CheckTypes\";\n\nexport const web3CheckModuleFactory = () =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n bind(web3CheckTypes.Web3CheckDataSource).to(HttpWeb3CheckDataSource);\n bind(web3CheckTypes.Web3CheckContextLoader).to(\n DefaultWeb3CheckContextLoader,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,iCAAAC,MAAqC,6CAE9C,OAAS,kBAAAC,MAAsB,mBAExB,MAAMC,EAAyB,IACpC,IAAIJ,EAAgB,CAACK,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAAKF,EAAe,mBAAmB,EAAE,GAAGF,CAAuB,EACnEI,EAAKF,EAAe,sBAAsB,EAAE,GAC1CD,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "HttpWeb3CheckDataSource", "DefaultWeb3CheckContextLoader", "web3CheckTypes", "web3CheckModuleFactory", "bind", "_unbind", "_isBound", "_rebind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ const e={Web3CheckDataSource:Symbol.for("Web3CheckDataSource"),Web3CheckContextLoader:Symbol.for("Web3CheckContextLoader")};export{e as web3CheckTypes};
2
+ //# sourceMappingURL=web3CheckTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/web3-check/di/web3CheckTypes.ts"],
4
+ "sourcesContent": ["export const web3CheckTypes = {\n Web3CheckDataSource: Symbol.for(\"Web3CheckDataSource\"),\n Web3CheckContextLoader: Symbol.for(\"Web3CheckContextLoader\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAiB,CAC5B,oBAAqB,OAAO,IAAI,qBAAqB,EACrD,uBAAwB,OAAO,IAAI,wBAAwB,CAC7D",
6
+ "names": ["web3CheckTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var p=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var h=(o,e,c,t)=>{for(var r=t>1?void 0:t?b(e,c):e,i=o.length-1,m;i>=0;i--)(m=o[i])&&(r=(t?m(e,c,r):m(r))||r);return t&&r&&p(e,c,r),r},s=(o,e)=>(c,t)=>e(c,t,o);import{inject as C,injectable as k}from"inversify";import{web3CheckTypes as W}from"../../web3-check/di/web3CheckTypes";let a=class{_dataSource;constructor(e){this._dataSource=e}async load(e){return await this._dataSource.getWeb3Checks(e)}};a=h([k(),s(0,C(W.Web3CheckDataSource))],a);export{a as DefaultWeb3CheckContextLoader};
2
+ //# sourceMappingURL=DefaultWeb3CheckLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/web3-check/domain/DefaultWeb3CheckLoader.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either } from \"purify-ts\";\n\nimport { type Web3CheckDataSource } from \"@/web3-check/data/Web3CheckDataSource\";\nimport { web3CheckTypes } from \"@/web3-check/di/web3CheckTypes\";\n\nimport { Web3CheckContextLoader } from \"./Web3CheckContextLoader\";\nimport { Web3CheckContext, Web3Checks } from \"./web3CheckTypes\";\n\n@injectable()\nexport class DefaultWeb3CheckContextLoader implements Web3CheckContextLoader {\n private _dataSource: Web3CheckDataSource;\n\n constructor(\n @inject(web3CheckTypes.Web3CheckDataSource)\n dataSource: Web3CheckDataSource,\n ) {\n this._dataSource = dataSource;\n }\n\n async load(\n web3CheckContext: Web3CheckContext,\n ): Promise<Either<Error, Web3Checks>> {\n return await this._dataSource.getWeb3Checks(web3CheckContext);\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAInC,OAAS,kBAAAC,MAAsB,iCAMxB,IAAMC,EAAN,KAAsE,CACnE,YAER,YAEEC,EACA,CACA,KAAK,YAAcA,CACrB,CAEA,MAAM,KACJC,EACoC,CACpC,OAAO,MAAM,KAAK,YAAY,cAAcA,CAAgB,CAC9D,CACF,EAfaF,EAANG,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAe,mBAAmB,IAJjCP",
6
+ "names": ["inject", "injectable", "web3CheckTypes", "DefaultWeb3CheckContextLoader", "dataSource", "web3CheckContext", "__decorateClass", "injectable", "__decorateParam", "inject", "web3CheckTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{DefaultWeb3CheckContextLoader as a}from"../../web3-check/domain/DefaultWeb3CheckLoader";describe("DefaultWeb3CheckLoader",()=>{describe("load",()=>{it("should call the dataSource with the correct params",async()=>{const e={getWeb3Checks:vi.fn()},t={from:"from",rawTx:"rawTx",chainId:1};await new a(e).load(t),expect(e.getWeb3Checks).toHaveBeenCalledWith({from:"from",rawTx:"rawTx",chainId:1})})})});
2
+ //# sourceMappingURL=DefaultWeb3CheckLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/web3-check/domain/DefaultWeb3CheckLoader.test.ts"],
4
+ "sourcesContent": ["import { DefaultWeb3CheckContextLoader } from \"@/web3-check/domain/DefaultWeb3CheckLoader\";\nimport { type Web3CheckContext } from \"@/web3-check/domain/web3CheckTypes\";\n\ndescribe(\"DefaultWeb3CheckLoader\", () => {\n describe(\"load\", () => {\n it(\"should call the dataSource with the correct params\", async () => {\n // GIVEN\n const dataSource = {\n getWeb3Checks: vi.fn(),\n };\n const web3CheckContext = {\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n } as unknown as Web3CheckContext;\n\n // WHEN\n const loader = new DefaultWeb3CheckContextLoader(dataSource);\n await loader.load(web3CheckContext);\n\n // THEN\n expect(dataSource.getWeb3Checks).toHaveBeenCalledWith({\n from: \"from\",\n rawTx: \"rawTx\",\n chainId: 1,\n });\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,iCAAAA,MAAqC,6CAG9C,SAAS,yBAA0B,IAAM,CACvC,SAAS,OAAQ,IAAM,CACrB,GAAG,qDAAsD,SAAY,CAEnE,MAAMC,EAAa,CACjB,cAAe,GAAG,GAAG,CACvB,EACMC,EAAmB,CACvB,KAAM,OACN,MAAO,QACP,QAAS,CACX,EAIA,MADe,IAAIF,EAA8BC,CAAU,EAC9C,KAAKC,CAAgB,EAGlC,OAAOD,EAAW,aAAa,EAAE,qBAAqB,CACpD,KAAM,OACN,MAAO,QACP,QAAS,CACX,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["DefaultWeb3CheckContextLoader", "dataSource", "web3CheckContext"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Web3CheckContextLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=web3CheckTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -2,9 +2,11 @@ import { type ClearSignContext } from "./shared/model/ClearSignContext";
2
2
  import { type TransactionContext, type TransactionFieldContext } from "./shared/model/TransactionContext";
3
3
  import { type TypedDataClearSignContext } from "./shared/model/TypedDataClearSignContext";
4
4
  import { type TypedDataContext } from "./shared/model/TypedDataContext";
5
+ import { type Web3CheckContext } from "./web3-check/domain/web3CheckTypes";
5
6
  export interface ContextModule {
6
7
  getContext(field: TransactionFieldContext): Promise<ClearSignContext>;
7
8
  getContexts(transaction: TransactionContext): Promise<ClearSignContext[]>;
8
9
  getTypedDataFilters(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
10
+ getWeb3Checks(transactionContext: Web3CheckContext): Promise<ClearSignContext | null>;
9
11
  }
10
12
  //# sourceMappingURL=ContextModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextModule.d.ts","sourceRoot":"","sources":["../../../src/ContextModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,WAAW,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1E,mBAAmB,CACjB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"ContextModule.d.ts","sourceRoot":"","sources":["../../../src/ContextModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,WAAW,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1E,mBAAmB,CACjB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,aAAa,CACX,kBAAkB,EAAE,gBAAgB,GACnC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACrC"}
@@ -1,11 +1,15 @@
1
- import { type ContextModuleCalConfig, type ContextModuleConfig } from "./config/model/ContextModuleConfig";
1
+ import { type ContextModuleConstructorArgs } from "./config/model/ContextModuleBuildArgs";
2
+ import { type ContextModuleCalConfig, type ContextModuleConfig, type ContextModuleWeb3ChecksConfig } from "./config/model/ContextModuleConfig";
2
3
  import { type ContextLoader } from "./shared/domain/ContextLoader";
3
4
  import { type TypedDataContextLoader } from "./typed-data/domain/TypedDataContextLoader";
5
+ import { type Web3CheckContextLoader } from "./web3-check/domain/Web3CheckContextLoader";
4
6
  import { type ContextModule } from "./ContextModule";
5
7
  export declare const DEFAULT_CONFIG: ContextModuleConfig;
6
8
  export declare class ContextModuleBuilder {
7
9
  private config;
8
- constructor();
10
+ private needOriginToken;
11
+ private originToken?;
12
+ constructor({ originToken }?: ContextModuleConstructorArgs);
9
13
  /**
10
14
  * Remove default loaders from the list of loaders
11
15
  *
@@ -26,6 +30,13 @@ export declare class ContextModuleBuilder {
26
30
  * @returns this
27
31
  */
28
32
  addTypedDataLoader(loader: TypedDataContextLoader): this;
33
+ /**
34
+ * Replace the default loader for web3 checks
35
+ *
36
+ * @param loader loader to use for web3 checks
37
+ * @returns this
38
+ */
39
+ addWeb3CheckLoader(loader: Web3CheckContextLoader): this;
29
40
  /**
30
41
  * Add a custom CAL configuration
31
42
  *
@@ -33,6 +44,13 @@ export declare class ContextModuleBuilder {
33
44
  * @returns this
34
45
  */
35
46
  addCalConfig(calConfig: ContextModuleCalConfig): this;
47
+ /**
48
+ * Add a custom web3 checks configuration
49
+ *
50
+ * @param web3ChecksConfig
51
+ * @returns this
52
+ */
53
+ addWeb3ChecksConfig(web3ChecksConfig: ContextModuleWeb3ChecksConfig): this;
36
54
  /**
37
55
  * Build the context module
38
56
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ContextModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,eAAO,MAAM,cAAc,EAAE,mBAS5B,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAuC;;IAIrD;;;;OAIG;IACH,oBAAoB;IAKpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;IAK/B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,sBAAsB;IAKjD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB;IAK9C;;;;OAIG;IACH,KAAK,IAAI,aAAa;CAGvB"}
1
+ {"version":3,"file":"ContextModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,eAAO,MAAM,cAAc,EAAE,mBAY5B,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,EAAE,WAAW,EAAE,GAAE,4BAAiC;IAI9D;;;;OAIG;IACH,oBAAoB;IAKpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;IAK/B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,sBAAsB;IAKjD;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,sBAAsB;IAMjD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB;IAK9C;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,6BAA6B;IAQnE;;;;OAIG;IACH,KAAK,IAAI,aAAa;CAQvB"}
@@ -1,18 +1,22 @@
1
1
  import type { TypedDataClearSignContext } from "./shared/model/TypedDataClearSignContext";
2
2
  import type { TypedDataContext } from "./shared/model/TypedDataContext";
3
3
  import { type ContextModuleConfig } from "./config/model/ContextModuleConfig";
4
- import { type ClearSignContext } from "./shared/model/ClearSignContext";
4
+ import { type ClearSignContext, type ClearSignContextSuccess, ClearSignContextType } from "./shared/model/ClearSignContext";
5
5
  import { type TransactionContext, type TransactionFieldContext } from "./shared/model/TransactionContext";
6
+ import { type Web3CheckContext } from "./web3-check/domain/web3CheckTypes";
6
7
  import { type ContextModule } from "./ContextModule";
7
8
  export declare class DefaultContextModule implements ContextModule {
8
9
  private _container;
9
10
  private _loaders;
10
11
  private _typedDataLoader;
12
+ private _web3CheckLoader;
11
13
  constructor(args: ContextModuleConfig);
12
14
  private _getDefaultLoaders;
13
15
  private _getDefaultTypedDataLoader;
16
+ private _getWeb3CheckLoader;
14
17
  getContexts(transaction: TransactionContext): Promise<ClearSignContext[]>;
15
18
  getContext(field: TransactionFieldContext): Promise<ClearSignContext>;
16
19
  getTypedDataFilters(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
20
+ getWeb3Checks(transactionContext: Web3CheckContext): Promise<ClearSignContextSuccess<ClearSignContextType.WEB3_CHECK> | null>;
17
21
  }
18
22
  //# sourceMappingURL=DefaultContextModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultContextModule.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAIxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAM9E,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,IAAI,EAAE,mBAAmB;IAQrC,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,0BAA0B;IAMrB,WAAW,CACtB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAMjB,UAAU,CACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAaf,mBAAmB,CAC9B,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC;CAGtC"}
1
+ {"version":3,"file":"DefaultContextModule.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAIxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAM9E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAW3C,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,IAAI,EAAE,mBAAmB;IAUrC,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,mBAAmB;IAMd,WAAW,CACtB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAMjB,UAAU,CACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAaf,mBAAmB,CAC9B,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC;IAIxB,aAAa,CACxB,kBAAkB,EAAE,gBAAgB,GACnC,OAAO,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CAY5E"}
@@ -1,4 +1,5 @@
1
1
  export declare const configTypes: {
2
2
  Config: symbol;
3
+ OriginToken: symbol;
3
4
  };
4
5
  //# sourceMappingURL=configTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../../../../src/config/di/configTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;CAEvB,CAAC"}
1
+ {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../../../../src/config/di/configTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;CAGvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type ContextModuleConstructorArgs = {
2
+ originToken?: string;
3
+ };
4
+ //# sourceMappingURL=ContextModuleBuildArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextModuleBuildArgs.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleBuildArgs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type ContextLoader } from "../../shared/domain/ContextLoader";
2
2
  import { type TypedDataContextLoader } from "../../typed-data/domain/TypedDataContextLoader";
3
+ import { type Web3CheckContextLoader } from "../../web3-check/domain/Web3CheckContextLoader";
3
4
  export type ContextModuleCalMode = "prod" | "test";
4
5
  export type ContextModuleCalBranch = "next" | "main" | "demo";
5
6
  export type ContextModuleCalConfig = {
@@ -7,10 +8,16 @@ export type ContextModuleCalConfig = {
7
8
  mode: ContextModuleCalMode;
8
9
  branch: ContextModuleCalBranch;
9
10
  };
11
+ export type ContextModuleWeb3ChecksConfig = {
12
+ url: string;
13
+ };
10
14
  export type ContextModuleConfig = {
11
15
  cal: ContextModuleCalConfig;
16
+ web3checks: ContextModuleWeb3ChecksConfig;
12
17
  defaultLoaders: boolean;
13
18
  customLoaders: ContextLoader[];
14
19
  customTypedDataLoader?: TypedDataContextLoader;
20
+ customWeb3CheckLoader?: Web3CheckContextLoader;
21
+ originToken?: string;
15
22
  };
16
23
  //# sourceMappingURL=ContextModuleConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextModuleConfig.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC"}
1
+ {"version":3,"file":"ContextModuleConfig.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,UAAU,EAAE,6BAA6B,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAQ9E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB,iBAAiB,cAc1D,CAAC"}
1
+ {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAW9E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB,iBAAiB,cAiB1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpExternalPluginDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,OAAO,EACL,wBAAwB,EACxB,YAAY,EACb,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAI9D,qBACa,4BAA6B,YAAW,wBAAwB;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAGpE,YAAY,CAAC,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;CA8DhE"}
1
+ {"version":3,"file":"HttpExternalPluginDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,OAAO,EACL,wBAAwB,EACxB,YAAY,EACb,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAK9D,qBACa,4BAA6B,YAAW,wBAAwB;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAGpE,YAAY,CAAC,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;CA8DhE"}
@@ -4,6 +4,11 @@ export * from "./ContextModuleBuilder";
4
4
  export * from "./DefaultContextModule";
5
5
  export * from "./external-plugin/domain/ExternalPluginContextLoader";
6
6
  export * from "./nft/domain/NftContextLoader";
7
+ export * from "./pki/domain/PkiCertificateLoader";
8
+ export * from "./pki/model/KeyId";
9
+ export * from "./pki/model/KeyUsage";
10
+ export * from "./pki/model/PkiCertificate";
11
+ export * from "./pki/model/PkiCertificateInfo";
7
12
  export * from "./shared/domain/ContextLoader";
8
13
  export * from "./shared/model/ClearSignContext";
9
14
  export * from "./shared/model/GenericPath";
@@ -13,4 +18,6 @@ export * from "./shared/model/TypedDataClearSignContext";
13
18
  export * from "./shared/model/TypedDataContext";
14
19
  export * from "./token/domain/TokenContextLoader";
15
20
  export * from "./trusted-name/domain/TrustedNameContextLoader";
21
+ export * from "./web3-check/domain/Web3CheckContextLoader";
22
+ export * from "./web3-check/domain/web3CheckTypes";
16
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sDAAsD,CAAC;AACrE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sDAAsD,CAAC;AACrE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpNftDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/nft/data/HttpNftDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAGlC,qBACa,iBAAkB,YAAW,aAAa;IACxC,mBAAmB,CAAC,EAC/B,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IA0BhD,kBAAkB,CAAC,EAC9B,OAAO,EACP,OAAO,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAqB7D"}
1
+ {"version":3,"file":"HttpNftDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/nft/data/HttpNftDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAIlC,qBACa,iBAAkB,YAAW,aAAa;IACxC,mBAAmB,CAAC,EAC/B,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IA0BhD,kBAAkB,CAAC,EAC9B,OAAO,EACP,OAAO,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAqB7D"}
@@ -0,0 +1,12 @@
1
+ import { Either } from "purify-ts";
2
+ import type { ContextModuleConfig } from "../../config/model/ContextModuleConfig";
3
+ import { PkiCertificate } from "../../pki/model/PkiCertificate";
4
+ import { PkiCertificateInfo } from "../../pki/model/PkiCertificateInfo";
5
+ import { type PkiCertificateDataSource } from "./PkiCertificateDataSource";
6
+ export declare class HttpPkiCertificateDataSource implements PkiCertificateDataSource {
7
+ private readonly config;
8
+ constructor(config: ContextModuleConfig);
9
+ fetchCertificate(pkiCertificateInfo: PkiCertificateInfo): Promise<Either<Error, PkiCertificate | undefined>>;
10
+ private isValidPkiCertificateResponse;
11
+ }
12
+ //# sourceMappingURL=HttpPkiCertificateDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpPkiCertificateDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/pki/data/HttpPkiCertificateDataSource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAOpE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAM3E,qBACa,4BAA6B,YAAW,wBAAwB;IAE7C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAGpE,gBAAgB,CACpB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;IAqErD,OAAO,CAAC,6BAA6B;CAoBtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HttpPkiCertificateDataSource.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpPkiCertificateDataSource.test.d.ts","sourceRoot":"","sources":["../../../../../src/pki/data/HttpPkiCertificateDataSource.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { type Either } from "purify-ts";
2
+ import { type PkiCertificate } from "../../pki/model/PkiCertificate";
3
+ import { type PkiCertificateInfo } from "../../pki/model/PkiCertificateInfo";
4
+ export interface PkiCertificateDataSource {
5
+ fetchCertificate(certificateInfos: PkiCertificateInfo): Promise<Either<Error, PkiCertificate | undefined>>;
6
+ }
7
+ //# sourceMappingURL=PkiCertificateDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PkiCertificateDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/pki/data/PkiCertificateDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CACd,gBAAgB,EAAE,kBAAkB,GACnC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;CACvD"}
@@ -0,0 +1,23 @@
1
+ export type PkiCertificateRequestDto = {
2
+ public_key_id: string | undefined;
3
+ public_key_usage: string;
4
+ output: string;
5
+ target_device: string;
6
+ latest: boolean;
7
+ };
8
+ export type PkiCertificateResponseDto = {
9
+ id: string;
10
+ target_device: string;
11
+ not_valid_after: string;
12
+ public_key_usage: string;
13
+ certificate_version: string;
14
+ descriptor: {
15
+ data: string;
16
+ descriptorType: string;
17
+ signatures: {
18
+ prod: string;
19
+ test: string;
20
+ };
21
+ };
22
+ };
23
+ //# sourceMappingURL=pkiDataSourceTypes.d.ts.map