@ledgerhq/context-module 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (752) hide show
  1. package/README.md +4 -6
  2. package/lib/cjs/index.js +2 -20
  3. package/lib/cjs/index.js.map +7 -1
  4. package/lib/cjs/package.json +54 -59
  5. package/lib/cjs/src/ContextModule.js +2 -3
  6. package/lib/cjs/src/ContextModule.js.map +7 -1
  7. package/lib/cjs/src/ContextModuleBuilder.js +2 -87
  8. package/lib/cjs/src/ContextModuleBuilder.js.map +7 -1
  9. package/lib/cjs/src/ContextModuleBuilder.test.js +2 -0
  10. package/lib/cjs/src/ContextModuleBuilder.test.js.map +7 -0
  11. package/lib/cjs/src/DefaultContextModule.js +2 -21
  12. package/lib/cjs/src/DefaultContextModule.js.map +7 -1
  13. package/lib/cjs/src/DefaultContextModule.test.js +2 -0
  14. package/lib/cjs/src/DefaultContextModule.test.js.map +7 -0
  15. package/lib/cjs/src/config/di/configModuleFactory.js +2 -10
  16. package/lib/cjs/src/config/di/configModuleFactory.js.map +7 -1
  17. package/lib/cjs/src/config/di/configTypes.js +2 -7
  18. package/lib/cjs/src/config/di/configTypes.js.map +7 -1
  19. package/lib/cjs/src/config/model/ContextModuleConfig.js +2 -3
  20. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +7 -1
  21. package/lib/cjs/src/di.js +2 -17
  22. package/lib/cjs/src/di.js.map +7 -1
  23. package/lib/cjs/src/external-plugin/data/DAppDto.js +2 -3
  24. package/lib/cjs/src/external-plugin/data/DAppDto.js.map +7 -1
  25. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js +2 -3
  26. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  27. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -83
  28. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  29. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  30. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  31. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +2 -13
  32. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  33. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js +2 -8
  34. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  35. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -136
  36. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  37. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  38. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  39. package/lib/cjs/src/external-plugin/model/DappInfos.js +2 -3
  40. package/lib/cjs/src/external-plugin/model/DappInfos.js.map +7 -1
  41. package/lib/cjs/src/external-plugin/model/SelectorDetails.js +2 -3
  42. package/lib/cjs/src/external-plugin/model/SelectorDetails.js.map +7 -1
  43. package/lib/cjs/src/index.js +2 -30
  44. package/lib/cjs/src/index.js.map +7 -1
  45. package/lib/cjs/src/nft/data/HttpNftDataSource.js +2 -57
  46. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +7 -1
  47. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +2 -0
  48. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  49. package/lib/cjs/src/nft/data/NftDataSource.js +2 -3
  50. package/lib/cjs/src/nft/data/NftDataSource.js.map +7 -1
  51. package/lib/cjs/src/nft/di/nftModuleFactory.js +2 -13
  52. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +7 -1
  53. package/lib/cjs/src/nft/di/nftTypes.js +2 -8
  54. package/lib/cjs/src/nft/di/nftTypes.js.map +7 -1
  55. package/lib/cjs/src/nft/domain/NftContextLoader.js +2 -111
  56. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +7 -1
  57. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +2 -0
  58. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +7 -0
  59. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  60. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  61. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  62. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  63. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js +2 -0
  64. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  65. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js +2 -0
  66. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  67. package/lib/cjs/src/pki/di/pkiModuleFactory.js +2 -0
  68. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +7 -0
  69. package/lib/cjs/src/pki/di/pkiTypes.js +2 -0
  70. package/lib/cjs/src/pki/di/pkiTypes.js.map +7 -0
  71. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  72. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  73. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  74. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  75. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js +2 -0
  76. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  77. package/lib/cjs/src/pki/model/KeyId.js +2 -0
  78. package/lib/cjs/src/pki/model/KeyId.js.map +7 -0
  79. package/lib/cjs/src/pki/model/KeyUsage.js +2 -0
  80. package/lib/cjs/src/pki/model/KeyUsage.js.map +7 -0
  81. package/lib/cjs/src/pki/model/PkiCertificate.js +2 -0
  82. package/lib/cjs/src/pki/model/PkiCertificate.js.map +7 -0
  83. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +2 -0
  84. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +7 -0
  85. package/lib/cjs/src/shared/domain/ContextLoader.js +2 -3
  86. package/lib/cjs/src/shared/domain/ContextLoader.js.map +7 -1
  87. package/lib/cjs/src/shared/model/ClearSignContext.js +2 -13
  88. package/lib/cjs/src/shared/model/ClearSignContext.js.map +7 -1
  89. package/lib/cjs/src/shared/model/GenericPath.js +2 -0
  90. package/lib/cjs/src/shared/model/GenericPath.js.map +7 -0
  91. package/lib/cjs/src/shared/model/SignatureTags.js +2 -0
  92. package/lib/cjs/src/shared/model/SignatureTags.js.map +7 -0
  93. package/lib/cjs/src/shared/model/TransactionContext.js +2 -3
  94. package/lib/cjs/src/shared/model/TransactionContext.js.map +7 -1
  95. package/lib/cjs/src/shared/model/TransactionSubset.js +2 -3
  96. package/lib/cjs/src/shared/model/TransactionSubset.js.map +7 -1
  97. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +2 -6
  98. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  99. package/lib/cjs/src/shared/model/TypedDataContext.js +2 -3
  100. package/lib/cjs/src/shared/model/TypedDataContext.js.map +7 -1
  101. package/lib/cjs/src/shared/utils/HexStringUtils.js +2 -15
  102. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +7 -1
  103. package/lib/cjs/src/shared/utils/HexStringUtils.test.js +2 -0
  104. package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +7 -0
  105. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +2 -0
  106. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +7 -0
  107. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +2 -0
  108. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  109. package/lib/cjs/src/token/data/HttpTokenDataSource.js +2 -83
  110. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +7 -1
  111. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +2 -0
  112. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  113. package/lib/cjs/src/token/data/TokenDataSource.js +2 -3
  114. package/lib/cjs/src/token/data/TokenDataSource.js.map +7 -1
  115. package/lib/cjs/src/token/data/TokenDto.js +2 -3
  116. package/lib/cjs/src/token/data/TokenDto.js.map +7 -1
  117. package/lib/cjs/src/token/di/tokenModuleFactory.js +2 -13
  118. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +7 -1
  119. package/lib/cjs/src/token/di/tokenTypes.js +2 -8
  120. package/lib/cjs/src/token/di/tokenTypes.js.map +7 -1
  121. package/lib/cjs/src/token/domain/TokenContextLoader.js +2 -74
  122. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +7 -1
  123. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +2 -0
  124. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +7 -0
  125. package/lib/cjs/src/transaction/data/CalldataDto.js +2 -0
  126. package/lib/cjs/src/transaction/data/CalldataDto.js.map +7 -0
  127. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +2 -0
  128. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  129. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  130. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  131. package/lib/cjs/src/transaction/data/TransactionDataSource.js +2 -0
  132. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +7 -0
  133. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +2 -0
  134. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +7 -0
  135. package/lib/cjs/src/transaction/di/transactionTypes.js +2 -0
  136. package/lib/cjs/src/transaction/di/transactionTypes.js.map +7 -0
  137. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +2 -0
  138. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  139. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  140. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  141. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  142. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  143. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  144. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  145. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +2 -0
  146. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  147. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +2 -0
  148. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  149. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  150. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  151. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +2 -0
  152. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  153. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  154. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  155. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  156. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  157. package/lib/cjs/src/typed-data/data/FiltersDto.js +2 -3
  158. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +7 -1
  159. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +2 -163
  160. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  161. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  162. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  163. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +2 -3
  164. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  165. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +2 -13
  166. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  167. package/lib/cjs/src/typed-data/di/typedDataTypes.js +2 -8
  168. package/lib/cjs/src/typed-data/di/typedDataTypes.js.map +7 -1
  169. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -127
  170. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  171. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  172. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  173. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js +2 -3
  174. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  175. package/lib/cjs/src/uniswap/constants/plugin.js +2 -0
  176. package/lib/cjs/src/uniswap/constants/plugin.js.map +7 -0
  177. package/lib/cjs/src/uniswap/constants/uniswap.js +2 -0
  178. package/lib/cjs/src/uniswap/constants/uniswap.js.map +7 -0
  179. package/lib/cjs/src/uniswap/constants/weth.js +2 -0
  180. package/lib/cjs/src/uniswap/constants/weth.js.map +7 -0
  181. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js +2 -0
  182. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  183. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js +2 -0
  184. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  185. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  186. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  187. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  188. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  189. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  190. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  191. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  192. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  193. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +2 -0
  194. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  195. package/lib/cjs/src/uniswap/di/uniswapTypes.js +2 -0
  196. package/lib/cjs/src/uniswap/di/uniswapTypes.js.map +7 -0
  197. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +2 -0
  198. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  199. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  200. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  201. package/lib/esm/index.js +2 -4
  202. package/lib/esm/index.js.map +7 -1
  203. package/lib/esm/package.json +54 -59
  204. package/lib/esm/src/ContextModule.js +1 -2
  205. package/lib/esm/src/ContextModule.js.map +7 -1
  206. package/lib/esm/src/ContextModuleBuilder.js +2 -83
  207. package/lib/esm/src/ContextModuleBuilder.js.map +7 -1
  208. package/lib/esm/src/ContextModuleBuilder.test.js +2 -0
  209. package/lib/esm/src/ContextModuleBuilder.test.js.map +7 -0
  210. package/lib/esm/src/DefaultContextModule.js +2 -17
  211. package/lib/esm/src/DefaultContextModule.js.map +7 -1
  212. package/lib/esm/src/DefaultContextModule.test.js +2 -0
  213. package/lib/esm/src/DefaultContextModule.test.js.map +7 -0
  214. package/lib/esm/src/config/di/configModuleFactory.js +2 -6
  215. package/lib/esm/src/config/di/configModuleFactory.js.map +7 -1
  216. package/lib/esm/src/config/di/configTypes.js +2 -4
  217. package/lib/esm/src/config/di/configTypes.js.map +7 -1
  218. package/lib/esm/src/config/model/ContextModuleConfig.js +1 -2
  219. package/lib/esm/src/config/model/ContextModuleConfig.js.map +7 -1
  220. package/lib/esm/src/di.js +2 -13
  221. package/lib/esm/src/di.js.map +7 -1
  222. package/lib/esm/src/external-plugin/data/DAppDto.js +1 -2
  223. package/lib/esm/src/external-plugin/data/DAppDto.js.map +7 -1
  224. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js +1 -2
  225. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  226. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -77
  227. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  228. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  229. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  230. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +2 -9
  231. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  232. package/lib/esm/src/external-plugin/di/externalPluginTypes.js +2 -5
  233. package/lib/esm/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  234. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -133
  235. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  236. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  237. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  238. package/lib/esm/src/external-plugin/model/DappInfos.js +1 -2
  239. package/lib/esm/src/external-plugin/model/DappInfos.js.map +7 -1
  240. package/lib/esm/src/external-plugin/model/SelectorDetails.js +1 -2
  241. package/lib/esm/src/external-plugin/model/SelectorDetails.js.map +7 -1
  242. package/lib/esm/src/index.js +2 -14
  243. package/lib/esm/src/index.js.map +7 -1
  244. package/lib/esm/src/nft/data/HttpNftDataSource.js +2 -51
  245. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +7 -1
  246. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +2 -0
  247. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  248. package/lib/esm/src/nft/data/NftDataSource.js +1 -2
  249. package/lib/esm/src/nft/data/NftDataSource.js.map +7 -1
  250. package/lib/esm/src/nft/di/nftModuleFactory.js +2 -9
  251. package/lib/esm/src/nft/di/nftModuleFactory.js.map +7 -1
  252. package/lib/esm/src/nft/di/nftTypes.js +2 -5
  253. package/lib/esm/src/nft/di/nftTypes.js.map +7 -1
  254. package/lib/esm/src/nft/domain/NftContextLoader.js +2 -108
  255. package/lib/esm/src/nft/domain/NftContextLoader.js.map +7 -1
  256. package/lib/esm/src/nft/domain/NftContextLoader.test.js +2 -0
  257. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +7 -0
  258. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  259. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  260. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  261. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  262. package/lib/esm/src/pki/data/PkiCertificateDataSource.js +1 -0
  263. package/lib/esm/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  264. package/lib/esm/src/pki/data/pkiDataSourceTypes.js +1 -0
  265. package/lib/esm/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  266. package/lib/esm/src/pki/di/pkiModuleFactory.js +2 -0
  267. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +7 -0
  268. package/lib/esm/src/pki/di/pkiTypes.js +2 -0
  269. package/lib/esm/src/pki/di/pkiTypes.js.map +7 -0
  270. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  271. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  272. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  273. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  274. package/lib/esm/src/pki/domain/PkiCertificateLoader.js +1 -0
  275. package/lib/esm/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  276. package/lib/esm/src/pki/model/KeyId.js +2 -0
  277. package/lib/esm/src/pki/model/KeyId.js.map +7 -0
  278. package/lib/esm/src/pki/model/KeyUsage.js +2 -0
  279. package/lib/esm/src/pki/model/KeyUsage.js.map +7 -0
  280. package/lib/esm/src/pki/model/PkiCertificate.js +1 -0
  281. package/lib/esm/src/pki/model/PkiCertificate.js.map +7 -0
  282. package/lib/esm/src/pki/model/PkiCertificateInfo.js +1 -0
  283. package/lib/esm/src/pki/model/PkiCertificateInfo.js.map +7 -0
  284. package/lib/esm/src/shared/domain/ContextLoader.js +1 -2
  285. package/lib/esm/src/shared/domain/ContextLoader.js.map +7 -1
  286. package/lib/esm/src/shared/model/ClearSignContext.js +2 -10
  287. package/lib/esm/src/shared/model/ClearSignContext.js.map +7 -1
  288. package/lib/esm/src/shared/model/GenericPath.js +2 -0
  289. package/lib/esm/src/shared/model/GenericPath.js.map +7 -0
  290. package/lib/esm/src/shared/model/SignatureTags.js +2 -0
  291. package/lib/esm/src/shared/model/SignatureTags.js.map +7 -0
  292. package/lib/esm/src/shared/model/TransactionContext.js +1 -2
  293. package/lib/esm/src/shared/model/TransactionContext.js.map +7 -1
  294. package/lib/esm/src/shared/model/TransactionSubset.js +1 -2
  295. package/lib/esm/src/shared/model/TransactionSubset.js.map +7 -1
  296. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +2 -3
  297. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  298. package/lib/esm/src/shared/model/TypedDataContext.js +1 -2
  299. package/lib/esm/src/shared/model/TypedDataContext.js.map +7 -1
  300. package/lib/esm/src/shared/utils/HexStringUtils.js +2 -11
  301. package/lib/esm/src/shared/utils/HexStringUtils.js.map +7 -1
  302. package/lib/esm/src/shared/utils/HexStringUtils.test.js +2 -0
  303. package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +7 -0
  304. package/lib/esm/src/shared/utils/KeyUsageMapper.js +2 -0
  305. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +7 -0
  306. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +2 -0
  307. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  308. package/lib/esm/src/token/data/HttpTokenDataSource.js +2 -77
  309. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +7 -1
  310. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +2 -0
  311. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  312. package/lib/esm/src/token/data/TokenDataSource.js +1 -2
  313. package/lib/esm/src/token/data/TokenDataSource.js.map +7 -1
  314. package/lib/esm/src/token/data/TokenDto.js +1 -2
  315. package/lib/esm/src/token/data/TokenDto.js.map +7 -1
  316. package/lib/esm/src/token/di/tokenModuleFactory.js +2 -9
  317. package/lib/esm/src/token/di/tokenModuleFactory.js.map +7 -1
  318. package/lib/esm/src/token/di/tokenTypes.js +2 -5
  319. package/lib/esm/src/token/di/tokenTypes.js.map +7 -1
  320. package/lib/esm/src/token/domain/TokenContextLoader.js +2 -71
  321. package/lib/esm/src/token/domain/TokenContextLoader.js.map +7 -1
  322. package/lib/esm/src/token/domain/TokenContextLoader.test.js +2 -0
  323. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +7 -0
  324. package/lib/esm/src/transaction/data/CalldataDto.js +1 -0
  325. package/lib/esm/src/transaction/data/CalldataDto.js.map +7 -0
  326. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +2 -0
  327. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  328. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  329. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  330. package/lib/esm/src/transaction/data/TransactionDataSource.js +1 -0
  331. package/lib/esm/src/transaction/data/TransactionDataSource.js.map +7 -0
  332. package/lib/esm/src/transaction/di/transactionModuleFactory.js +2 -0
  333. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +7 -0
  334. package/lib/esm/src/transaction/di/transactionTypes.js +2 -0
  335. package/lib/esm/src/transaction/di/transactionTypes.js.map +7 -0
  336. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +2 -0
  337. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  338. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  339. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  340. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  341. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  342. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  343. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  344. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js +1 -0
  345. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  346. package/lib/esm/src/trusted-name/data/TrustedNameDto.js +1 -0
  347. package/lib/esm/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  348. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  349. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  350. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +2 -0
  351. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  352. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  353. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  354. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  355. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  356. package/lib/esm/src/typed-data/data/FiltersDto.js +1 -2
  357. package/lib/esm/src/typed-data/data/FiltersDto.js.map +7 -1
  358. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +2 -157
  359. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  360. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  361. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  362. package/lib/esm/src/typed-data/data/TypedDataDataSource.js +1 -2
  363. package/lib/esm/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  364. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +2 -9
  365. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  366. package/lib/esm/src/typed-data/di/typedDataTypes.js +2 -5
  367. package/lib/esm/src/typed-data/di/typedDataTypes.js.map +7 -1
  368. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -124
  369. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  370. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  371. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  372. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js +1 -2
  373. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  374. package/lib/esm/src/uniswap/constants/plugin.js +2 -0
  375. package/lib/esm/src/uniswap/constants/plugin.js.map +7 -0
  376. package/lib/esm/src/uniswap/constants/uniswap.js +2 -0
  377. package/lib/esm/src/uniswap/constants/uniswap.js.map +7 -0
  378. package/lib/esm/src/uniswap/constants/weth.js +2 -0
  379. package/lib/esm/src/uniswap/constants/weth.js.map +7 -0
  380. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js +1 -0
  381. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  382. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js +1 -0
  383. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  384. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  385. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  386. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  387. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  388. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  389. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  390. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  391. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  392. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +2 -0
  393. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  394. package/lib/esm/src/uniswap/di/uniswapTypes.js +2 -0
  395. package/lib/esm/src/uniswap/di/uniswapTypes.js.map +7 -0
  396. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +2 -0
  397. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  398. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  399. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  400. package/lib/{cjs → types}/src/ContextModule.d.ts +3 -2
  401. package/lib/types/src/ContextModule.d.ts.map +1 -0
  402. package/lib/{cjs → types}/src/ContextModuleBuilder.d.ts +9 -11
  403. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -0
  404. package/lib/types/src/ContextModuleBuilder.test.d.ts +2 -0
  405. package/lib/types/src/ContextModuleBuilder.test.d.ts.map +1 -0
  406. package/lib/types/src/DefaultContextModule.d.ts +18 -0
  407. package/lib/types/src/DefaultContextModule.d.ts.map +1 -0
  408. package/lib/types/src/DefaultContextModule.test.d.ts +2 -0
  409. package/lib/types/src/DefaultContextModule.test.d.ts.map +1 -0
  410. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts +1 -1
  411. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts.map +1 -1
  412. package/lib/types/src/config/model/ContextModuleConfig.d.ts +16 -0
  413. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -0
  414. package/lib/{cjs → types}/src/di.d.ts +1 -1
  415. package/lib/types/src/di.d.ts.map +1 -0
  416. package/lib/{cjs → types}/src/external-plugin/data/ExternalPluginDataSource.d.ts +3 -3
  417. package/lib/types/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +1 -0
  418. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts +2 -0
  419. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts.map +1 -0
  420. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts +2 -0
  421. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts.map +1 -0
  422. package/lib/types/src/external-plugin/model/DappInfos.d.ts +6 -0
  423. package/lib/types/src/external-plugin/model/DappInfos.d.ts.map +1 -0
  424. package/lib/{cjs → types}/src/index.d.ts +8 -1
  425. package/lib/types/src/index.d.ts.map +1 -0
  426. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts +2 -0
  427. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts.map +1 -0
  428. package/lib/{cjs → types}/src/nft/data/NftDataSource.d.ts +1 -1
  429. package/lib/types/src/nft/data/NftDataSource.d.ts.map +1 -0
  430. package/lib/{cjs → types}/src/nft/domain/NftContextLoader.d.ts +2 -1
  431. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -0
  432. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts +2 -0
  433. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts.map +1 -0
  434. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts +12 -0
  435. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -0
  436. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts +2 -0
  437. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts.map +1 -0
  438. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts +7 -0
  439. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts.map +1 -0
  440. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts +23 -0
  441. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts.map +1 -0
  442. package/lib/types/src/pki/di/pkiModuleFactory.d.ts +3 -0
  443. package/lib/types/src/pki/di/pkiModuleFactory.d.ts.map +1 -0
  444. package/lib/types/src/pki/di/pkiTypes.d.ts +5 -0
  445. package/lib/types/src/pki/di/pkiTypes.d.ts.map +1 -0
  446. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts +10 -0
  447. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -0
  448. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts +2 -0
  449. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts.map +1 -0
  450. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts +6 -0
  451. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts.map +1 -0
  452. package/lib/types/src/pki/model/KeyId.d.ts +14 -0
  453. package/lib/types/src/pki/model/KeyId.d.ts.map +1 -0
  454. package/lib/types/src/pki/model/KeyUsage.d.ts +15 -0
  455. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -0
  456. package/lib/types/src/pki/model/PkiCertificate.d.ts +5 -0
  457. package/lib/types/src/pki/model/PkiCertificate.d.ts.map +1 -0
  458. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +7 -0
  459. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -0
  460. package/lib/types/src/shared/domain/ContextLoader.d.ts +7 -0
  461. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -0
  462. package/lib/types/src/shared/model/ClearSignContext.d.ts +51 -0
  463. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -0
  464. package/lib/types/src/shared/model/GenericPath.d.ts +105 -0
  465. package/lib/types/src/shared/model/GenericPath.d.ts.map +1 -0
  466. package/lib/types/src/shared/model/SignatureTags.d.ts +3 -0
  467. package/lib/types/src/shared/model/SignatureTags.d.ts.map +1 -0
  468. package/lib/types/src/shared/model/TransactionContext.d.ts +21 -0
  469. package/lib/types/src/shared/model/TransactionContext.d.ts.map +1 -0
  470. package/lib/types/src/shared/utils/HexStringUtils.d.ts +5 -0
  471. package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts.map +1 -1
  472. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts +2 -0
  473. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts.map +1 -0
  474. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +6 -0
  475. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -0
  476. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts +2 -0
  477. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts.map +1 -0
  478. package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  479. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts +2 -0
  480. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
  481. package/lib/{cjs → types}/src/token/data/TokenDataSource.d.ts +1 -1
  482. package/lib/types/src/token/data/TokenDataSource.d.ts.map +1 -0
  483. package/lib/types/src/token/data/TokenDto.d.ts +16 -0
  484. package/lib/types/src/token/data/TokenDto.d.ts.map +1 -0
  485. package/lib/{cjs → types}/src/token/domain/TokenContextLoader.d.ts +2 -1
  486. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -0
  487. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts +2 -0
  488. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts.map +1 -0
  489. package/lib/types/src/transaction/data/CalldataDto.d.ts +128 -0
  490. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +1 -0
  491. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +23 -0
  492. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +1 -0
  493. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +2 -0
  494. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +1 -0
  495. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +13 -0
  496. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +1 -0
  497. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +3 -0
  498. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +1 -0
  499. package/lib/types/src/transaction/di/transactionTypes.d.ts +5 -0
  500. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +1 -0
  501. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +10 -0
  502. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +1 -0
  503. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +2 -0
  504. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +1 -0
  505. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +11 -0
  506. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -0
  507. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts +2 -0
  508. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts.map +1 -0
  509. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +16 -0
  510. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -0
  511. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +15 -0
  512. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -0
  513. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts +3 -0
  514. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -0
  515. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +5 -0
  516. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -0
  517. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +12 -0
  518. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -0
  519. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts +2 -0
  520. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts.map +1 -0
  521. package/lib/{cjs → types}/src/typed-data/data/FiltersDto.d.ts +3 -0
  522. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -0
  523. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -0
  524. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +3 -0
  525. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -0
  526. package/lib/{cjs → types}/src/typed-data/data/TypedDataDataSource.d.ts +3 -3
  527. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -0
  528. package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  529. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts +2 -0
  530. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts.map +1 -0
  531. package/lib/types/src/uniswap/constants/plugin.d.ts +3 -0
  532. package/lib/types/src/uniswap/constants/plugin.d.ts.map +1 -0
  533. package/lib/types/src/uniswap/constants/uniswap.d.ts +21 -0
  534. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -0
  535. package/lib/types/src/uniswap/constants/weth.d.ts +20 -0
  536. package/lib/types/src/uniswap/constants/weth.d.ts.map +1 -0
  537. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts +5 -0
  538. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts.map +1 -0
  539. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts +6 -0
  540. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts.map +1 -0
  541. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts +14 -0
  542. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts.map +1 -0
  543. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts +2 -0
  544. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts.map +1 -0
  545. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts +5 -0
  546. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts.map +1 -0
  547. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts +2 -0
  548. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts.map +1 -0
  549. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts +3 -0
  550. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts.map +1 -0
  551. package/lib/types/src/uniswap/di/uniswapTypes.d.ts +6 -0
  552. package/lib/types/src/uniswap/di/uniswapTypes.d.ts.map +1 -0
  553. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +105 -0
  554. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -0
  555. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts +2 -0
  556. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts.map +1 -0
  557. package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
  558. package/package.json +25 -30
  559. package/lib/cjs/src/ContextModule.d.ts.map +0 -1
  560. package/lib/cjs/src/ContextModuleBuilder.d.ts.map +0 -1
  561. package/lib/cjs/src/DefaultContextModule.d.ts +0 -20
  562. package/lib/cjs/src/DefaultContextModule.d.ts.map +0 -1
  563. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts +0 -9
  564. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  565. package/lib/cjs/src/di.d.ts.map +0 -1
  566. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  567. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts +0 -6
  568. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  569. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  570. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  571. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js +0 -3
  572. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  573. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  574. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  575. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -40
  576. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  577. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  578. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  579. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js +0 -13
  580. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  581. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  582. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  583. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js +0 -8
  584. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  585. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  586. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  587. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -66
  588. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  589. package/lib/cjs/src/index.d.ts.map +0 -1
  590. package/lib/cjs/src/nft/data/NftDataSource.d.ts.map +0 -1
  591. package/lib/cjs/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  592. package/lib/cjs/src/shared/domain/ContextLoader.d.ts +0 -6
  593. package/lib/cjs/src/shared/domain/ContextLoader.d.ts.map +0 -1
  594. package/lib/cjs/src/shared/model/ClearSignContext.d.ts +0 -21
  595. package/lib/cjs/src/shared/model/ClearSignContext.d.ts.map +0 -1
  596. package/lib/cjs/src/shared/model/TransactionContext.d.ts +0 -6
  597. package/lib/cjs/src/shared/model/TransactionContext.d.ts.map +0 -1
  598. package/lib/cjs/src/shared/utils/HexStringUtils.d.ts +0 -4
  599. package/lib/cjs/src/token/data/TokenDataSource.d.ts.map +0 -1
  600. package/lib/cjs/src/token/data/TokenDto.d.ts +0 -6
  601. package/lib/cjs/src/token/data/TokenDto.d.ts.map +0 -1
  602. package/lib/cjs/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  603. package/lib/cjs/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  604. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  605. package/lib/cjs/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  606. package/lib/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  607. package/lib/esm/index.d.ts +0 -3
  608. package/lib/esm/index.d.ts.map +0 -1
  609. package/lib/esm/src/ContextModule.d.ts +0 -9
  610. package/lib/esm/src/ContextModule.d.ts.map +0 -1
  611. package/lib/esm/src/ContextModuleBuilder.d.ts +0 -45
  612. package/lib/esm/src/ContextModuleBuilder.d.ts.map +0 -1
  613. package/lib/esm/src/DefaultContextModule.d.ts +0 -20
  614. package/lib/esm/src/DefaultContextModule.d.ts.map +0 -1
  615. package/lib/esm/src/config/di/configModuleFactory.d.ts +0 -4
  616. package/lib/esm/src/config/di/configModuleFactory.d.ts.map +0 -1
  617. package/lib/esm/src/config/di/configTypes.d.ts +0 -4
  618. package/lib/esm/src/config/di/configTypes.d.ts.map +0 -1
  619. package/lib/esm/src/config/model/ContextModuleConfig.d.ts +0 -9
  620. package/lib/esm/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  621. package/lib/esm/src/di.d.ts +0 -8
  622. package/lib/esm/src/di.d.ts.map +0 -1
  623. package/lib/esm/src/external-plugin/data/DAppDto.d.ts +0 -38
  624. package/lib/esm/src/external-plugin/data/DAppDto.d.ts.map +0 -1
  625. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts +0 -12
  626. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  627. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -10
  628. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -1
  629. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -3
  630. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -1
  631. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts +0 -5
  632. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -1
  633. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -15
  634. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -1
  635. package/lib/esm/src/external-plugin/model/DappInfos.d.ts +0 -6
  636. package/lib/esm/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  637. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts +0 -8
  638. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts.map +0 -1
  639. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  640. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  641. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js +0 -2
  642. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  643. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  644. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  645. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -34
  646. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  647. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  648. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  649. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js +0 -9
  650. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  651. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  652. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  653. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js +0 -5
  654. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  655. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  656. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  657. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -63
  658. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  659. package/lib/esm/src/index.d.ts +0 -14
  660. package/lib/esm/src/index.d.ts.map +0 -1
  661. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts +0 -7
  662. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts.map +0 -1
  663. package/lib/esm/src/nft/data/NftDataSource.d.ts +0 -15
  664. package/lib/esm/src/nft/data/NftDataSource.d.ts.map +0 -1
  665. package/lib/esm/src/nft/di/nftModuleFactory.d.ts +0 -3
  666. package/lib/esm/src/nft/di/nftModuleFactory.d.ts.map +0 -1
  667. package/lib/esm/src/nft/di/nftTypes.d.ts +0 -5
  668. package/lib/esm/src/nft/di/nftTypes.d.ts.map +0 -1
  669. package/lib/esm/src/nft/domain/NftContextLoader.d.ts +0 -11
  670. package/lib/esm/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  671. package/lib/esm/src/shared/domain/ContextLoader.d.ts +0 -6
  672. package/lib/esm/src/shared/domain/ContextLoader.d.ts.map +0 -1
  673. package/lib/esm/src/shared/model/ClearSignContext.d.ts +0 -21
  674. package/lib/esm/src/shared/model/ClearSignContext.d.ts.map +0 -1
  675. package/lib/esm/src/shared/model/TransactionContext.d.ts +0 -6
  676. package/lib/esm/src/shared/model/TransactionContext.d.ts.map +0 -1
  677. package/lib/esm/src/shared/model/TransactionSubset.d.ts +0 -6
  678. package/lib/esm/src/shared/model/TransactionSubset.d.ts.map +0 -1
  679. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts +0 -33
  680. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -1
  681. package/lib/esm/src/shared/model/TypedDataContext.d.ts +0 -16
  682. package/lib/esm/src/shared/model/TypedDataContext.d.ts.map +0 -1
  683. package/lib/esm/src/shared/utils/HexStringUtils.d.ts +0 -4
  684. package/lib/esm/src/shared/utils/HexStringUtils.d.ts.map +0 -1
  685. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts +0 -9
  686. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts.map +0 -1
  687. package/lib/esm/src/token/data/TokenDataSource.d.ts +0 -9
  688. package/lib/esm/src/token/data/TokenDataSource.d.ts.map +0 -1
  689. package/lib/esm/src/token/data/TokenDto.d.ts +0 -6
  690. package/lib/esm/src/token/data/TokenDto.d.ts.map +0 -1
  691. package/lib/esm/src/token/di/tokenModuleFactory.d.ts +0 -3
  692. package/lib/esm/src/token/di/tokenModuleFactory.d.ts.map +0 -1
  693. package/lib/esm/src/token/di/tokenTypes.d.ts +0 -5
  694. package/lib/esm/src/token/di/tokenTypes.d.ts.map +0 -1
  695. package/lib/esm/src/token/domain/TokenContextLoader.d.ts +0 -15
  696. package/lib/esm/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  697. package/lib/esm/src/typed-data/data/FiltersDto.d.ts +0 -55
  698. package/lib/esm/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  699. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -14
  700. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  701. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts +0 -17
  702. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  703. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts +0 -3
  704. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -1
  705. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts +0 -5
  706. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts.map +0 -1
  707. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -13
  708. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +0 -1
  709. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -6
  710. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -1
  711. package/lib/esm/tsconfig.esm.tsbuildinfo +0 -1
  712. /package/lib/{cjs → types}/index.d.ts +0 -0
  713. /package/lib/{cjs → types}/index.d.ts.map +0 -0
  714. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts +0 -0
  715. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts.map +0 -0
  716. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts +0 -0
  717. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts.map +0 -0
  718. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -0
  719. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -0
  720. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -0
  721. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -0
  722. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts +0 -0
  723. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -0
  724. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -0
  725. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -0
  726. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts +0 -0
  727. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts.map +0 -0
  728. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts +0 -0
  729. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts.map +0 -0
  730. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts +0 -0
  731. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts.map +0 -0
  732. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts +0 -0
  733. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts.map +0 -0
  734. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts +0 -0
  735. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts.map +0 -0
  736. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts +0 -0
  737. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -0
  738. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts +0 -0
  739. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts.map +0 -0
  740. /package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts +0 -0
  741. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts +0 -0
  742. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts.map +0 -0
  743. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts +0 -0
  744. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts.map +0 -0
  745. /package/lib/{cjs → types}/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -0
  746. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts +0 -0
  747. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -0
  748. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts +0 -0
  749. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts.map +0 -0
  750. /package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -0
  751. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -0
  752. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/domain/UniswapContextLoader.ts"],
4
+ "sourcesContent": ["import {\n bufferToHexaString,\n ByteArrayBuilder,\n HexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport { Interface } from \"ethers\";\nimport { inject, injectable } from \"inversify\";\nimport { Maybe, Nothing } from \"purify-ts\";\n\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { TransactionContext } from \"@/shared/model/TransactionContext\";\nimport { type TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport { tokenTypes } from \"@/token/di/tokenTypes\";\nimport {\n UNISWAP_PLUGIN_NAME,\n UNISWAP_PLUGIN_SIGNATURE,\n} from \"@/uniswap/constants/plugin\";\nimport {\n UNISWAP_COMMANDS,\n UNISWAP_EXECUTE_ABI,\n UNISWAP_EXECUTE_SELECTOR,\n UNISWAP_SWAP_COMMANDS,\n UNISWAP_UNIVERSAL_ROUTER_ADDRESS,\n UniswapSupportedCommand,\n} from \"@/uniswap/constants/uniswap\";\nimport { type CommandDecoderDataSource } from \"@/uniswap/data/CommandDecoderDataSource\";\nimport { uniswapTypes } from \"@/uniswap/di/uniswapTypes\";\n\n@injectable()\nexport class UniswapContextLoader implements ContextLoader {\n constructor(\n @inject(uniswapTypes.CommandDecoderDataSource)\n private commandDecoderDataSource: CommandDecoderDataSource,\n @inject(tokenTypes.TokenDataSource)\n private tokenDataSource: TokenDataSource,\n ) {}\n\n async load(transaction: TransactionContext): Promise<ClearSignContext[]> {\n if (!transaction.data || !isHexaString(transaction.data)) {\n return [];\n }\n\n const selector = transaction.data.slice(0, 10);\n if (selector !== UNISWAP_EXECUTE_SELECTOR) {\n return [];\n }\n\n const externalPluginContext = this._buildUniswapPluginCommandData();\n const tokenContexts = await this._extractClearSignContexts(\n transaction.data,\n transaction.chainId,\n );\n\n if (tokenContexts.length > 0)\n return [externalPluginContext, ...tokenContexts];\n\n return [];\n }\n\n /**\n * Constructs the external plugin context for Uniswap external plugin command.\n *\n * @private\n * @returns {ClearSignContext} - The generated external plugin context.\n */\n private _buildUniswapPluginCommandData(): ClearSignContext {\n const buffer = new ByteArrayBuilder()\n .add8BitUIntToData(UNISWAP_PLUGIN_NAME.length)\n .addAsciiStringToData(UNISWAP_PLUGIN_NAME)\n .addBufferToData(hexaStringToBuffer(UNISWAP_UNIVERSAL_ROUTER_ADDRESS)!)\n .addBufferToData(hexaStringToBuffer(UNISWAP_EXECUTE_SELECTOR)!)\n .addBufferToData(hexaStringToBuffer(UNISWAP_PLUGIN_SIGNATURE)!)\n .build();\n\n return {\n type: ClearSignContextType.EXTERNAL_PLUGIN,\n payload: bufferToHexaString(buffer).slice(2),\n };\n }\n\n /**\n * Extracts and decodes the clear sign contexts from a Uniswap calldata transaction.\n *\n * This function:\n * - Parses the calldata using the Uniswap `execute` function signature.\n * - Extracts and validates the `commands` and `inputs`.\n * - Decodes the commands and ensures they match the number of inputs.\n * - Extracts addresses used in the transaction and verifies if chaining swaps are supported.\n * - Fetches token information for unique addresses.\n * - Returns an array of `ClearSignContext` objects representing either token data or errors.\n *\n * @private\n * @param {HexaString} calldata - The raw calldata of the Uniswap transaction.\n * @param {number} chainId - The blockchain chain ID where the transaction is being executed.\n * @returns {Promise<ClearSignContext[]>} - A promise resolving to an array of clear sign contexts.\n */\n private async _extractClearSignContexts(\n calldata: HexaString,\n chainId: number,\n ): Promise<ClearSignContext[]> {\n try {\n const iface = new Interface(UNISWAP_EXECUTE_ABI);\n\n const tx = iface.parseTransaction({ data: calldata });\n const commands: unknown = tx?.args[0];\n const inputs: unknown = tx?.args[1];\n\n if (!isHexaString(commands) || !this._isHexaStringArray(inputs)) {\n return [];\n }\n\n const decodedCommands = this._extractCommands(commands).orDefault([]);\n if (commands.length === 0 || inputs.length !== decodedCommands.length) {\n // Invalid commands or inputs\n return [];\n }\n\n const addressesByCommand = decodedCommands.reduce(\n (acc, command, index) => {\n const input = inputs[index]!;\n const decoded: HexaString[] = this.commandDecoderDataSource.decode(\n command,\n input,\n chainId,\n );\n\n acc.push([command, decoded]);\n\n return acc;\n },\n [] as [UniswapSupportedCommand, HexaString[]][],\n );\n\n if (!this._isChainingSwapSupported(addressesByCommand)) {\n return [];\n }\n\n const uniqueAddresses = [\n ...new Set(addressesByCommand.flatMap(([, addresses]) => addresses)),\n ];\n\n const tokensPayload = await Promise.all(\n uniqueAddresses.map((address) =>\n this.tokenDataSource.getTokenInfosPayload({ address, chainId }),\n ),\n );\n\n return tokensPayload.map((either) =>\n either.caseOf<ClearSignContext>({\n Left: (error) => ({ type: ClearSignContextType.ERROR, error }),\n Right: (payload) => ({ type: ClearSignContextType.TOKEN, payload }),\n }),\n );\n } catch (_) {\n return [];\n }\n }\n\n /**\n * Extracts Uniswap-supported commands from a hexadecimal string.\n * Each command is represented by one byte (2 hex characters), and this function:\n * - Maps each command to a known Uniswap command.\n * - Returns `Nothing` if any extracted command is unsupported.\n *\n * @private\n * @param {HexaString} hex - A hexadecimal string representing commands.\n * @returns {Maybe<UniswapSupportedCommand[]>} - A `Maybe` containing an array of recognized commands, or `Nothing` if any command is unsupported.\n *\n * @example\n * // Valid command extraction\n * _extractCommands('0x0008');\n * // Returns: Just(['0x00', '0x08'])\n *\n * @example\n * // Contains an unsupported command (0x05 is not supported)\n * _extractCommands('0x0005');\n * // Returns: Nothing\n *\n * @example\n * // Empty or invalid input\n * _extractCommands('0x');\n * // Returns: Nothing\n */\n private _extractCommands(hex: HexaString): Maybe<UniswapSupportedCommand[]> {\n return Maybe.fromNullable(hex.slice(2).match(/../g))\n .map((bytes) => bytes.map((b) => `0x${b}` as HexaString))\n .map((hexBytes) => hexBytes.map((b) => UNISWAP_COMMANDS[b]))\n .chain((commands) =>\n commands.every((command) => command !== undefined)\n ? Maybe.of(commands as UniswapSupportedCommand[])\n : Nothing,\n );\n }\n\n /**\n * Checks if the provided swap commands can be chained together.\n * A valid chain requires that:\n * - The output asset of the previous swap matches the input asset of the next swap.\n * - The pool version remains consistent across swaps.\n *\n * @private\n * @param {Array<[UniswapSupportedCommand, HexaString[]]>} data - An array of tuples containing a swap command and associated addresses.\n * @returns {boolean} - Returns `true` if the swap commands form a valid chain, otherwise `false`.\n *\n * @example\n * // Valid chaining: same output/input asset and pool version\n * _isChainingSwapSupported([\n * ['0x08', ['0xABC', '0xDEF']],\n * ['0x08', ['0xDEF', '0x123']]\n * ]);\n * // Returns: true\n *\n * @example\n * // Invalid chaining: different pool versions\n * _isChainingSwapSupported([\n * ['0x08', ['0xABC', '0xDEF']],\n * ['0x01', ['0xDEF', '0x123']]\n * ]);\n * // Returns: false\n *\n * @example\n * // Invalid chaining: output does not match next input\n * _isChainingSwapSupported([\n * ['0x01A1', ['0xABC', '0xDEF']],\n * ['0x01B2', ['0xXYZ', '0x123']]\n * ]);\n * // Returns: false\n */\n private _isChainingSwapSupported(\n data: [UniswapSupportedCommand, HexaString[]][],\n ): boolean {\n let lastAsset: HexaString | undefined = undefined;\n let lastPoolVersion: string | undefined = undefined;\n\n for (const [command, addresses] of data) {\n if (!UNISWAP_SWAP_COMMANDS.includes(command)) continue; // Ignore non-swap commands\n\n const poolVersion = command.slice(0, 2);\n\n if (\n lastAsset &&\n (lastAsset !== addresses[0] || lastPoolVersion !== poolVersion)\n ) {\n // Invalid chaining, return empty array\n return false;\n }\n\n // update last asset and pool version\n lastAsset = addresses[addresses.length - 1];\n lastPoolVersion = poolVersion;\n }\n\n return true;\n }\n\n /**\n * Checks if a given value is an array of hexadecimal strings.\n *\n * @private\n * @param {unknown} array - The value to check.\n * @returns {array is HexaString[]} - `true` if the value is an array of hexadecimal strings, otherwise `false`.\n */\n private _isHexaStringArray(array: unknown): array is HexaString[] {\n return (\n Array.isArray(array) &&\n array.every((item) => typeof item === \"string\" && isHexaString(item))\n );\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["bufferToHexaString", "ByteArrayBuilder", "hexaStringToBuffer", "isHexaString", "Interface", "inject", "injectable", "Maybe", "Nothing", "ClearSignContextType", "tokenTypes", "UNISWAP_PLUGIN_NAME", "UNISWAP_PLUGIN_SIGNATURE", "UNISWAP_COMMANDS", "UNISWAP_EXECUTE_ABI", "UNISWAP_EXECUTE_SELECTOR", "UNISWAP_SWAP_COMMANDS", "UNISWAP_UNIVERSAL_ROUTER_ADDRESS", "uniswapTypes", "UniswapContextLoader", "commandDecoderDataSource", "tokenDataSource", "transaction", "isHexaString", "UNISWAP_EXECUTE_SELECTOR", "externalPluginContext", "tokenContexts", "buffer", "ByteArrayBuilder", "UNISWAP_PLUGIN_NAME", "hexaStringToBuffer", "UNISWAP_UNIVERSAL_ROUTER_ADDRESS", "UNISWAP_PLUGIN_SIGNATURE", "ClearSignContextType", "bufferToHexaString", "calldata", "chainId", "tx", "Interface", "UNISWAP_EXECUTE_ABI", "commands", "inputs", "decodedCommands", "addressesByCommand", "acc", "command", "index", "input", "decoded", "uniqueAddresses", "addresses", "address", "either", "error", "payload", "hex", "Maybe", "bytes", "b", "hexBytes", "UNISWAP_COMMANDS", "Nothing", "data", "lastAsset", "lastPoolVersion", "UNISWAP_SWAP_COMMANDS", "poolVersion", "array", "item", "__decorateClass", "injectable", "__decorateParam", "inject", "uniswapTypes", "tokenTypes"]
7
+ }
@@ -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
+ }
@@ -1,8 +1,9 @@
1
- import { ClearSignContext } from "./shared/model/ClearSignContext";
2
- import { TransactionContext } from "./shared/model/TransactionContext";
1
+ import { type ClearSignContext } from "./shared/model/ClearSignContext";
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
5
  export interface ContextModule {
6
+ getContext(field: TransactionFieldContext): Promise<ClearSignContext>;
6
7
  getContexts(transaction: TransactionContext): Promise<ClearSignContext[]>;
7
8
  getTypedDataFilters(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
8
9
  }
@@ -0,0 +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,20 +1,17 @@
1
- import { ContextModuleConfig } from "./config/model/ContextModuleConfig";
2
- import { ContextLoader } from "./shared/domain/ContextLoader";
1
+ import { type ContextModuleCalConfig, type ContextModuleConfig } from "./config/model/ContextModuleConfig";
2
+ import { type ContextLoader } from "./shared/domain/ContextLoader";
3
3
  import { type TypedDataContextLoader } from "./typed-data/domain/TypedDataContextLoader";
4
- import { ContextModule } from "./ContextModule";
4
+ import { type ContextModule } from "./ContextModule";
5
5
  export declare const DEFAULT_CONFIG: ContextModuleConfig;
6
6
  export declare class ContextModuleBuilder {
7
7
  private config;
8
- private customLoaders;
9
- private defaultLoaders;
10
- private customTypedDataLoader?;
11
8
  constructor();
12
9
  /**
13
10
  * Remove default loaders from the list of loaders
14
11
  *
15
12
  * @returns this
16
13
  */
17
- withoutDefaultLoaders(): this;
14
+ removeDefaultLoaders(): this;
18
15
  /**
19
16
  * Add a custom loader to the list of loaders
20
17
  *
@@ -25,16 +22,17 @@ export declare class ContextModuleBuilder {
25
22
  /**
26
23
  * Replace the default loader for typed data clear signing contexts
27
24
  *
25
+ * @param loader loader to use for typed data clear signing contexts
28
26
  * @returns this
29
27
  */
30
- withTypedDataLoader(loader: TypedDataContextLoader): this;
28
+ addTypedDataLoader(loader: TypedDataContextLoader): this;
31
29
  /**
32
- * Set the configuration for the context module
30
+ * Add a custom CAL configuration
33
31
  *
34
- * @param config configuration for the context module
32
+ * @param calConfig
35
33
  * @returns this
36
34
  */
37
- withConfig(config: Partial<ContextModuleConfig>): this;
35
+ addCalConfig(calConfig: ContextModuleCalConfig): this;
38
36
  /**
39
37
  * Build the context module
40
38
  *
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContextModuleBuilder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextModuleBuilder.test.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { TypedDataClearSignContext } from "./shared/model/TypedDataClearSignContext";
2
+ import type { TypedDataContext } from "./shared/model/TypedDataContext";
3
+ import { type ContextModuleConfig } from "./config/model/ContextModuleConfig";
4
+ import { type ClearSignContext } from "./shared/model/ClearSignContext";
5
+ import { type TransactionContext, type TransactionFieldContext } from "./shared/model/TransactionContext";
6
+ import { type ContextModule } from "./ContextModule";
7
+ export declare class DefaultContextModule implements ContextModule {
8
+ private _container;
9
+ private _loaders;
10
+ private _typedDataLoader;
11
+ constructor(args: ContextModuleConfig);
12
+ private _getDefaultLoaders;
13
+ private _getDefaultTypedDataLoader;
14
+ getContexts(transaction: TransactionContext): Promise<ClearSignContext[]>;
15
+ getContext(field: TransactionFieldContext): Promise<ClearSignContext>;
16
+ getTypedDataFilters(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
17
+ }
18
+ //# sourceMappingURL=DefaultContextModule.d.ts.map
@@ -0,0 +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;AAS3C,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;IAmB1B,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultContextModule.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultContextModule.test.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
1
  import { ContainerModule } from "inversify";
2
- import { ContextModuleConfig } from "../../config/model/ContextModuleConfig";
2
+ import { type ContextModuleConfig } from "../../config/model/ContextModuleConfig";
3
3
  export declare const configModuleFactory: (config: ContextModuleConfig) => ContainerModule;
4
4
  //# sourceMappingURL=configModuleFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/config/di/configModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,eAAO,MAAM,mBAAmB,WAAY,mBAAmB,oBAG3D,CAAC"}
1
+ {"version":3,"file":"configModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/config/di/configModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAI9E,eAAO,MAAM,mBAAmB,WAAY,mBAAmB,oBAG3D,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ContextLoader } from "../../shared/domain/ContextLoader";
2
+ import { type TypedDataContextLoader } from "../../typed-data/domain/TypedDataContextLoader";
3
+ export type ContextModuleCalMode = "prod" | "test";
4
+ export type ContextModuleCalBranch = "next" | "main" | "demo";
5
+ export type ContextModuleCalConfig = {
6
+ url: string;
7
+ mode: ContextModuleCalMode;
8
+ branch: ContextModuleCalBranch;
9
+ };
10
+ export type ContextModuleConfig = {
11
+ cal: ContextModuleCalConfig;
12
+ defaultLoaders: boolean;
13
+ customLoaders: ContextLoader[];
14
+ customTypedDataLoader?: TypedDataContextLoader;
15
+ };
16
+ //# sourceMappingURL=ContextModuleConfig.d.ts.map
@@ -0,0 +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,5 +1,5 @@
1
1
  import { Container } from "inversify";
2
- import { ContextModuleConfig } from "./config/model/ContextModuleConfig";
2
+ import { type ContextModuleConfig } from "./config/model/ContextModuleConfig";
3
3
  type MakeContainerArgs = {
4
4
  config: ContextModuleConfig;
5
5
  };
@@ -0,0 +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;AAU9E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB,iBAAiB,cAgB1D,CAAC"}
@@ -1,6 +1,6 @@
1
- import { HexaString } from "@ledgerhq/device-management-kit";
2
- import { Either } from "purify-ts";
3
- import { DappInfos } from "../../external-plugin/model/DappInfos";
1
+ import { type HexaString } from "@ledgerhq/device-management-kit";
2
+ import { type Either } from "purify-ts";
3
+ import { type DappInfos } from "../../external-plugin/model/DappInfos";
4
4
  export type GetDappInfos = {
5
5
  address: string;
6
6
  selector: HexaString;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalPluginDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/data/ExternalPluginDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,YAAY,CACV,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;CAClD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HttpExternalPluginDataSource.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpExternalPluginDataSource.test.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/data/HttpExternalPluginDataSource.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ExternalPluginContextLoader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalPluginContextLoader.test.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/domain/ExternalPluginContextLoader.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { type SelectorDetails } from "../../external-plugin/model/SelectorDetails";
2
+ export type DappInfos = {
3
+ selectorDetails: SelectorDetails;
4
+ abi: object[];
5
+ };
6
+ //# sourceMappingURL=DappInfos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DappInfos.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/model/DappInfos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,MAAM,SAAS,GAAG;IAAE,eAAe,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC"}
@@ -3,12 +3,19 @@ export * from "./ContextModule";
3
3
  export * from "./ContextModuleBuilder";
4
4
  export * from "./DefaultContextModule";
5
5
  export * from "./external-plugin/domain/ExternalPluginContextLoader";
6
- export * from "./forward-domain/domain/ForwardDomainContextLoader";
7
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";
12
+ export * from "./shared/domain/ContextLoader";
8
13
  export * from "./shared/model/ClearSignContext";
14
+ export * from "./shared/model/GenericPath";
9
15
  export * from "./shared/model/TransactionContext";
10
16
  export * from "./shared/model/TransactionSubset";
11
17
  export * from "./shared/model/TypedDataClearSignContext";
12
18
  export * from "./shared/model/TypedDataContext";
13
19
  export * from "./token/domain/TokenContextLoader";
20
+ export * from "./trusted-name/domain/TrustedNameContextLoader";
14
21
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HttpNftDataSource.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpNftDataSource.test.d.ts","sourceRoot":"","sources":["../../../../../src/nft/data/HttpNftDataSource.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { Either } from "purify-ts";
1
+ import { type Either } from "purify-ts";
2
2
  export type GetSetPluginPayloadParams = {
3
3
  chainId: number;
4
4
  address: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NftDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/nft/data/NftDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,kBAAkB,CAChB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,mBAAmB,CACjB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;CACnC"}
@@ -1,11 +1,12 @@
1
1
  import type { NftDataSource } from "../../nft/data/NftDataSource";
2
2
  import { ContextLoader } from "../../shared/domain/ContextLoader";
3
3
  import { ClearSignContext } from "../../shared/model/ClearSignContext";
4
- import { TransactionContext } from "../../shared/model/TransactionContext";
4
+ import { TransactionContext, TransactionFieldContext } from "../../shared/model/TransactionContext";
5
5
  export declare class NftContextLoader implements ContextLoader {
6
6
  private _dataSource;
7
7
  constructor(dataSource: NftDataSource);
8
8
  load(transaction: TransactionContext): Promise<ClearSignContext[]>;
9
+ loadField(field: TransactionFieldContext): Promise<ClearSignContext | null>;
9
10
  private isSelectorSupported;
10
11
  }
11
12
  //# sourceMappingURL=NftContextLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NftContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/nft/domain/NftContextLoader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAqB3C,qBACa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,WAAW,CAAgB;gBAES,UAAU,EAAE,aAAa;IAI/D,IAAI,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA2ElE,SAAS,CACb,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAoBnC,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NftContextLoader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NftContextLoader.test.d.ts","sourceRoot":"","sources":["../../../../../src/nft/domain/NftContextLoader.test.ts"],"names":[],"mappings":""}
@@ -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;AAMpE,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkiDataSourceTypes.d.ts","sourceRoot":"","sources":["../../../../../src/pki/data/pkiDataSourceTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ContainerModule } from "inversify";
2
+ export declare const nanoPkiModuleFactory: () => ContainerModule;
3
+ //# sourceMappingURL=pkiModuleFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkiModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/pki/di/pkiModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,oBAAoB,uBAI7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const pkiTypes: {
2
+ PkiCertificateDataSource: symbol;
3
+ PkiCertificateLoader: symbol;
4
+ };
5
+ //# sourceMappingURL=pkiTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkiTypes.d.ts","sourceRoot":"","sources":["../../../../../src/pki/di/pkiTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type PkiCertificateDataSource } from "../../pki/data/PkiCertificateDataSource";
2
+ import { type PkiCertificate } from "../../pki/model/PkiCertificate";
3
+ import { type PkiCertificateInfo } from "../../pki/model/PkiCertificateInfo";
4
+ import { PkiCertificateLoader } from "./PkiCertificateLoader";
5
+ export declare class DefaultPkiCertificateLoader implements PkiCertificateLoader {
6
+ private _dataSource;
7
+ constructor(dataSource: PkiCertificateDataSource);
8
+ loadCertificate(certificateInfos: PkiCertificateInfo): Promise<PkiCertificate | undefined>;
9
+ }
10
+ //# sourceMappingURL=DefaultPkiCertificateLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPkiCertificateLoader.d.ts","sourceRoot":"","sources":["../../../../../src/pki/domain/DefaultPkiCertificateLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBACa,2BAA4B,YAAW,oBAAoB;IACtE,OAAO,CAAC,WAAW,CAA2B;gBAI5C,UAAU,EAAE,wBAAwB;IAKhC,eAAe,CACnB,gBAAgB,EAAE,kBAAkB,GACnC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAMvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultPkiCertificateLoader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPkiCertificateLoader.test.d.ts","sourceRoot":"","sources":["../../../../../src/pki/domain/DefaultPkiCertificateLoader.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { type PkiCertificate } from "../../pki/model/PkiCertificate";
2
+ import { type PkiCertificateInfo } from "../../pki/model/PkiCertificateInfo";
3
+ export interface PkiCertificateLoader {
4
+ loadCertificate(certificateInfos: PkiCertificateInfo): Promise<PkiCertificate | undefined>;
5
+ }
6
+ //# sourceMappingURL=PkiCertificateLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PkiCertificateLoader.d.ts","sourceRoot":"","sources":["../../../../../src/pki/domain/PkiCertificateLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,eAAe,CACb,gBAAgB,EAAE,kBAAkB,GACnC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACxC"}
@@ -0,0 +1,14 @@
1
+ export declare enum KeyId {
2
+ Test = "test",
3
+ PersoV2 = "persov2",
4
+ LedgerRootV3 = "ledger_root_v3",
5
+ PluginSelectorKey = "plugin_selector_key",
6
+ NftMetadataKey = "nft_metadata_key",
7
+ PartnerMetadataKey = "partner_metadata_key",
8
+ Erc20MetadataKey = "erc20_metadata_key",
9
+ DomainMetadataKey = "domain_metadata_key",
10
+ CalCalldataKey = "cal_calldata_key",
11
+ CalTrustedNameKey = "cal_trusted_name_key",
12
+ CalNetwork = "cal_network"
13
+ }
14
+ //# sourceMappingURL=KeyId.d.ts.map