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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (994) hide show
  1. package/README.md +17 -5
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +41 -37
  4. package/lib/cjs/src/ContextModule.js +1 -1
  5. package/lib/cjs/src/ContextModule.js.map +1 -1
  6. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  7. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  8. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  9. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  10. package/lib/cjs/src/DefaultContextModule.js +1 -1
  11. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  12. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  13. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  14. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  15. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  18. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  19. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  20. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  21. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  22. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  23. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  24. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  25. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  28. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  29. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  30. package/lib/cjs/src/config/di/configModuleFactory.js +1 -1
  31. package/lib/cjs/src/config/di/configModuleFactory.js.map +3 -3
  32. package/lib/cjs/src/config/di/configTypes.js +1 -1
  33. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  34. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +2 -0
  35. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  36. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  37. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  38. package/lib/cjs/src/di.js +1 -1
  39. package/lib/cjs/src/di.js.map +3 -3
  40. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js +2 -0
  41. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  42. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  43. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  44. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  45. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  46. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +2 -0
  47. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  48. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  49. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  50. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  51. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  52. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  53. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  54. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  55. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  56. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js +2 -0
  57. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  58. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  59. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  60. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  61. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  62. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  63. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  64. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  65. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  66. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  67. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  68. package/lib/cjs/src/index.js +1 -1
  69. package/lib/cjs/src/index.js.map +2 -2
  70. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  71. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  72. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  73. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  74. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  75. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  76. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  77. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  78. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  79. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  80. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  81. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  82. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  83. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  84. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  85. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  86. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  87. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  88. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  89. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  90. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js +2 -0
  91. package/lib/cjs/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  92. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js +2 -0
  93. package/lib/cjs/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  94. package/lib/cjs/src/pki/di/pkiModuleFactory.js +2 -0
  95. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +7 -0
  96. package/lib/cjs/src/pki/di/pkiTypes.js +2 -0
  97. package/lib/cjs/src/pki/di/pkiTypes.js.map +7 -0
  98. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  99. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  100. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  101. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  102. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js +2 -0
  103. package/lib/cjs/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  104. package/lib/cjs/src/pki/model/KeyId.js +2 -0
  105. package/lib/cjs/src/pki/model/KeyId.js.map +7 -0
  106. package/lib/cjs/src/pki/model/KeyUsage.js +2 -0
  107. package/lib/cjs/src/pki/model/KeyUsage.js.map +7 -0
  108. package/lib/cjs/src/pki/model/PkiCertificate.js +2 -0
  109. package/lib/cjs/src/pki/model/PkiCertificate.js.map +7 -0
  110. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +2 -0
  111. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +7 -0
  112. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  113. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  114. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  115. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  116. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  117. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  118. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  119. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  120. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  121. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  122. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js +2 -0
  123. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  124. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js +2 -0
  125. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  126. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  127. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  128. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  129. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  130. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  131. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  132. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  133. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  134. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  135. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  136. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  137. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  138. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  139. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  140. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  141. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  142. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  143. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  144. package/lib/cjs/src/safe/data/SafeAccountDataSource.js +2 -0
  145. package/lib/cjs/src/safe/data/SafeAccountDataSource.js.map +7 -0
  146. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js +2 -0
  147. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  148. package/lib/cjs/src/safe/di/safeModuleFactory.js +2 -0
  149. package/lib/cjs/src/safe/di/safeModuleFactory.js.map +7 -0
  150. package/lib/cjs/src/safe/di/safeModuleFactory.test.js +2 -0
  151. package/lib/cjs/src/safe/di/safeModuleFactory.test.js.map +7 -0
  152. package/lib/cjs/src/safe/di/safeTypes.js +2 -0
  153. package/lib/cjs/src/safe/di/safeTypes.js.map +7 -0
  154. package/lib/cjs/src/safe/domain/SafeAddressLoader.js +2 -0
  155. package/lib/cjs/src/safe/domain/SafeAddressLoader.js.map +7 -0
  156. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js +2 -0
  157. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  158. package/lib/cjs/src/shared/constant/HttpHeaders.js +2 -0
  159. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +7 -0
  160. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  161. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  162. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  163. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  164. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  165. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  166. package/lib/cjs/src/shared/model/SignatureTags.js +2 -0
  167. package/lib/cjs/src/shared/model/SignatureTags.js.map +7 -0
  168. package/lib/cjs/src/shared/model/SolanaContextTypes.js +2 -0
  169. package/lib/cjs/src/shared/model/SolanaContextTypes.js.map +7 -0
  170. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +2 -0
  171. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +7 -0
  172. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  173. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  174. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  175. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  176. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  177. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  178. package/lib/cjs/src/shared/utils/HexStringUtils.js +1 -1
  179. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +3 -3
  180. package/lib/cjs/src/shared/utils/HexStringUtils.test.js +2 -0
  181. package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +7 -0
  182. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +2 -0
  183. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +7 -0
  184. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +2 -0
  185. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  186. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  187. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  188. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  189. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  190. package/lib/cjs/src/solana/data/SolanaDataSource.js +2 -0
  191. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +7 -0
  192. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js +2 -0
  193. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  194. package/lib/cjs/src/solana/di/solanaContextTypes.js +2 -0
  195. package/lib/cjs/src/solana/di/solanaContextTypes.js.map +7 -0
  196. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  197. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  198. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  199. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  200. package/lib/cjs/src/solana/domain/SolanaContextLoader.js +2 -0
  201. package/lib/cjs/src/solana/domain/SolanaContextLoader.js.map +7 -0
  202. package/lib/cjs/src/solana/domain/solanaContextTypes.js +2 -0
  203. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +7 -0
  204. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  205. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  206. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  207. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  208. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js +2 -0
  209. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  210. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  211. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  212. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  213. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  214. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  215. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  216. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  217. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  218. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  219. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  220. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  221. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  222. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js +2 -0
  223. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  224. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js +2 -0
  225. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  226. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js +2 -0
  227. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  228. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  229. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  230. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  231. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  232. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  233. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
  234. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  235. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  236. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  237. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  238. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  239. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  240. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  241. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  242. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  243. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  244. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  245. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  246. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  247. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  248. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  249. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  250. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  251. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  252. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  253. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  254. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  255. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  256. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js +2 -0
  257. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  258. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js +2 -0
  259. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  260. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js +2 -0
  261. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  262. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js +2 -0
  263. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  264. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  265. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  266. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js +2 -0
  267. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  268. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  269. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  270. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  271. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  272. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  273. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  274. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  275. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  276. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  277. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  278. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  279. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  280. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  281. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  282. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  283. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  284. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  285. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  286. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  287. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  288. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  289. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  290. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  291. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  292. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  293. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  294. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  295. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  296. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  297. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  298. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  299. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  300. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  301. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  302. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  303. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  304. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +1 -1
  305. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  306. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  307. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  308. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  309. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  310. package/lib/cjs/src/uniswap/constants/uniswap.js +2 -0
  311. package/lib/cjs/src/uniswap/constants/uniswap.js.map +7 -0
  312. package/lib/cjs/src/uniswap/constants/weth.js +2 -0
  313. package/lib/cjs/src/uniswap/constants/weth.js.map +7 -0
  314. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js +2 -0
  315. package/lib/cjs/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  316. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js +2 -0
  317. package/lib/cjs/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  318. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  319. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  320. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  321. package/lib/cjs/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  322. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  323. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  324. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  325. package/lib/cjs/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  326. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +2 -0
  327. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  328. package/lib/cjs/src/uniswap/di/uniswapTypes.js +2 -0
  329. package/lib/cjs/src/uniswap/di/uniswapTypes.js.map +7 -0
  330. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +2 -0
  331. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  332. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  333. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  334. package/lib/esm/package.json +41 -37
  335. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  336. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  337. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  338. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  339. package/lib/esm/src/DefaultContextModule.js +1 -1
  340. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  341. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  342. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  343. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  344. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  345. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  346. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  347. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  348. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  349. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  350. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  351. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  352. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  353. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  354. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  355. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  356. package/lib/esm/src/config/di/configModuleFactory.js +1 -1
  357. package/lib/esm/src/config/di/configModuleFactory.js.map +3 -3
  358. package/lib/esm/src/config/di/configTypes.js +1 -1
  359. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  360. package/lib/esm/src/config/model/ContextModuleBuildArgs.js +1 -0
  361. package/lib/esm/src/di.js +1 -1
  362. package/lib/esm/src/di.js.map +3 -3
  363. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js +1 -0
  364. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  365. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  366. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  367. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  368. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  369. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +1 -0
  370. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  371. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  372. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  373. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  374. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  375. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  376. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  377. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  378. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  379. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js +1 -0
  380. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  381. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  382. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  383. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  384. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  385. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  386. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  387. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  388. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  389. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  390. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  391. package/lib/esm/src/index.js +1 -1
  392. package/lib/esm/src/index.js.map +2 -2
  393. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  394. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  395. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  396. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  397. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  398. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  399. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  400. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  401. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  402. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  403. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  404. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  405. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  406. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  407. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  408. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  409. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +2 -0
  410. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +7 -0
  411. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js +2 -0
  412. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js.map +7 -0
  413. package/lib/esm/src/pki/data/PkiCertificateDataSource.js +1 -0
  414. package/lib/esm/src/pki/data/PkiCertificateDataSource.js.map +7 -0
  415. package/lib/esm/src/pki/data/pkiDataSourceTypes.js +1 -0
  416. package/lib/esm/src/pki/data/pkiDataSourceTypes.js.map +7 -0
  417. package/lib/esm/src/pki/di/pkiModuleFactory.js +2 -0
  418. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +7 -0
  419. package/lib/esm/src/pki/di/pkiTypes.js +2 -0
  420. package/lib/esm/src/pki/di/pkiTypes.js.map +7 -0
  421. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js +2 -0
  422. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +7 -0
  423. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +2 -0
  424. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +7 -0
  425. package/lib/esm/src/pki/domain/PkiCertificateLoader.js +1 -0
  426. package/lib/esm/src/pki/domain/PkiCertificateLoader.js.map +7 -0
  427. package/lib/esm/src/pki/model/KeyId.js +2 -0
  428. package/lib/esm/src/pki/model/KeyId.js.map +7 -0
  429. package/lib/esm/src/pki/model/KeyUsage.js +2 -0
  430. package/lib/esm/src/pki/model/KeyUsage.js.map +7 -0
  431. package/lib/esm/src/pki/model/PkiCertificate.js +1 -0
  432. package/lib/esm/src/pki/model/PkiCertificate.js.map +7 -0
  433. package/lib/esm/src/pki/model/PkiCertificateInfo.js +1 -0
  434. package/lib/esm/src/pki/model/PkiCertificateInfo.js.map +7 -0
  435. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  436. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  437. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  438. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  439. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  440. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  441. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  442. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  443. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  444. package/lib/esm/src/proxy/data/ProxyDataSource.js.map +7 -0
  445. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js +1 -0
  446. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  447. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js +1 -0
  448. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  449. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  450. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  451. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  452. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  453. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  454. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  455. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  456. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  457. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  458. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  459. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  460. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  461. package/lib/esm/src/proxy/model/ProxyDelegateCall.js +1 -0
  462. package/lib/esm/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  463. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  464. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  465. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  466. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  467. package/lib/esm/src/safe/data/SafeAccountDataSource.js +1 -0
  468. package/lib/esm/src/safe/data/SafeAccountDataSource.js.map +7 -0
  469. package/lib/esm/src/safe/data/dto/SafeAccountDto.js +1 -0
  470. package/lib/esm/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  471. package/lib/esm/src/safe/di/safeModuleFactory.js +2 -0
  472. package/lib/esm/src/safe/di/safeModuleFactory.js.map +7 -0
  473. package/lib/esm/src/safe/di/safeModuleFactory.test.js +2 -0
  474. package/lib/esm/src/safe/di/safeModuleFactory.test.js.map +7 -0
  475. package/lib/esm/src/safe/di/safeTypes.js +2 -0
  476. package/lib/esm/src/safe/di/safeTypes.js.map +7 -0
  477. package/lib/esm/src/safe/domain/SafeAddressLoader.js +2 -0
  478. package/lib/esm/src/safe/domain/SafeAddressLoader.js.map +7 -0
  479. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js +2 -0
  480. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  481. package/lib/esm/src/shared/constant/HttpHeaders.js +2 -0
  482. package/lib/esm/src/shared/constant/HttpHeaders.js.map +7 -0
  483. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  484. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  485. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  486. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  487. package/lib/esm/src/shared/model/SignatureTags.js +2 -0
  488. package/lib/esm/src/shared/model/SignatureTags.js.map +7 -0
  489. package/lib/esm/src/shared/model/SolanaContextTypes.js +2 -0
  490. package/lib/esm/src/shared/model/SolanaContextTypes.js.map +7 -0
  491. package/lib/esm/src/shared/model/SolanaTransactionContext.js +1 -0
  492. package/lib/esm/src/shared/model/SolanaTransactionContext.js.map +7 -0
  493. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  494. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  495. package/lib/esm/src/shared/utils/HexStringUtils.js +1 -1
  496. package/lib/esm/src/shared/utils/HexStringUtils.js.map +3 -3
  497. package/lib/esm/src/shared/utils/HexStringUtils.test.js +2 -0
  498. package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +7 -0
  499. package/lib/esm/src/shared/utils/KeyUsageMapper.js +2 -0
  500. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +7 -0
  501. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +2 -0
  502. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +7 -0
  503. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  504. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  505. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  506. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  507. package/lib/esm/src/solana/data/SolanaDataSource.js +1 -0
  508. package/lib/esm/src/solana/data/SolanaDataSource.js.map +7 -0
  509. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js +2 -0
  510. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  511. package/lib/esm/src/solana/di/solanaContextTypes.js +2 -0
  512. package/lib/esm/src/solana/di/solanaContextTypes.js.map +7 -0
  513. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  514. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  515. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  516. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  517. package/lib/esm/src/solana/domain/SolanaContextLoader.js +1 -0
  518. package/lib/esm/src/solana/domain/SolanaContextLoader.js.map +7 -0
  519. package/lib/esm/src/solana/domain/solanaContextTypes.js +1 -0
  520. package/lib/esm/src/solana/domain/solanaContextTypes.js.map +7 -0
  521. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  522. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  523. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  524. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  525. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js +1 -0
  526. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  527. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  528. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  529. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  530. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  531. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  532. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  533. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  534. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  535. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  536. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  537. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  538. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  539. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js +1 -0
  540. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  541. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js +2 -0
  542. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  543. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js +2 -0
  544. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  545. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  546. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  547. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  548. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  549. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  550. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
  551. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  552. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  553. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  554. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  555. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  556. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  557. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  558. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  559. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  560. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  561. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  562. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  563. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  564. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  565. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  566. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  567. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  568. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  569. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  570. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  571. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  572. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  573. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js +1 -0
  574. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  575. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js +1 -0
  576. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  577. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js +1 -0
  578. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  579. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js +1 -0
  580. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  581. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  582. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  583. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js +2 -0
  584. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  585. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  586. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  587. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  588. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  589. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  590. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  591. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  592. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  593. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  594. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  595. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  596. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  597. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  598. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  599. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  600. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  601. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  602. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  603. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  604. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  605. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  606. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  607. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  608. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  609. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  610. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  611. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  612. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  613. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +1 -1
  614. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  615. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  616. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  617. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  618. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  619. package/lib/esm/src/uniswap/constants/uniswap.js +2 -0
  620. package/lib/esm/src/uniswap/constants/uniswap.js.map +7 -0
  621. package/lib/esm/src/uniswap/constants/weth.js +2 -0
  622. package/lib/esm/src/uniswap/constants/weth.js.map +7 -0
  623. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js +1 -0
  624. package/lib/esm/src/uniswap/data/AbiDecoderDataSource.js.map +7 -0
  625. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js +1 -0
  626. package/lib/esm/src/uniswap/data/CommandDecoderDataSource.js.map +7 -0
  627. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js +2 -0
  628. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.js.map +7 -0
  629. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js +2 -0
  630. package/lib/esm/src/uniswap/data/DefaultCommandDecoderDataSource.test.js.map +7 -0
  631. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js +2 -0
  632. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.js.map +7 -0
  633. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js +2 -0
  634. package/lib/esm/src/uniswap/data/EthersAbiDecoderDataSource.test.js.map +7 -0
  635. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +2 -0
  636. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +7 -0
  637. package/lib/esm/src/uniswap/di/uniswapTypes.js +2 -0
  638. package/lib/esm/src/uniswap/di/uniswapTypes.js.map +7 -0
  639. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +2 -0
  640. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +7 -0
  641. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +2 -0
  642. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +7 -0
  643. package/lib/types/src/ContextModule.d.ts +6 -4
  644. package/lib/types/src/ContextModule.d.ts.map +1 -1
  645. package/lib/types/src/ContextModuleBuilder.d.ts +34 -3
  646. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  647. package/lib/types/src/DefaultContextModule.d.ts +10 -4
  648. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  649. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts +13 -0
  650. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  651. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts +24 -0
  652. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  653. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  654. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  655. package/lib/types/src/{transaction/data → calldata/data/dto}/CalldataDto.d.ts +10 -1
  656. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  657. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  658. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  659. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  660. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  661. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  662. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  663. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  664. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  665. package/lib/types/src/config/di/configModuleFactory.d.ts.map +1 -1
  666. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  667. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  668. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +4 -0
  669. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -0
  670. package/lib/types/src/config/model/ContextModuleConfig.d.ts +18 -0
  671. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  672. package/lib/types/src/di.d.ts.map +1 -1
  673. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts +6 -0
  674. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts.map +1 -0
  675. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +13 -0
  676. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -0
  677. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts +2 -0
  678. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts.map +1 -0
  679. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts +14 -0
  680. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts.map +1 -0
  681. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts +3 -0
  682. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts.map +1 -0
  683. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts +5 -0
  684. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts.map +1 -0
  685. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +19 -0
  686. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -0
  687. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts +2 -0
  688. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts.map +1 -0
  689. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts +16 -0
  690. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts.map +1 -0
  691. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  692. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +20 -5
  693. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  694. package/lib/types/src/index.d.ts +46 -1
  695. package/lib/types/src/index.d.ts.map +1 -1
  696. package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -0
  697. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  698. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  699. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  700. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  701. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  702. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  703. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  704. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  705. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  706. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  707. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts +12 -0
  708. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -0
  709. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts +2 -0
  710. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.test.d.ts.map +1 -0
  711. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts +7 -0
  712. package/lib/types/src/pki/data/PkiCertificateDataSource.d.ts.map +1 -0
  713. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts +23 -0
  714. package/lib/types/src/pki/data/pkiDataSourceTypes.d.ts.map +1 -0
  715. package/lib/types/src/pki/di/pkiModuleFactory.d.ts +3 -0
  716. package/lib/types/src/pki/di/pkiModuleFactory.d.ts.map +1 -0
  717. package/lib/types/src/pki/di/pkiTypes.d.ts +5 -0
  718. package/lib/types/src/pki/di/pkiTypes.d.ts.map +1 -0
  719. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts +10 -0
  720. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -0
  721. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts +2 -0
  722. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.test.d.ts.map +1 -0
  723. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts +6 -0
  724. package/lib/types/src/pki/domain/PkiCertificateLoader.d.ts.map +1 -0
  725. package/lib/types/src/pki/model/KeyId.d.ts +14 -0
  726. package/lib/types/src/pki/model/KeyId.d.ts.map +1 -0
  727. package/lib/types/src/pki/model/KeyUsage.d.ts +16 -0
  728. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -0
  729. package/lib/types/src/pki/model/PkiCertificate.d.ts +5 -0
  730. package/lib/types/src/pki/model/PkiCertificate.d.ts.map +1 -0
  731. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +6 -0
  732. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -0
  733. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  734. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  735. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts +2 -0
  736. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  737. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  738. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  739. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  740. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  741. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  742. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  743. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts +5 -0
  744. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  745. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts +6 -0
  746. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  747. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  748. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  749. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  750. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  751. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  752. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  753. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  754. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  755. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  756. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  757. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  758. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  759. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  760. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  761. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +11 -0
  762. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -0
  763. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts +2 -0
  764. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts.map +1 -0
  765. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts +20 -0
  766. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts.map +1 -0
  767. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts +10 -0
  768. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts.map +1 -0
  769. package/lib/types/src/safe/di/safeModuleFactory.d.ts +3 -0
  770. package/lib/types/src/safe/di/safeModuleFactory.d.ts.map +1 -0
  771. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts +2 -0
  772. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts.map +1 -0
  773. package/lib/types/src/safe/di/safeTypes.d.ts +5 -0
  774. package/lib/types/src/safe/di/safeTypes.d.ts.map +1 -0
  775. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts +19 -0
  776. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts.map +1 -0
  777. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts +2 -0
  778. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts.map +1 -0
  779. package/lib/types/src/shared/constant/HttpHeaders.d.ts +3 -0
  780. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -0
  781. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +25 -0
  782. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  783. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  784. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  785. package/lib/types/src/shared/model/ClearSignContext.d.ts +78 -24
  786. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  787. package/lib/types/src/shared/model/SignatureTags.d.ts +3 -0
  788. package/lib/types/src/shared/model/SignatureTags.d.ts.map +1 -0
  789. package/lib/types/src/shared/model/SolanaContextTypes.d.ts +47 -0
  790. package/lib/types/src/shared/model/SolanaContextTypes.d.ts.map +1 -0
  791. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +13 -0
  792. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -0
  793. package/lib/types/src/shared/model/TransactionSubset.d.ts +4 -1
  794. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  795. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +48 -4
  796. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  797. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  798. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  799. package/lib/types/src/shared/utils/HexStringUtils.d.ts +1 -0
  800. package/lib/types/src/shared/utils/HexStringUtils.d.ts.map +1 -1
  801. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts +2 -0
  802. package/lib/types/src/shared/utils/HexStringUtils.test.d.ts.map +1 -0
  803. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +5 -0
  804. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -0
  805. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts +2 -0
  806. package/lib/types/src/shared/utils/KeyUsageMapper.test.d.ts.map +1 -0
  807. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +13 -0
  808. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -0
  809. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts +2 -0
  810. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts.map +1 -0
  811. package/lib/types/src/solana/data/SolanaDataSource.d.ts +9 -0
  812. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -0
  813. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts +3 -0
  814. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts.map +1 -0
  815. package/lib/types/src/solana/di/solanaContextTypes.d.ts +5 -0
  816. package/lib/types/src/solana/di/solanaContextTypes.d.ts.map +1 -0
  817. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +15 -0
  818. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -0
  819. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts +2 -0
  820. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts.map +1 -0
  821. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts +5 -0
  822. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts.map +1 -0
  823. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +29 -0
  824. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -0
  825. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts +9 -0
  826. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts.map +1 -0
  827. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts +2 -0
  828. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts.map +1 -0
  829. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts +13 -0
  830. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts.map +1 -0
  831. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts +3 -0
  832. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts.map +1 -0
  833. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts +5 -0
  834. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts.map +1 -0
  835. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts +16 -0
  836. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts.map +1 -0
  837. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts +2 -0
  838. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts.map +1 -0
  839. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts +9 -0
  840. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts.map +1 -0
  841. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts +2 -0
  842. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts.map +1 -0
  843. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts +44 -0
  844. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts.map +1 -0
  845. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts +5 -0
  846. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts.map +1 -0
  847. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts +3 -0
  848. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts.map +1 -0
  849. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts +22 -0
  850. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts.map +1 -0
  851. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts +2 -0
  852. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts.map +1 -0
  853. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  854. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  855. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  856. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  857. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  858. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  859. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  860. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  861. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  862. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  863. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +10 -0
  864. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -0
  865. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts +2 -0
  866. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts.map +1 -0
  867. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +10 -0
  868. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -0
  869. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts +2 -0
  870. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts.map +1 -0
  871. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts +14 -0
  872. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts.map +1 -0
  873. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts +28 -0
  874. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts.map +1 -0
  875. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts +5 -0
  876. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts.map +1 -0
  877. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts +5 -0
  878. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts.map +1 -0
  879. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts +3 -0
  880. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts.map +1 -0
  881. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts +7 -0
  882. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts.map +1 -0
  883. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +19 -0
  884. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -0
  885. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts +2 -0
  886. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts.map +1 -0
  887. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +18 -0
  888. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -0
  889. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts +2 -0
  890. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts.map +1 -0
  891. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  892. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  893. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +9 -2
  894. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  895. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  896. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  897. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  898. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  899. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  900. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  901. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  902. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  903. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  904. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  905. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  906. package/lib/types/src/typed-data/data/FiltersDto.d.ts +48 -2
  907. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  908. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +5 -0
  909. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  910. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  911. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  912. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  913. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  914. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  915. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  916. package/lib/types/src/uniswap/constants/uniswap.d.ts +20 -0
  917. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -0
  918. package/lib/types/src/uniswap/constants/weth.d.ts +20 -0
  919. package/lib/types/src/uniswap/constants/weth.d.ts.map +1 -0
  920. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts +5 -0
  921. package/lib/types/src/uniswap/data/AbiDecoderDataSource.d.ts.map +1 -0
  922. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts +6 -0
  923. package/lib/types/src/uniswap/data/CommandDecoderDataSource.d.ts.map +1 -0
  924. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts +14 -0
  925. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.d.ts.map +1 -0
  926. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts +2 -0
  927. package/lib/types/src/uniswap/data/DefaultCommandDecoderDataSource.test.d.ts.map +1 -0
  928. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts +5 -0
  929. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.d.ts.map +1 -0
  930. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts +2 -0
  931. package/lib/types/src/uniswap/data/EthersAbiDecoderDataSource.test.d.ts.map +1 -0
  932. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts +3 -0
  933. package/lib/types/src/uniswap/di/uniswapModuleFactory.d.ts.map +1 -0
  934. package/lib/types/src/uniswap/di/uniswapTypes.d.ts +6 -0
  935. package/lib/types/src/uniswap/di/uniswapTypes.d.ts.map +1 -0
  936. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +104 -0
  937. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -0
  938. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts +2 -0
  939. package/lib/types/src/uniswap/domain/UniswapContextLoader.test.d.ts.map +1 -0
  940. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  941. package/package.json +39 -35
  942. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  943. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  944. package/lib/cjs/src/transaction/data/CalldataDto.js +0 -2
  945. package/lib/cjs/src/transaction/data/CalldataDto.js.map +0 -7
  946. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  947. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  948. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  949. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  950. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  951. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  952. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  953. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  954. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  955. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  956. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  957. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  958. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  959. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  960. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  961. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  962. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  963. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  964. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  965. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  966. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  967. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  968. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  969. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  970. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  971. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  972. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  973. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  974. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -19
  975. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  976. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +0 -1
  977. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +0 -22
  978. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  979. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  980. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  981. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +0 -12
  982. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  983. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  984. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  985. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
  986. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  987. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -10
  988. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  989. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  990. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  991. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  992. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js +0 -0
  993. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js.map +0 -0
  994. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → config/model/ContextModuleBuildArgs.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/typed-data/domain/DefaultTypedDataContextLoader.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport type { TypedDataContext } from \"@/shared/model/TypedDataContext\";\nimport type { TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport type { TypedDataDataSource } from \"@/typed-data/data/TypedDataDataSource\";\nimport { DefaultTypedDataContextLoader } from \"@/typed-data/domain/DefaultTypedDataContextLoader\";\n\ndescribe(\"TokenContextLoader\", () => {\n const mockTokenDataSource: TokenDataSource = {\n getTokenInfosPayload: jest.fn(),\n };\n const mockTypedDataDataSource: TypedDataDataSource = {\n getTypedDataFilters: jest.fn(),\n };\n const loader = new DefaultTypedDataContextLoader(\n mockTypedDataDataSource,\n mockTokenDataSource,\n );\n\n const TEST_TYPES = {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n {\n type: \"address[]\",\n name: \"token\",\n },\n {\n name: \"amount\",\n type: \"uint160\",\n },\n {\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n };\n const TEST_VALUES = [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac, 0x25,\n 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n {\n path: \"details.amount\",\n value: Uint8Array.from([0x12]),\n },\n {\n path: \"spender\",\n value: Uint8Array.from([0x12]),\n },\n {\n path: \"details.expiration\",\n value: Uint8Array.from([0x12]),\n },\n ];\n\n beforeEach(() => {\n jest.clearAllMocks();\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n });\n\n describe(\"load function\", () => {\n it(\"success with referenced token\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 0,\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb\",\n },\n {\n type: \"datetime\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n tokens: {\n 0: \"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n },\n filters: {\n \"details.amount\": {\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n tokenIndex: 0,\n type: \"amount\",\n },\n \"details.expiration\": {\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b\",\n type: \"datetime\",\n },\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n spender: {\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb\",\n type: \"raw\",\n },\n },\n });\n });\n\n it(\"success with referenced token verifying contract\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 255,\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n tokens: {\n 0: \"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n 255: \"payload-0x000000000022d473030f116ddee9f6b43ac78ba3\",\n },\n filters: {\n \"details.amount\": {\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n tokenIndex: 255,\n type: \"amount\",\n },\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n },\n });\n });\n\n it(\"should return an error if filters are unavailable\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() => Promise.resolve(Left(new Error(\"error\"))));\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"error\",\n error: new Error(\"error\"),\n });\n });\n\n it(\"success with unavailable tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(() =>\n Promise.resolve(Left(new Error(\"token error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n tokens: {},\n filters: {\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n },\n });\n });\n\n it(\"success with several identic tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac,\n 0x25, 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n ...TEST_VALUES,\n ],\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(() =>\n Promise.resolve(Left(new Error(\"token error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(mockTokenDataSource.getTokenInfosPayload).toHaveBeenCalledWith({\n address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n chainId: 1,\n });\n expect(result.type).toEqual(\"success\");\n });\n\n it(\"success with several different tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac,\n 0x25, 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0xff,\n ]),\n },\n ...TEST_VALUES,\n ],\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(mockTokenDataSource.getTokenInfosPayload).not.toHaveBeenCalledWith(\n { address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f6ff\", chainId: 1 },\n );\n expect(mockTokenDataSource.getTokenInfosPayload).not.toHaveBeenCalledWith(\n { address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\", chainId: 1 },\n );\n expect(result.type).toEqual(\"success\");\n });\n\n it(\"should ignore the token if value is not found\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.badtoken\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result.type).toEqual(\"success\");\n if (result.type === \"success\") {\n expect(result.filters[\"details.badtoken\"]?.[\"displayName\"]).toEqual(\n \"Amount allowance\",\n );\n expect(result.tokens).toEqual({});\n }\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_purify_ts", "import_DefaultTypedDataContextLoader", "mockTokenDataSource", "mockTypedDataDataSource", "loader", "TEST_TYPES", "TEST_VALUES", "address", "ctx", "result"]
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport type { ProxyDataSource } from \"@/proxy/data/ProxyDataSource\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { TypedDataCalldataParamPresence } from \"@/shared/model/TypedDataClearSignContext\";\nimport type { TypedDataContext } from \"@/shared/model/TypedDataContext\";\nimport type { TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport type { TypedDataDataSource } from \"@/typed-data/data/TypedDataDataSource\";\nimport { DefaultTypedDataContextLoader } from \"@/typed-data/domain/DefaultTypedDataContextLoader\";\n\ndescribe(\"TypedDataContextLoader\", () => {\n const getProxyImplementationAddressMock = vi.fn();\n const loadCertificateMock = vi.fn();\n const getTypedDataFiltersMock = vi.fn();\n const mockTokenDataSource: TokenDataSource = {\n getTokenInfosPayload: vi.fn(),\n };\n const mockTypedDataDataSource: TypedDataDataSource = {\n getTypedDataFilters: getTypedDataFiltersMock,\n };\n const mockProxyDatasource: ProxyDataSource = {\n getProxyImplementationAddress: getProxyImplementationAddressMock,\n };\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: loadCertificateMock,\n };\n const loader = new DefaultTypedDataContextLoader(\n mockTypedDataDataSource,\n mockTokenDataSource,\n mockProxyDatasource,\n mockCertificateLoader,\n );\n\n const TEST_TYPES = {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n {\n type: \"address[]\",\n name: \"token\",\n },\n {\n name: \"amount\",\n type: \"uint160\",\n },\n {\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n };\n const TEST_VALUES = [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac, 0x25,\n 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n {\n path: \"details.amount\",\n value: Uint8Array.from([0x12]),\n },\n {\n path: \"spender\",\n value: Uint8Array.from([0x12]),\n },\n {\n path: \"details.expiration\",\n value: Uint8Array.from([0x12]),\n },\n ];\n\n const TEST_TYPES_CALLDATA = {\n SafeTx: [\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"selector\",\n type: \"bytes\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n EIP712Domain: [\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n };\n const TEST_VALUES_CALLDATA = [\n {\n path: \"to\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac, 0x25,\n 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n {\n path: \"spender\",\n value: Uint8Array.from([\n 0x8c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac, 0x25,\n 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n {\n path: \"value\",\n value: Uint8Array.from([0x0e, 0xeb, 0xe0, 0xb4, 0x0e, 0x80, 0x00]),\n },\n {\n path: \"data\",\n value: Uint8Array.from([\n 0x6a, 0x76, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x23, 0xf8, 0xab, 0xfc, 0x28, 0x24, 0xc3, 0x97,\n 0xcc, 0xb3, 0xda, 0x89, 0xae, 0x77, 0x29, 0x84, 0x10, 0x7d, 0xdb, 0x99,\n ]),\n },\n {\n path: \"selector\",\n value: Uint8Array.from([0x77, 0x88, 0x99, 0xaa]),\n },\n {\n path: \"chainId\",\n value: Uint8Array.from([0x12, 0x34]),\n },\n {\n path: \"operation\",\n value: Uint8Array.from([0x1]),\n },\n ];\n\n beforeEach(() => {\n vi.clearAllMocks();\n vi.spyOn(mockTokenDataSource, \"getTokenInfosPayload\").mockImplementation(\n ({ address }) => Promise.resolve(Right(`payload-${address}`)),\n );\n getProxyImplementationAddressMock.mockResolvedValue(\n Left(new Error(\"No proxy\")),\n );\n });\n\n describe(\"load function\", () => {\n it(\"success with referenced token\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 0,\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb\",\n },\n {\n type: \"datetime\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(getTypedDataFiltersMock).toHaveBeenCalledWith(\n expect.objectContaining({\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n }),\n );\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n trustedNamesAddresses: {},\n tokens: {\n 0: \"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n },\n calldatas: {},\n proxy: undefined,\n filters: {\n \"details.amount\": {\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n tokenIndex: 0,\n type: \"amount\",\n },\n \"details.expiration\": {\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b\",\n type: \"datetime\",\n },\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n spender: {\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb\",\n type: \"raw\",\n },\n },\n });\n });\n\n it(\"success with referenced token verifying contract\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 255,\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n trustedNamesAddresses: {},\n tokens: {\n 0: \"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n 255: \"payload-0x000000000022d473030f116ddee9f6b43ac78ba3\",\n },\n calldatas: {},\n proxy: undefined,\n filters: {\n \"details.amount\": {\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n tokenIndex: 255,\n type: \"amount\",\n },\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n },\n });\n });\n\n it(\"success with calldata\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES_CALLDATA,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES_CALLDATA,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Multisig transaction\",\n filtersCount: 4,\n signature:\n \"304402206553ac5a2ce6bb17b94f3ec559fb037af0b742d62c001d8938aad709accd71ed022075ce87c3eb65e605f0ce0b2bc4bf960498bacf109a499807d1a7906d9c78c9c4\",\n },\n calldatasInfos: {\n 0: {\n calldataIndex: 0,\n displayName: \"Transaction\",\n valueFlag: true,\n calleeFlag: TypedDataCalldataParamPresence.Present,\n chainIdFlag: false,\n selectorFlag: false,\n amountFlag: true,\n spenderFlag: TypedDataCalldataParamPresence.Present,\n signature:\n \"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e\",\n },\n },\n filters: [\n {\n type: \"raw\",\n displayName: \"Operation type\",\n path: \"operation\",\n signature:\n \"3045022100fb9f3e7bab8ac0cd9a5722389a19d1ebdd39d7a6da6e374724a46eebee6896bc022070e991bb022111ed448540511b7fa4f70d5e92b0a3866d75cfc9d3cf1cf75d9b\",\n },\n {\n type: \"calldata-value\",\n displayName: \"Transaction\",\n path: \"data\",\n calldataIndex: 0,\n signature:\n \"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a\",\n },\n {\n type: \"calldata-callee\",\n displayName: \"Transaction\",\n path: \"to\",\n calldataIndex: 0,\n signature:\n \"30440220796cc549e363c5bc9f9d5bda894cf4cda11f157519f673d2b4a8b3ce716a8fba0220663c888d764084072856fe654ff425bffe671c2550068c64be9eddd6c84178b8\",\n },\n {\n type: \"calldata-amount\",\n displayName: \"Transaction\",\n path: \"value\",\n calldataIndex: 0,\n signature:\n \"3044022021601a55098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n },\n {\n type: \"calldata-chain-id\",\n displayName: \"Transaction\",\n path: \"chainId\",\n calldataIndex: 0,\n signature:\n \"3044022021601a56098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n },\n {\n type: \"calldata-selector\",\n displayName: \"Transaction\",\n path: \"selector\",\n calldataIndex: 0,\n signature:\n \"3044022021601a57098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n },\n {\n type: \"calldata-spender\",\n displayName: \"Transaction\",\n path: \"spender\",\n calldataIndex: 0,\n signature:\n \"3044022021601a58098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Multisig transaction\",\n filtersCount: 4,\n signature:\n \"304402206553ac5a2ce6bb17b94f3ec559fb037af0b742d62c001d8938aad709accd71ed022075ce87c3eb65e605f0ce0b2bc4bf960498bacf109a499807d1a7906d9c78c9c4\",\n },\n trustedNamesAddresses: {},\n tokens: {},\n calldatas: {\n 0: {\n filter: {\n calldataIndex: 0,\n displayName: \"Transaction\",\n valueFlag: true,\n calleeFlag: TypedDataCalldataParamPresence.Present,\n chainIdFlag: false,\n selectorFlag: false,\n amountFlag: true,\n spenderFlag: TypedDataCalldataParamPresence.Present,\n signature:\n \"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e\",\n },\n subset: {\n chainId: 0x1234,\n data: \"0x6a76120200000000000000000000000023f8abfc2824c397ccb3da89ae772984107ddb99\",\n from: \"0x8ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n selector: \"0x778899aa\",\n to: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n value: 4200000000000000n,\n },\n },\n },\n proxy: undefined,\n filters: {\n data: {\n displayName: \"Transaction\",\n path: \"data\",\n signature:\n \"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a\",\n calldataIndex: 0,\n type: \"calldata-value\",\n },\n operation: {\n displayName: \"Operation type\",\n path: \"operation\",\n signature:\n \"3045022100fb9f3e7bab8ac0cd9a5722389a19d1ebdd39d7a6da6e374724a46eebee6896bc022070e991bb022111ed448540511b7fa4f70d5e92b0a3866d75cfc9d3cf1cf75d9b\",\n type: \"raw\",\n },\n to: {\n displayName: \"Transaction\",\n path: \"to\",\n signature:\n \"30440220796cc549e363c5bc9f9d5bda894cf4cda11f157519f673d2b4a8b3ce716a8fba0220663c888d764084072856fe654ff425bffe671c2550068c64be9eddd6c84178b8\",\n calldataIndex: 0,\n type: \"calldata-callee\",\n },\n value: {\n displayName: \"Transaction\",\n path: \"value\",\n signature:\n \"3044022021601a55098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n calldataIndex: 0,\n type: \"calldata-amount\",\n },\n chainId: {\n displayName: \"Transaction\",\n path: \"chainId\",\n signature:\n \"3044022021601a56098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n calldataIndex: 0,\n type: \"calldata-chain-id\",\n },\n selector: {\n displayName: \"Transaction\",\n path: \"selector\",\n signature:\n \"3044022021601a57098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n calldataIndex: 0,\n type: \"calldata-selector\",\n },\n spender: {\n displayName: \"Transaction\",\n path: \"spender\",\n signature:\n \"3044022021601a58098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n calldataIndex: 0,\n type: \"calldata-spender\",\n },\n },\n });\n });\n\n it(\"success with several calldatas\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES_CALLDATA,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES_CALLDATA,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Multisig transaction\",\n filtersCount: 4,\n signature:\n \"304402206553ac5a2ce6bb17b94f3ec559fb037af0b742d62c001d8938aad709accd71ed022075ce87c3eb65e605f0ce0b2bc4bf960498bacf109a499807d1a7906d9c78c9c4\",\n },\n calldatasInfos: {\n 0: {\n calldataIndex: 0,\n displayName: \"Transaction\",\n valueFlag: true,\n calleeFlag: TypedDataCalldataParamPresence.VerifyingContract,\n chainIdFlag: false,\n selectorFlag: false,\n amountFlag: true,\n spenderFlag: TypedDataCalldataParamPresence.VerifyingContract,\n signature:\n \"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e\",\n },\n 1: {\n calldataIndex: 1,\n displayName: \"Transaction 2\",\n valueFlag: false,\n calleeFlag: TypedDataCalldataParamPresence.VerifyingContract,\n chainIdFlag: true,\n selectorFlag: true,\n amountFlag: false,\n spenderFlag: TypedDataCalldataParamPresence.VerifyingContract,\n signature:\n \"3056122100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e\",\n },\n },\n filters: [\n {\n type: \"raw\",\n displayName: \"Operation type\",\n path: \"operation\",\n signature:\n \"3045022100fb9f3e7bab8ac0cd9a5722389a19d1ebdd39d7a6da6e374724a46eebee6896bc022070e991bb022111ed448540511b7fa4f70d5e92b0a3866d75cfc9d3cf1cf75d9b\",\n },\n {\n type: \"calldata-value\",\n displayName: \"Transaction\",\n path: \"data\",\n calldataIndex: 0,\n signature:\n \"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a\",\n },\n {\n type: \"calldata-selector\",\n displayName: \"Transaction\",\n path: \"selector\",\n calldataIndex: 1,\n signature:\n \"3044022021601a57098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Multisig transaction\",\n filtersCount: 4,\n signature:\n \"304402206553ac5a2ce6bb17b94f3ec559fb037af0b742d62c001d8938aad709accd71ed022075ce87c3eb65e605f0ce0b2bc4bf960498bacf109a499807d1a7906d9c78c9c4\",\n },\n trustedNamesAddresses: {},\n tokens: {},\n calldatas: {\n 0: {\n filter: {\n calldataIndex: 0,\n displayName: \"Transaction\",\n valueFlag: true,\n calleeFlag: TypedDataCalldataParamPresence.VerifyingContract,\n chainIdFlag: false,\n selectorFlag: false,\n amountFlag: true,\n spenderFlag: TypedDataCalldataParamPresence.VerifyingContract,\n signature:\n \"3045022100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e\",\n },\n subset: {\n chainId: 1,\n data: \"0x6a76120200000000000000000000000023f8abfc2824c397ccb3da89ae772984107ddb99\",\n from: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n selector: \"0x6a761202\",\n to: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n value: undefined,\n },\n },\n 1: {\n filter: {\n calldataIndex: 1,\n displayName: \"Transaction 2\",\n valueFlag: false,\n calleeFlag: TypedDataCalldataParamPresence.VerifyingContract,\n chainIdFlag: true,\n selectorFlag: true,\n amountFlag: false,\n spenderFlag: TypedDataCalldataParamPresence.VerifyingContract,\n signature:\n \"3056122100d8496ab69152efeef6a923a3ebd225334ad65dcb985814994243be7bc09bf27e02206314835816908dd6d51d3cbb0f9465d91d7ddc9104b34dd6c4247f65c551836e\",\n },\n subset: {\n chainId: 1,\n data: \"0x\",\n from: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n selector: \"0x778899aa\",\n to: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n value: undefined,\n },\n },\n },\n proxy: undefined,\n filters: {\n data: {\n displayName: \"Transaction\",\n path: \"data\",\n signature:\n \"3044022031a3398014238d098643893885e4b8c2152a56b01c34516edda1065df62258d1022057f094a83e938be32ca70d73616af8c57cdb8846a7a71b21be5504fa74cfc53a\",\n calldataIndex: 0,\n type: \"calldata-value\",\n },\n selector: {\n displayName: \"Transaction\",\n path: \"selector\",\n signature:\n \"3044022021601a57098d35e5e78cbe3e76e519b1e626b903859d07982260fcf789abb52902204cd67475175f3b3a13a34156ef5edd5f711c890e1b9886b099a5480ff18a4d5f\",\n calldataIndex: 1,\n type: \"calldata-selector\",\n },\n operation: {\n displayName: \"Operation type\",\n path: \"operation\",\n signature:\n \"3045022100fb9f3e7bab8ac0cd9a5722389a19d1ebdd39d7a6da6e374724a46eebee6896bc022070e991bb022111ed448540511b7fa4f70d5e92b0a3866d75cfc9d3cf1cf75d9b\",\n type: \"raw\",\n },\n },\n });\n });\n\n it(\"success with proxy\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getProxyImplementationAddressMock.mockResolvedValueOnce(\n Right({\n implementationAddress: \"0x987654321fedcba0\",\n signedDescriptor: \"0x123456789abcdef0\",\n keyId: \"testKeyId\",\n KeyUsage: \"testKeyUsage\",\n }),\n );\n loadCertificateMock.mockResolvedValue(undefined);\n getTypedDataFiltersMock\n .mockResolvedValueOnce(Promise.resolve(Left(new Error(\"error\"))))\n .mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(getTypedDataFiltersMock).toHaveBeenCalledTimes(2);\n expect(getTypedDataFiltersMock).toHaveBeenLastCalledWith(\n expect.objectContaining({\n address: \"0x987654321fedcba0\",\n chainId: 1,\n }),\n );\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n trustedNamesAddresses: {},\n tokens: {},\n calldatas: {},\n proxy: {\n type: ClearSignContextType.PROXY_INFO,\n payload: \"0x123456789abcdef0\",\n certificate: undefined,\n },\n filters: {},\n });\n });\n\n it(\"success with proxy and certificate\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getProxyImplementationAddressMock.mockResolvedValueOnce(\n Right({\n implementationAddress: \"0x987654321fedcba0\",\n signedDescriptor: \"0x123456789abcdef0\",\n keyId: \"testKeyId\",\n KeyUsage: \"testKeyUsage\",\n }),\n );\n loadCertificateMock.mockResolvedValue({\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3, 4]),\n });\n getTypedDataFiltersMock\n .mockResolvedValueOnce(Promise.resolve(Left(new Error(\"error\"))))\n .mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(getTypedDataFiltersMock).toHaveBeenCalledTimes(2);\n expect(getTypedDataFiltersMock).toHaveBeenLastCalledWith(\n expect.objectContaining({\n address: \"0x987654321fedcba0\",\n chainId: 1,\n }),\n );\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n trustedNamesAddresses: {},\n tokens: {},\n calldatas: {},\n proxy: {\n type: ClearSignContextType.PROXY_INFO,\n payload: \"0x123456789abcdef0\",\n certificate: {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3, 4]),\n },\n },\n filters: {},\n });\n });\n\n it(\"should return an error if filters are unavailable\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(Left(new Error(\"error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(getTypedDataFiltersMock).toHaveBeenCalledTimes(1);\n expect(result).toEqual({\n type: \"error\",\n error: new Error(\"error\"),\n });\n });\n\n it(\"should return an error if filters are unavailable in the proxy\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getProxyImplementationAddressMock.mockResolvedValueOnce(\n Right({\n delegateAddresses: [\"0x987654321fedcba0\"],\n signedDescriptor: \"0x123456789abcdef0\",\n }),\n );\n loadCertificateMock.mockResolvedValue(undefined);\n getTypedDataFiltersMock\n .mockResolvedValueOnce(Promise.resolve(Left(new Error(\"error\"))))\n .mockResolvedValueOnce(Promise.resolve(Left(new Error(\"error\"))));\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(getTypedDataFiltersMock).toHaveBeenCalledTimes(2);\n expect(result).toEqual({\n type: \"error\",\n error: new Error(\"error\"),\n });\n });\n\n it(\"success with a trusted name\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"trusted-name\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n types: [\"contract\"],\n sources: [\"local\", \"ens\"],\n typesAndSourcesPayload: \"010203010002\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n trustedNamesAddresses: {\n \"details.token.[]\": \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n },\n tokens: {},\n calldatas: {},\n filters: {\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n types: [\"contract\"],\n sources: [\"local\", \"ens\"],\n typesAndSourcesPayload: \"010203010002\",\n type: \"trusted-name\",\n },\n },\n });\n });\n\n it(\"success with unavailable tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n vi.spyOn(mockTokenDataSource, \"getTokenInfosPayload\").mockImplementation(\n () => Promise.resolve(Left(new Error(\"token error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n trustedNamesAddresses: {},\n tokens: {},\n calldatas: {},\n filters: {\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n },\n });\n });\n\n it(\"success with several identic tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac,\n 0x25, 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n ...TEST_VALUES,\n ],\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n vi.spyOn(mockTokenDataSource, \"getTokenInfosPayload\").mockImplementation(\n () => Promise.resolve(Left(new Error(\"token error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(mockTokenDataSource.getTokenInfosPayload).toHaveBeenCalledWith({\n address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n chainId: 1,\n });\n expect(result.type).toEqual(\"success\");\n });\n\n it(\"success with several different tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac,\n 0x25, 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0xff,\n ]),\n },\n ...TEST_VALUES,\n ],\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(mockTokenDataSource.getTokenInfosPayload).not.toHaveBeenCalledWith(\n { address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f6ff\", chainId: 1 },\n );\n expect(mockTokenDataSource.getTokenInfosPayload).not.toHaveBeenCalledWith(\n { address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\", chainId: 1 },\n );\n expect(result.type).toEqual(\"success\");\n });\n\n it(\"should ignore the token if value is not found\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n challenge: \"1234\",\n fieldsValues: TEST_VALUES,\n deviceModelId: DeviceModelId.STAX,\n } as TypedDataContext;\n getTypedDataFiltersMock.mockResolvedValueOnce(\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n calldatasInfos: {},\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.badtoken\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result.type).toEqual(\"success\");\n if (result.type === \"success\") {\n expect(result.filters[\"details.badtoken\"]?.[\"displayName\"]).toEqual(\n \"Amount allowance\",\n );\n expect(result.tokens).toEqual({});\n }\n });\n });\n});\n"],
5
+ "mappings": "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BACN,YAAa,cACb,KAAM,QACN,cAAe,EACf,UACE,8IACJ,EACA,CACE,KAAM,oBACN,YAAa,cACb,KAAM,UACN,cAAe,EACf,UACE,8IACJ,EACA,CACE,KAAM,oBACN,YAAa,cACb,KAAM,WACN,cAAe,EACf,UACE,8IACJ,EACA,CACE,KAAM,mBACN,YAAa,cACb,KAAM,UACN,cAAe,EACf,UACE,8IACJ,CACF,CACF,CAAC,CACH,CACF,EAGA,MAAMY,EAAS,MAAMP,EAAO,KAAKM,CAAG,EAGpC,OAAOC,CAAM,EAAE,QAAQ,CACrB,KAAM,UACN,YAAa,CACX,YAAa,uBACb,aAAc,EACd,UACE,8IACJ,EACA,sBAAuB,CAAC,EACxB,OAAQ,CAAC,EACT,UAAW,CACT,EAAG,CACD,OAAQ,CACN,cAAe,EACf,YAAa,cACb,UAAW,GACX,WAAY,iCAA+B,QAC3C,YAAa,GACb,aAAc,GACd,WAAY,GACZ,YAAa,iCAA+B,QAC5C,UACE,gJACJ,EACA,OAAQ,CACN,QAAS,KACT,KAAM,6EACN,KAAM,6CACN,SAAU,aACV,GAAI,6CACJ,MAAO,iBACT,CACF,CACF,EACA,MAAO,OACP,QAAS,CACP,KAAM,CACJ,YAAa,cACb,KAAM,OACN,UACE,+IACF,cAAe,EACf,KAAM,gBACR,EACA,UAAW,CACT,YAAa,iBACb,KAAM,YACN,UACE,iJACF,KAAM,KACR,EACA,GAAI,CACF,YAAa,cACb,KAAM,KACN,UACE,+IACF,cAAe,EACf,KAAM,iBACR,EACA,MAAO,CACL,YAAa,cACb,KAAM,QACN,UACE,+IACF,cAAe,EACf,KAAM,iBACR,EACA,QAAS,CACP,YAAa,cACb,KAAM,UACN,UACE,+IACF,cAAe,EACf,KAAM,mBACR,EACA,SAAU,CACR,YAAa,cACb,KAAM,WACN,UACE,+IACF,cAAe,EACf,KAAM,mBACR,EACA,QAAS,CACP,YAAa,cACb,KAAM,UACN,UACE,+IACF,cAAe,EACf,KAAM,kBACR,CACF,CACF,CAAC,CACH,CAAC,EAED,GAAG,iCAAkC,SAAY,CAE/C,MAAMD,EAAM,CACV,kBAAmB,6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",
6
+ "names": ["import_device_management_kit", "import_purify_ts", "import_ClearSignContext", "import_TypedDataClearSignContext", "import_DefaultTypedDataContextLoader", "getProxyImplementationAddressMock", "loadCertificateMock", "getTypedDataFiltersMock", "mockTokenDataSource", "mockTypedDataDataSource", "mockProxyDatasource", "mockCertificateLoader", "loader", "TEST_TYPES", "TEST_VALUES", "TEST_TYPES_CALLDATA", "TEST_VALUES_CALLDATA", "address", "ctx", "result"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var R=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var t=Object.prototype.hasOwnProperty;var M=(A,T)=>{for(var P in T)R(A,P,{get:T[P],enumerable:!0})},p=(A,T,P,S)=>{if(T&&typeof T=="object"||typeof T=="function")for(let E of W(T))!t.call(A,E)&&E!==P&&R(A,E,{get:()=>T[E],enumerable:!(S=C(T,E))||S.enumerable});return A};var a=A=>p(R({},"__esModule",{value:!0}),A);var O={};M(O,{UNISWAP_COMMANDS:()=>o,UNISWAP_EXECUTE_ABI:()=>e,UNISWAP_EXECUTE_SELECTOR:()=>n,UNISWAP_SWAP_COMMANDS:()=>N,UniswapSupportedCommand:()=>I});module.exports=a(O);const e=["function execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline) external payable"],n="0x3593564c";var I=(_=>(_.V2_SWAP_EXACT_IN="V2_SWAP_EXACT_IN",_.V2_SWAP_EXACT_OUT="V2_SWAP_EXACT_OUT",_.V3_SWAP_EXACT_IN="V3_SWAP_EXACT_IN",_.V3_SWAP_EXACT_OUT="V3_SWAP_EXACT_OUT",_.WRAP_ETH="WRAP_ETH",_.UNWRAP_ETH="UNWRAP_ETH",_.PERMIT2_PERMIT="PERMIT2_PERMIT",_.PERMIT2_TRANSFER_FROM="PERMIT2_TRANSFER_FROM",_.PERMIT2_PERMIT_BATCH="PERMIT2_PERMIT_BATCH",_.PERMIT2_TRANSFER_FROM_BATCH="PERMIT2_TRANSFER_FROM_BATCH",_.PAY_PORTION="PAY_PORTION",_.SWEEP="SWEEP",_))(I||{});const o={"0x08":"V2_SWAP_EXACT_IN","0x09":"V2_SWAP_EXACT_OUT","0x00":"V3_SWAP_EXACT_IN","0x01":"V3_SWAP_EXACT_OUT","0x0b":"WRAP_ETH","0x0c":"UNWRAP_ETH","0x0a":"PERMIT2_PERMIT","0x0d":"PERMIT2_TRANSFER_FROM","0x02":"PERMIT2_PERMIT_BATCH","0x03":"PERMIT2_TRANSFER_FROM_BATCH","0x06":"PAY_PORTION","0x04":"SWEEP"},N=["V2_SWAP_EXACT_IN","V2_SWAP_EXACT_OUT","V3_SWAP_EXACT_IN","V3_SWAP_EXACT_OUT"];0&&(module.exports={UNISWAP_COMMANDS,UNISWAP_EXECUTE_ABI,UNISWAP_EXECUTE_SELECTOR,UNISWAP_SWAP_COMMANDS,UniswapSupportedCommand});
2
+ //# sourceMappingURL=uniswap.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/constants/uniswap.ts"],
4
+ "sourcesContent": ["import { type HexaString } from \"@ledgerhq/device-management-kit\";\n\nexport const UNISWAP_EXECUTE_ABI = [\n \"function execute(bytes calldata commands, bytes[] calldata inputs, uint256 deadline) external payable\",\n];\n\nexport const UNISWAP_EXECUTE_SELECTOR = \"0x3593564c\";\n\nexport enum UniswapSupportedCommand {\n V2_SWAP_EXACT_IN = \"V2_SWAP_EXACT_IN\",\n V2_SWAP_EXACT_OUT = \"V2_SWAP_EXACT_OUT\",\n V3_SWAP_EXACT_IN = \"V3_SWAP_EXACT_IN\",\n V3_SWAP_EXACT_OUT = \"V3_SWAP_EXACT_OUT\",\n WRAP_ETH = \"WRAP_ETH\",\n UNWRAP_ETH = \"UNWRAP_ETH\",\n PERMIT2_PERMIT = \"PERMIT2_PERMIT\",\n PERMIT2_TRANSFER_FROM = \"PERMIT2_TRANSFER_FROM\",\n PERMIT2_PERMIT_BATCH = \"PERMIT2_PERMIT_BATCH\",\n PERMIT2_TRANSFER_FROM_BATCH = \"PERMIT2_TRANSFER_FROM_BATCH\",\n PAY_PORTION = \"PAY_PORTION\",\n SWEEP = \"SWEEP\",\n}\n\nexport const UNISWAP_COMMANDS: Record<HexaString, UniswapSupportedCommand> = {\n \"0x08\": UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x09\": UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x00\": UniswapSupportedCommand.V3_SWAP_EXACT_IN,\n \"0x01\": UniswapSupportedCommand.V3_SWAP_EXACT_OUT,\n \"0x0b\": UniswapSupportedCommand.WRAP_ETH,\n \"0x0c\": UniswapSupportedCommand.UNWRAP_ETH,\n \"0x0a\": UniswapSupportedCommand.PERMIT2_PERMIT,\n \"0x0d\": UniswapSupportedCommand.PERMIT2_TRANSFER_FROM,\n \"0x02\": UniswapSupportedCommand.PERMIT2_PERMIT_BATCH,\n \"0x03\": UniswapSupportedCommand.PERMIT2_TRANSFER_FROM_BATCH,\n \"0x06\": UniswapSupportedCommand.PAY_PORTION,\n \"0x04\": UniswapSupportedCommand.SWEEP,\n};\n\nexport const UNISWAP_SWAP_COMMANDS: UniswapSupportedCommand[] = [\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n UniswapSupportedCommand.V3_SWAP_EXACT_IN,\n UniswapSupportedCommand.V3_SWAP_EXACT_OUT,\n];\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,wBAAAC,EAAA,6BAAAC,EAAA,0BAAAC,EAAA,4BAAAC,IAAA,eAAAC,EAAAP,GAEO,MAAMG,EAAsB,CACjC,uGACF,EAEaC,EAA2B,aAEjC,IAAKE,OACVA,EAAA,iBAAmB,mBACnBA,EAAA,kBAAoB,oBACpBA,EAAA,iBAAmB,mBACnBA,EAAA,kBAAoB,oBACpBA,EAAA,SAAW,WACXA,EAAA,WAAa,aACbA,EAAA,eAAiB,iBACjBA,EAAA,sBAAwB,wBACxBA,EAAA,qBAAuB,uBACvBA,EAAA,4BAA8B,8BAC9BA,EAAA,YAAc,cACdA,EAAA,MAAQ,QAZEA,OAAA,IAeL,MAAMJ,EAAgE,CAC3E,OAAQ,mBACR,OAAQ,oBACR,OAAQ,mBACR,OAAQ,oBACR,OAAQ,WACR,OAAQ,aACR,OAAQ,iBACR,OAAQ,wBACR,OAAQ,uBACR,OAAQ,8BACR,OAAQ,cACR,OAAQ,OACV,EAEaG,EAAmD,CAC9D,mBACA,oBACA,mBACA,mBACF",
6
+ "names": ["uniswap_exports", "__export", "UNISWAP_COMMANDS", "UNISWAP_EXECUTE_ABI", "UNISWAP_EXECUTE_SELECTOR", "UNISWAP_SWAP_COMMANDS", "UniswapSupportedCommand", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var M=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var b=(B,E)=>{for(var R in E)M(B,R,{get:E[R],enumerable:!0})},N=(B,E,R,O)=>{if(E&&typeof E=="object"||typeof E=="function")for(let _ of x(E))!L.call(B,_)&&_!==R&&M(B,_,{get:()=>E[_],enumerable:!(O=I(E,_))||O.enumerable});return B};var f=B=>N(M({},"__esModule",{value:!0}),B);var C={};b(C,{WETHSupportedChainIds:()=>D,WETH_ADDRESS_BY_CHAIN_ID:()=>F});module.exports=f(C);var D=(A=>(A[A.ETHEREUM_MAINNET=1]="ETHEREUM_MAINNET",A[A.ETHEREUM_GOERLI=5]="ETHEREUM_GOERLI",A[A.ETHEREUM_SEPOLIA=11155111]="ETHEREUM_SEPOLIA",A[A.ARBITRUM_ONE=42161]="ARBITRUM_ONE",A[A.ARBITRUM_GOERLI=421613]="ARBITRUM_GOERLI",A[A.AVALANCHE_C_CHAIN=43114]="AVALANCHE_C_CHAIN",A[A.BSC=56]="BSC",A[A.BASE=8453]="BASE",A[A.BASE_GOERLI=84531]="BASE_GOERLI",A[A.BLAST=23888]="BLAST",A[A.OPTIMISM=10]="OPTIMISM",A[A.OPTIMISM_GOERLI=420]="OPTIMISM_GOERLI",A[A.POLYGON=137]="POLYGON",A[A.POLYGON_MUMBAI=80001]="POLYGON_MUMBAI",A))(D||{});const F={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",5:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",11155111:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",421613:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",43114:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",8453:"0x4200000000000000000000000000000000000006",84531:"0x44D627f900da8AdaC7561bD73aA745F132450798",23888:"0x4300000000000000000000000000000000000004",10:"0x4200000000000000000000000000000000000006",420:"0x4200000000000000000000000000000000000006",137:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",80001:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889"};0&&(module.exports={WETHSupportedChainIds,WETH_ADDRESS_BY_CHAIN_ID});
2
+ //# sourceMappingURL=weth.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/constants/weth.ts"],
4
+ "sourcesContent": ["import { type HexaString } from \"@ledgerhq/device-management-kit\";\n\nexport enum WETHSupportedChainIds {\n ETHEREUM_MAINNET = 1,\n ETHEREUM_GOERLI = 5,\n ETHEREUM_SEPOLIA = 11155111,\n ARBITRUM_ONE = 42161,\n ARBITRUM_GOERLI = 421613,\n AVALANCHE_C_CHAIN = 43114,\n BSC = 56,\n BASE = 8453,\n BASE_GOERLI = 84531,\n BLAST = 23888,\n OPTIMISM = 10,\n OPTIMISM_GOERLI = 420,\n POLYGON = 137,\n POLYGON_MUMBAI = 80001,\n}\n\nexport type WETHSupportedChainId = keyof typeof WETH_ADDRESS_BY_CHAIN_ID;\n\nexport const WETH_ADDRESS_BY_CHAIN_ID: Record<\n WETHSupportedChainIds,\n HexaString\n> = {\n [WETHSupportedChainIds.ETHEREUM_MAINNET]:\n \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n [WETHSupportedChainIds.ETHEREUM_GOERLI]:\n \"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6\",\n [WETHSupportedChainIds.ETHEREUM_SEPOLIA]:\n \"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14\",\n [WETHSupportedChainIds.ARBITRUM_ONE]:\n \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n [WETHSupportedChainIds.ARBITRUM_GOERLI]:\n \"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3\",\n [WETHSupportedChainIds.AVALANCHE_C_CHAIN]:\n \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7\",\n [WETHSupportedChainIds.BSC]: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n [WETHSupportedChainIds.BASE]: \"0x4200000000000000000000000000000000000006\",\n [WETHSupportedChainIds.BASE_GOERLI]:\n \"0x44D627f900da8AdaC7561bD73aA745F132450798\",\n [WETHSupportedChainIds.BLAST]: \"0x4300000000000000000000000000000000000004\",\n [WETHSupportedChainIds.OPTIMISM]:\n \"0x4200000000000000000000000000000000000006\",\n [WETHSupportedChainIds.OPTIMISM_GOERLI]:\n \"0x4200000000000000000000000000000000000006\",\n [WETHSupportedChainIds.POLYGON]: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n [WETHSupportedChainIds.POLYGON_MUMBAI]:\n \"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889\",\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,EAAA,6BAAAC,IAAA,eAAAC,EAAAJ,GAEO,IAAKE,OACVA,IAAA,iBAAmB,GAAnB,mBACAA,IAAA,gBAAkB,GAAlB,kBACAA,IAAA,iBAAmB,UAAnB,mBACAA,IAAA,aAAe,OAAf,eACAA,IAAA,gBAAkB,QAAlB,kBACAA,IAAA,kBAAoB,OAApB,oBACAA,IAAA,IAAM,IAAN,MACAA,IAAA,KAAO,MAAP,OACAA,IAAA,YAAc,OAAd,cACAA,IAAA,MAAQ,OAAR,QACAA,IAAA,SAAW,IAAX,WACAA,IAAA,gBAAkB,KAAlB,kBACAA,IAAA,QAAU,KAAV,UACAA,IAAA,eAAiB,OAAjB,iBAdUA,OAAA,IAmBL,MAAMC,EAGT,CACD,EACC,6CACD,EACC,6CACD,SACC,6CACD,MACC,6CACD,OACC,6CACD,MACC,6CACD,GAA4B,6CAC5B,KAA6B,6CAC7B,MACC,6CACD,MAA8B,6CAC9B,GACC,6CACD,IACC,6CACD,IAAgC,6CAChC,MACC,4CACJ",
6
+ "names": ["weth_exports", "__export", "WETHSupportedChainIds", "WETH_ADDRESS_BY_CHAIN_ID", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(t,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of c(e))!d.call(t,r)&&r!==o&&n(t,r,{get:()=>e[r],enumerable:!(a=i(e,r))||a.enumerable});return t};var g=t=>p(n({},"__esModule",{value:!0}),t);var x={};module.exports=g(x);
2
+ //# sourceMappingURL=AbiDecoderDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/data/AbiDecoderDataSource.ts"],
4
+ "sourcesContent": ["import { type HexaString } from \"@ledgerhq/device-management-kit\";\n\nexport interface AbiDecoderDataSource {\n decode(types: string[], data: HexaString): unknown[];\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["AbiDecoderDataSource_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var i=(o,e,n,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!d.call(o,r)&&r!==n&&m(o,r,{get:()=>e[r],enumerable:!(a=t(e,r))||a.enumerable});return o};var c=o=>i(m({},"__esModule",{value:!0}),o);var S={};module.exports=c(S);
2
+ //# sourceMappingURL=CommandDecoderDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/data/CommandDecoderDataSource.ts"],
4
+ "sourcesContent": ["import { type HexaString } from \"@ledgerhq/device-management-kit\";\n\nimport { type UniswapSupportedCommand } from \"@/uniswap/constants/uniswap\";\n\nexport interface CommandDecoderDataSource {\n decode(\n command: UniswapSupportedCommand,\n input: HexaString,\n chainId: number,\n ): HexaString[];\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["CommandDecoderDataSource_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var d=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var R=(s,r)=>{for(var e in r)d(s,e,{get:r[e],enumerable:!0})},m=(s,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of g(r))!x.call(s,t)&&t!==e&&d(s,t,{get:()=>r[t],enumerable:!(a=E(r,t))||a.enumerable});return s};var w=s=>m(d({},"__esModule",{value:!0}),s),H=(s,r,e,a)=>{for(var t=a>1?void 0:a?E(r,e):r,S=s.length-1,_;S>=0;S--)(_=s[S])&&(t=(a?_(r,e,t):_(t))||t);return a&&t&&d(r,e,t),t},T=(s,r)=>(e,a)=>r(e,a,s);var b={};R(b,{DefaultCommandDecoderDataSource:()=>o});module.exports=w(b);var n=require("@ledgerhq/device-management-kit"),p=require("inversify"),i=require("../../uniswap/constants/uniswap"),c=require("../../uniswap/constants/weth"),A=require("../../uniswap/di/uniswapTypes");const u=20*2,h=3*2;let o=class{constructor(r){this.abiDecoder=r}decode(r,e,a){switch(r){case i.UniswapSupportedCommand.V2_SWAP_EXACT_IN:return this._decodeSwapV2(e);case i.UniswapSupportedCommand.V2_SWAP_EXACT_OUT:return this._decodeSwapV2(e);case i.UniswapSupportedCommand.V3_SWAP_EXACT_IN:return this._decodeSwapV3(e);case i.UniswapSupportedCommand.V3_SWAP_EXACT_OUT:return this._decodeSwapV3(e);case i.UniswapSupportedCommand.WRAP_ETH:return this._decodeWrappedEth(e,a);case i.UniswapSupportedCommand.UNWRAP_ETH:return this._decodeWrappedEth(e,a);case i.UniswapSupportedCommand.SWEEP:return this._decodeSweep(e);case i.UniswapSupportedCommand.PERMIT2_PERMIT:case i.UniswapSupportedCommand.PERMIT2_TRANSFER_FROM:case i.UniswapSupportedCommand.PERMIT2_PERMIT_BATCH:case i.UniswapSupportedCommand.PERMIT2_TRANSFER_FROM_BATCH:case i.UniswapSupportedCommand.PAY_PORTION:return[];default:return[]}}_decodeSwapV2(r){const[,,,e]=this.abiDecoder.decode(["address","uint256","uint256","address[]","bool"],r);return!Array.isArray(e)||!e.every(n.isHexaString)?[]:e.map(a=>a.toLowerCase())}_decodeSwapV3(r){const[,,,e]=this.abiDecoder.decode(["address","uint256","uint256","bytes","bool"],r);if(typeof e!="string"||!(0,n.isHexaString)(e)||e.length<2+u*2+h)return[];const a=[];for(let t=2;t<e.length;t+=u+h)a.push(e.slice(t,t+u));return a.map(t=>t.toLowerCase()).map(t=>`0x${t}`)}_isSupportedChainId(r){return Object.values(c.WETHSupportedChainIds).includes(r)}_decodeWrappedEth(r,e){return this._isSupportedChainId(e)?[c.WETH_ADDRESS_BY_CHAIN_ID[e].toLowerCase()]:[]}_decodeSweep=r=>{const[e]=this.abiDecoder.decode(["address","address","uint256"],r);return typeof e!="string"||!(0,n.isHexaString)(e)?[]:[e.toLowerCase()]}};o=H([(0,p.injectable)(),T(0,(0,p.inject)(A.uniswapTypes.AbiDecoderDataSource))],o);0&&(module.exports={DefaultCommandDecoderDataSource});
2
+ //# sourceMappingURL=DefaultCommandDecoderDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/data/DefaultCommandDecoderDataSource.ts"],
4
+ "sourcesContent": ["import { type HexaString, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { UniswapSupportedCommand } from \"@/uniswap/constants/uniswap\";\nimport {\n WETH_ADDRESS_BY_CHAIN_ID,\n WETHSupportedChainId,\n WETHSupportedChainIds,\n} from \"@/uniswap/constants/weth\";\nimport { uniswapTypes } from \"@/uniswap/di/uniswapTypes\";\n\nimport { type AbiDecoderDataSource } from \"./AbiDecoderDataSource\";\n\nconst ADDRESS_LENGTH = 20 * 2;\nconst FEE_LENGTH = 3 * 2;\n\n@injectable()\nexport class DefaultCommandDecoderDataSource {\n constructor(\n @inject(uniswapTypes.AbiDecoderDataSource)\n private abiDecoder: AbiDecoderDataSource,\n ) {}\n\n decode(\n command: UniswapSupportedCommand,\n input: HexaString,\n chainId: number,\n ): HexaString[] {\n switch (command) {\n case UniswapSupportedCommand.V2_SWAP_EXACT_IN:\n return this._decodeSwapV2(input);\n case UniswapSupportedCommand.V2_SWAP_EXACT_OUT:\n return this._decodeSwapV2(input);\n case UniswapSupportedCommand.V3_SWAP_EXACT_IN:\n return this._decodeSwapV3(input);\n case UniswapSupportedCommand.V3_SWAP_EXACT_OUT:\n return this._decodeSwapV3(input);\n case UniswapSupportedCommand.WRAP_ETH:\n return this._decodeWrappedEth(input, chainId);\n case UniswapSupportedCommand.UNWRAP_ETH:\n return this._decodeWrappedEth(input, chainId);\n case UniswapSupportedCommand.SWEEP:\n return this._decodeSweep(input);\n case UniswapSupportedCommand.PERMIT2_PERMIT:\n case UniswapSupportedCommand.PERMIT2_TRANSFER_FROM:\n case UniswapSupportedCommand.PERMIT2_PERMIT_BATCH:\n case UniswapSupportedCommand.PERMIT2_TRANSFER_FROM_BATCH:\n case UniswapSupportedCommand.PAY_PORTION:\n return [];\n default:\n return [];\n }\n }\n\n private _decodeSwapV2(input: HexaString): HexaString[] {\n const [, , , addresses] = this.abiDecoder.decode(\n [\"address\", \"uint256\", \"uint256\", \"address[]\", \"bool\"],\n input,\n );\n\n if (!Array.isArray(addresses) || !addresses.every(isHexaString)) {\n return [];\n }\n\n return addresses.map(\n (address: HexaString) => address.toLowerCase() as HexaString,\n );\n }\n\n private _decodeSwapV3(input: HexaString): HexaString[] {\n const [, , , path] = this.abiDecoder.decode(\n [\"address\", \"uint256\", \"uint256\", \"bytes\", \"bool\"],\n input,\n );\n // Path is at least 43 bytes long for 2 times 20B addresses + 3B fee in between\n // Example: 0x -> 20B address -> 3B fee -> 20B address -> 3B fee -> 20B address\n if (\n typeof path !== \"string\" ||\n !isHexaString(path) ||\n path.length < 2 + ADDRESS_LENGTH * 2 + FEE_LENGTH\n ) {\n return [];\n }\n\n // Get all the addresses, skip the 0x prefix\n const tokens: string[] = [];\n for (let i = 2; i < path.length; i += ADDRESS_LENGTH + FEE_LENGTH) {\n tokens.push(path.slice(i, i + ADDRESS_LENGTH));\n }\n\n return tokens\n .map((token) => token.toLowerCase())\n .map((token) => `0x${token}` as HexaString);\n }\n\n private _isSupportedChainId(\n chainId: number,\n ): chainId is WETHSupportedChainId {\n return Object.values(WETHSupportedChainIds).includes(chainId);\n }\n\n private _decodeWrappedEth(_input: HexaString, chainId: number): HexaString[] {\n if (!this._isSupportedChainId(chainId)) {\n return [];\n }\n\n return [WETH_ADDRESS_BY_CHAIN_ID[chainId].toLowerCase() as HexaString];\n }\n\n private _decodeSweep = (input: HexaString): HexaString[] => {\n const [token] = this.abiDecoder.decode(\n [\"address\", \"address\", \"uint256\"],\n input,\n );\n\n if (typeof token !== \"string\" || !isHexaString(token)) {\n return [];\n }\n\n return [token.toLowerCase() as HexaString];\n };\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA8C,2CAC9CC,EAAmC,qBAEnCC,EAAwC,uCACxCC,EAIO,oCACPC,EAA6B,qCAI7B,MAAMC,EAAiB,GAAK,EACtBC,EAAa,EAAI,EAGhB,IAAMC,EAAN,KAAsC,CAC3C,YAEUC,EACR,CADQ,gBAAAA,CACP,CAEH,OACEC,EACAC,EACAC,EACc,CACd,OAAQF,EAAS,CACf,KAAK,0BAAwB,iBAC3B,OAAO,KAAK,cAAcC,CAAK,EACjC,KAAK,0BAAwB,kBAC3B,OAAO,KAAK,cAAcA,CAAK,EACjC,KAAK,0BAAwB,iBAC3B,OAAO,KAAK,cAAcA,CAAK,EACjC,KAAK,0BAAwB,kBAC3B,OAAO,KAAK,cAAcA,CAAK,EACjC,KAAK,0BAAwB,SAC3B,OAAO,KAAK,kBAAkBA,EAAOC,CAAO,EAC9C,KAAK,0BAAwB,WAC3B,OAAO,KAAK,kBAAkBD,EAAOC,CAAO,EAC9C,KAAK,0BAAwB,MAC3B,OAAO,KAAK,aAAaD,CAAK,EAChC,KAAK,0BAAwB,eAC7B,KAAK,0BAAwB,sBAC7B,KAAK,0BAAwB,qBAC7B,KAAK,0BAAwB,4BAC7B,KAAK,0BAAwB,YAC3B,MAAO,CAAC,EACV,QACE,MAAO,CAAC,CACZ,CACF,CAEQ,cAAcA,EAAiC,CACrD,KAAM,CAAC,CAAE,CAAE,CAAEE,CAAS,EAAI,KAAK,WAAW,OACxC,CAAC,UAAW,UAAW,UAAW,YAAa,MAAM,EACrDF,CACF,EAEA,MAAI,CAAC,MAAM,QAAQE,CAAS,GAAK,CAACA,EAAU,MAAM,cAAY,EACrD,CAAC,EAGHA,EAAU,IACdC,GAAwBA,EAAQ,YAAY,CAC/C,CACF,CAEQ,cAAcH,EAAiC,CACrD,KAAM,CAAC,CAAE,CAAE,CAAEI,CAAI,EAAI,KAAK,WAAW,OACnC,CAAC,UAAW,UAAW,UAAW,QAAS,MAAM,EACjDJ,CACF,EAGA,GACE,OAAOI,GAAS,UAChB,IAAC,gBAAaA,CAAI,GAClBA,EAAK,OAAS,EAAIT,EAAiB,EAAIC,EAEvC,MAAO,CAAC,EAIV,MAAMS,EAAmB,CAAC,EAC1B,QAASC,EAAI,EAAGA,EAAIF,EAAK,OAAQE,GAAKX,EAAiBC,EACrDS,EAAO,KAAKD,EAAK,MAAME,EAAGA,EAAIX,CAAc,CAAC,EAG/C,OAAOU,EACJ,IAAKE,GAAUA,EAAM,YAAY,CAAC,EAClC,IAAKA,GAAU,KAAKA,CAAK,EAAgB,CAC9C,CAEQ,oBACNN,EACiC,CACjC,OAAO,OAAO,OAAO,uBAAqB,EAAE,SAASA,CAAO,CAC9D,CAEQ,kBAAkBO,EAAoBP,EAA+B,CAC3E,OAAK,KAAK,oBAAoBA,CAAO,EAI9B,CAAC,2BAAyBA,CAAO,EAAE,YAAY,CAAe,EAH5D,CAAC,CAIZ,CAEQ,aAAgBD,GAAoC,CAC1D,KAAM,CAACO,CAAK,EAAI,KAAK,WAAW,OAC9B,CAAC,UAAW,UAAW,SAAS,EAChCP,CACF,EAEA,OAAI,OAAOO,GAAU,UAAY,IAAC,gBAAaA,CAAK,EAC3C,CAAC,EAGH,CAACA,EAAM,YAAY,CAAe,CAC3C,CACF,EAxGaV,EAANY,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,eAAa,oBAAoB,IAFhCb",
6
+ "names": ["DefaultCommandDecoderDataSource_exports", "__export", "DefaultCommandDecoderDataSource", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_uniswap", "import_weth", "import_uniswapTypes", "ADDRESS_LENGTH", "FEE_LENGTH", "DefaultCommandDecoderDataSource", "abiDecoder", "command", "input", "chainId", "addresses", "address", "path", "tokens", "i", "token", "_input", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=require("../../uniswap/constants/uniswap"),s=require("../../uniswap/constants/weth"),x=require("./DefaultCommandDecoderDataSource"),p=require("./EthersAbiDecoderDataSource");describe("DefaultCommandDecoderDataSource",()=>{const r={decode:vi.fn()};let c;describe("decode with mocked apiDecoder",()=>{beforeEach(()=>{c=new x.DefaultCommandDecoderDataSource(r)}),describe.each([[o.UniswapSupportedCommand.V2_SWAP_EXACT_IN],[o.UniswapSupportedCommand.V2_SWAP_EXACT_OUT]])("%s",a=>{it("should return the correct command data",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",["0x0102030405060708090a0b0c0d0e0f1011121314"],!1]);const t=c.decode(a,e,1);expect(t).toEqual(["0x0102030405060708090a0b0c0d0e0f1011121314"])}),it("should return the correct command data with multiple addresses",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",["0x0102030405060708090a0b0c0d0e0f1011121314","0x0102030405060708090a0b0c0d0e0f1011121315"],!1]);const t=c.decode(a,e,1);expect(t).toEqual(["0x0102030405060708090a0b0c0d0e0f1011121314","0x0102030405060708090a0b0c0d0e0f1011121315"])}),it("should return an empty array if an address is not valid",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",["0x0102030405060708090a0b0c0d0e0f1011121314","invalid"],!1]);const t=c.decode(a,e,1);expect(t).toEqual([])}),it("should return an empty array if the addresses are not an array",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x","invalid",!1]);const t=c.decode(a,e,1);expect(t).toEqual([])}),it("should return an empty array if the addresses are not an array of hexa strings",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",["invalid"],!1]);const t=c.decode(a,e,1);expect(t).toEqual([])})}),describe.each([[o.UniswapSupportedCommand.V3_SWAP_EXACT_IN],[o.UniswapSupportedCommand.V3_SWAP_EXACT_OUT]])("%s",a=>{it("should return the correct command data",()=>{const e="0x",d=["0102030405060708090a0b0c0d0e0f1011121314","0102030405060708090a0b0c0d0e0f1011121315"].reduce((i,u)=>i.length===0?`0x${u}`:`${i}999999${u}`,"");vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",d,!1]);const n=c.decode(a,e,1);expect(n).toEqual(["0x0102030405060708090a0b0c0d0e0f1011121314","0x0102030405060708090a0b0c0d0e0f1011121315"])}),it("should return the correct command data with multiple addresses",()=>{const e="0x",d=["0102030405060708090a0b0c0d0e0f1011121314","0102030405060708090a0b0c0d0e0f1011121315","0102030405060708090a0b0c0d0e0f1011121316","0102030405060708090a0b0c0d0e0f1011121317"].reduce((i,u)=>i.length===0?`0x${u}`:`${i}999999${u}`,"");vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",d,!1]);const n=c.decode(a,e,1);expect(n).toEqual(["0x0102030405060708090a0b0c0d0e0f1011121314","0x0102030405060708090a0b0c0d0e0f1011121315","0x0102030405060708090a0b0c0d0e0f1011121316","0x0102030405060708090a0b0c0d0e0f1011121317"])}),it("should return an empty array if the path is not valid",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x","invalid",!1]);const t=c.decode(a,e,1);expect(t).toEqual([])}),it("should return an empty array if the path is not a string",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",123,!1]);const t=c.decode(a,e,1);expect(t).toEqual([])}),it("should return an empty array if the path is not a hexa string",()=>{const e="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x","invalid",!1]);const t=c.decode(a,e,1);expect(t).toEqual([])}),it("should return an empty array if the path is too short",()=>{const e="0x",d=["0102030405060708090a0b0c0d0e0f1011121314","0102030405060708090a0b0c0d0e0f101112131"].reduce((i,u)=>i.length===0?`0x${u}`:`${i}999999${u}`,"");vi.spyOn(r,"decode").mockReturnValueOnce(["0x","0x","0x",d,!1]);const n=c.decode(a,e,1);expect(n).toEqual([])})}),describe.each([o.UniswapSupportedCommand.WRAP_ETH,o.UniswapSupportedCommand.UNWRAP_ETH])("%s",a=>{it.each([s.WETHSupportedChainIds.ARBITRUM_GOERLI,s.WETHSupportedChainIds.ARBITRUM_ONE,s.WETHSupportedChainIds.AVALANCHE_C_CHAIN,s.WETHSupportedChainIds.BASE,s.WETHSupportedChainIds.BASE_GOERLI,s.WETHSupportedChainIds.BLAST,s.WETHSupportedChainIds.BSC,s.WETHSupportedChainIds.ETHEREUM_GOERLI,s.WETHSupportedChainIds.ETHEREUM_MAINNET,s.WETHSupportedChainIds.ETHEREUM_SEPOLIA,s.WETHSupportedChainIds.OPTIMISM,s.WETHSupportedChainIds.OPTIMISM_GOERLI,s.WETHSupportedChainIds.POLYGON,s.WETHSupportedChainIds.POLYGON_MUMBAI])("should return the correct command data for chainId %s",e=>{const d=c.decode(a,"0x",e);expect(d).toEqual([s.WETH_ADDRESS_BY_CHAIN_ID[e].toLowerCase()])}),it("should return an empty array if the chainId is not supported",()=>{const t=c.decode(o.UniswapSupportedCommand.WRAP_ETH,"0x",123);expect(t).toEqual([])})}),describe("SWEEP",()=>{it("should return the correct command data",()=>{const a="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["0x0102030405060708090a0b0c0d0e0f1011121314","0x","0x","0x"]);const e=c.decode(o.UniswapSupportedCommand.SWEEP,a,1);expect(e).toEqual(["0x0102030405060708090a0b0c0d0e0f1011121314"])}),it("should return an empty array if the address is not valid",()=>{const a="0x";vi.spyOn(r,"decode").mockReturnValueOnce(["invalid","0x","0x","0x"]);const e=c.decode(o.UniswapSupportedCommand.SWEEP,a,1);expect(e).toEqual([])}),it("should return an empty array if the address is not a hexa string",()=>{const a="0x";vi.spyOn(r,"decode").mockReturnValueOnce([123,"0x","0x","0x"]);const e=c.decode(o.UniswapSupportedCommand.SWEEP,a,1);expect(e).toEqual([])})}),describe.each([o.UniswapSupportedCommand.PERMIT2_PERMIT,o.UniswapSupportedCommand.PERMIT2_TRANSFER_FROM,o.UniswapSupportedCommand.PERMIT2_PERMIT_BATCH,o.UniswapSupportedCommand.PERMIT2_TRANSFER_FROM_BATCH,o.UniswapSupportedCommand.PAY_PORTION,"invalid"])("%s",a=>{it("should return an empty array",()=>{const t=c.decode(a,"0x",1);expect(t).toEqual([])})})}),describe("decode with real apiDecoder",()=>{beforeEach(()=>{const a=new p.EthersAbiDecoderDataSource;c=new x.DefaultCommandDecoderDataSource(a)}),describe("V3_SWAP_EXACT_IN -> PAY_PORTION -> UNWRAP_ETH",()=>{const a=["0x00","0x06","0x0c"],e=["0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000a18f07d736b90be5500000000000000000000000000000000000000000000000000000000b0b8122abd8412900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bb9f599ce614feb2e1bbe58f180f370d05b39344e002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000","0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000017cc6042605381c158d2adab487434bde79aa61c000000000000000000000000000000000000000000000000000000000000005b","0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b0b8122abd84129"];it("V3_SWAP_EXACT_IN",()=>{const t=a[0],d=e[0],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xb9f599ce614feb2e1bbe58f180f370d05b39344e","0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])}),it("PAY_PORTION",()=>{const t=a[1],d=e[1],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual([])}),it("UNWRAP_ETH",()=>{const t=a[2],d=e[2],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])})}),describe("WRAP_ETH -> V3_SWAP_EXACT_OUT -> TRANSFERT -> SWEEP -> UNWRAP_ETH",()=>{const a=["0x0b","0x01","0x05","0x04","0x0c"],e=["0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000078e6708e70aed0f","0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000059a16770000000000000000000000000000000000000000000000000078e6708e70aed0f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000","0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c470000000000000000000000000000000000000000000000000000000000393870","0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000059682f00","0x0000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000000000000"];it("WRAP_ETH",()=>{const t=a[0],d=e[0],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])}),it("V3_SWAP_EXACT_OUT",()=>{const t=a[1],d=e[1],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])}),it("TRANSFERT",()=>{const t=a[2],d=e[2],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual([])}),it("SWEEP",()=>{const t=a[3],d=e[3],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"])}),it("UNWRAP_ETH",()=>{const t=a[4],d=e[4],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])})}),describe("V2_SWAP_EXACT_IN -> PAY_PORTION -> UNWRAP_ETH",()=>{const a=["0x08","0x06","0x0c"],e=["0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000003ebb8addda849d38caed0000000000000000000000000000000000000000000000000f238e04a7ccbf5100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000003b991130eae3cca364406d718da22fa1c3e7c256000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019","0x00000000000000000000000002573c689ddedddd450e6c947f5bb67de70e80b50000000000000000000000000000000000000000000000000f19dda9c38a50c1"];it("V2_SWAP_EXACT_IN",()=>{const t=a[0],d=e[0],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0x3b991130eae3cca364406d718da22fa1c3e7c256","0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])}),it("PAY_PORTION",()=>{const t=a[1],d=e[1],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual([])}),it("UNWRAP_ETH",()=>{const t=a[2],d=e[2],n=c.decode(o.UNISWAP_COMMANDS[t],d,1);expect(n).toEqual(["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"])})})})});
2
+ //# sourceMappingURL=DefaultCommandDecoderDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/data/DefaultCommandDecoderDataSource.test.ts"],
4
+ "sourcesContent": ["import { type HexaString } from \"@ledgerhq/device-management-kit\";\n\nimport {\n UNISWAP_COMMANDS,\n UniswapSupportedCommand,\n} from \"@/uniswap/constants/uniswap\";\nimport {\n WETH_ADDRESS_BY_CHAIN_ID,\n WETHSupportedChainIds,\n} from \"@/uniswap/constants/weth\";\n\nimport { type AbiDecoderDataSource } from \"./AbiDecoderDataSource\";\nimport { DefaultCommandDecoderDataSource } from \"./DefaultCommandDecoderDataSource\";\nimport { EthersAbiDecoderDataSource } from \"./EthersAbiDecoderDataSource\";\n\ndescribe(\"DefaultCommandDecoderDataSource\", () => {\n const apiDecoderMock: AbiDecoderDataSource = {\n decode: vi.fn(),\n };\n let dataSource: DefaultCommandDecoderDataSource;\n\n describe(\"decode with mocked apiDecoder\", () => {\n beforeEach(() => {\n dataSource = new DefaultCommandDecoderDataSource(apiDecoderMock);\n });\n\n describe.each([\n [UniswapSupportedCommand.V2_SWAP_EXACT_IN],\n [UniswapSupportedCommand.V2_SWAP_EXACT_OUT],\n ])(\"%s\", (command) => {\n it(\"should return the correct command data\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n [\"0x0102030405060708090a0b0c0d0e0f1011121314\"],\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([\"0x0102030405060708090a0b0c0d0e0f1011121314\"]);\n });\n\n it(\"should return the correct command data with multiple addresses\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n [\n \"0x0102030405060708090a0b0c0d0e0f1011121314\",\n \"0x0102030405060708090a0b0c0d0e0f1011121315\",\n ],\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([\n \"0x0102030405060708090a0b0c0d0e0f1011121314\",\n \"0x0102030405060708090a0b0c0d0e0f1011121315\",\n ]);\n });\n\n it(\"should return an empty array if an address is not valid\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n [\"0x0102030405060708090a0b0c0d0e0f1011121314\", \"invalid\"],\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the addresses are not an array\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n \"invalid\",\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the addresses are not an array of hexa strings\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n [\"invalid\"],\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n describe.each([\n [UniswapSupportedCommand.V3_SWAP_EXACT_IN],\n [UniswapSupportedCommand.V3_SWAP_EXACT_OUT],\n ])(\"%s\", (command) => {\n it(\"should return the correct command data\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n const addresses = [\n \"0102030405060708090a0b0c0d0e0f1011121314\",\n \"0102030405060708090a0b0c0d0e0f1011121315\",\n ];\n const path = addresses.reduce(\n (acc, address) =>\n acc.length === 0 ? `0x${address}` : `${acc}999999${address}`,\n \"\",\n );\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n path,\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([\n \"0x0102030405060708090a0b0c0d0e0f1011121314\",\n \"0x0102030405060708090a0b0c0d0e0f1011121315\",\n ]);\n });\n\n it(\"should return the correct command data with multiple addresses\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n const addresses = [\n \"0102030405060708090a0b0c0d0e0f1011121314\",\n \"0102030405060708090a0b0c0d0e0f1011121315\",\n \"0102030405060708090a0b0c0d0e0f1011121316\",\n \"0102030405060708090a0b0c0d0e0f1011121317\",\n ];\n const path = addresses.reduce(\n (acc, address) =>\n acc.length === 0 ? `0x${address}` : `${acc}999999${address}`,\n \"\",\n );\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n path,\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([\n \"0x0102030405060708090a0b0c0d0e0f1011121314\",\n \"0x0102030405060708090a0b0c0d0e0f1011121315\",\n \"0x0102030405060708090a0b0c0d0e0f1011121316\",\n \"0x0102030405060708090a0b0c0d0e0f1011121317\",\n ]);\n });\n\n it(\"should return an empty array if the path is not valid\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n \"invalid\",\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the path is not a string\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n 123,\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the path is not a hexa string\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n \"invalid\",\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the path is too short\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n\n const addresses = [\n \"0102030405060708090a0b0c0d0e0f1011121314\",\n \"0102030405060708090a0b0c0d0e0f101112131\", // 1 char missing\n ];\n const path = addresses.reduce(\n (acc, address) =>\n acc.length === 0 ? `0x${address}` : `${acc}999999${address}`,\n \"\",\n );\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x\",\n \"0x\",\n \"0x\",\n path,\n false,\n ]);\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n\n describe.each([\n UniswapSupportedCommand.WRAP_ETH,\n UniswapSupportedCommand.UNWRAP_ETH,\n ])(\"%s\", (command) => {\n it.each([\n WETHSupportedChainIds.ARBITRUM_GOERLI,\n WETHSupportedChainIds.ARBITRUM_ONE,\n WETHSupportedChainIds.AVALANCHE_C_CHAIN,\n WETHSupportedChainIds.BASE,\n WETHSupportedChainIds.BASE_GOERLI,\n WETHSupportedChainIds.BLAST,\n WETHSupportedChainIds.BSC,\n WETHSupportedChainIds.ETHEREUM_GOERLI,\n WETHSupportedChainIds.ETHEREUM_MAINNET,\n WETHSupportedChainIds.ETHEREUM_SEPOLIA,\n WETHSupportedChainIds.OPTIMISM,\n WETHSupportedChainIds.OPTIMISM_GOERLI,\n WETHSupportedChainIds.POLYGON,\n WETHSupportedChainIds.POLYGON_MUMBAI,\n ])(\"should return the correct command data for chainId %s\", (chainId) => {\n // GIVEN\n const input: HexaString = \"0x\";\n\n // WHEN\n const result = dataSource.decode(command, input, chainId);\n\n // THEN\n expect(result).toEqual([\n WETH_ADDRESS_BY_CHAIN_ID[chainId].toLowerCase(),\n ]);\n });\n\n it(\"should return an empty array if the chainId is not supported\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n\n // WHEN\n const result = dataSource.decode(\n UniswapSupportedCommand.WRAP_ETH,\n input,\n 123,\n );\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n\n describe(\"SWEEP\", () => {\n it(\"should return the correct command data\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x0102030405060708090a0b0c0d0e0f1011121314\",\n \"0x\",\n \"0x\",\n \"0x\",\n ]);\n\n // WHEN\n const result = dataSource.decode(\n UniswapSupportedCommand.SWEEP,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\"0x0102030405060708090a0b0c0d0e0f1011121314\"]);\n });\n\n it(\"should return an empty array if the address is not valid\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n \"invalid\",\n \"0x\",\n \"0x\",\n \"0x\",\n ]);\n\n // WHEN\n const result = dataSource.decode(\n UniswapSupportedCommand.SWEEP,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the address is not a hexa string\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n vi.spyOn(apiDecoderMock, \"decode\").mockReturnValueOnce([\n 123,\n \"0x\",\n \"0x\",\n \"0x\",\n ]);\n\n // WHEN\n const result = dataSource.decode(\n UniswapSupportedCommand.SWEEP,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n\n describe.each([\n UniswapSupportedCommand.PERMIT2_PERMIT,\n UniswapSupportedCommand.PERMIT2_TRANSFER_FROM,\n UniswapSupportedCommand.PERMIT2_PERMIT_BATCH,\n UniswapSupportedCommand.PERMIT2_TRANSFER_FROM_BATCH,\n UniswapSupportedCommand.PAY_PORTION,\n \"invalid\" as UniswapSupportedCommand,\n ])(\"%s\", (command) => {\n it(\"should return an empty array\", () => {\n // GIVEN\n const input: HexaString = \"0x\";\n\n // WHEN\n const result = dataSource.decode(command, input, 1);\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n });\n\n describe(\"decode with real apiDecoder\", () => {\n beforeEach(() => {\n const abiDecoder = new EthersAbiDecoderDataSource();\n dataSource = new DefaultCommandDecoderDataSource(abiDecoder);\n });\n\n describe(\"V3_SWAP_EXACT_IN -> PAY_PORTION -> UNWRAP_ETH\", () => {\n // https://etherscan.io/tx/0xc9821c32c1782d9ab6baf6f9ca4b2565bce11aaf5146a2d303215bda026f5e48\n const commands: HexaString[] = [\"0x00\", \"0x06\", \"0x0c\"];\n const inputs: HexaString[] = [\n \"0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000a18f07d736b90be5500000000000000000000000000000000000000000000000000000000b0b8122abd8412900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bb9f599ce614feb2e1bbe58f180f370d05b39344e002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000\",\n \"0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000017cc6042605381c158d2adab487434bde79aa61c000000000000000000000000000000000000000000000000000000000000005b\",\n \"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b0b8122abd84129\",\n ];\n\n it(\"V3_SWAP_EXACT_IN\", () => {\n // GIVEN\n const command = commands[0]!;\n const input = inputs[0]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\n \"0xb9f599ce614feb2e1bbe58f180f370d05b39344e\", // ERC20\n \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\", // WETH\n ]);\n });\n\n it(\"PAY_PORTION\", () => {\n // GIVEN\n const command = commands[1]!;\n const input = inputs[1]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"UNWRAP_ETH\", () => {\n // GIVEN\n const command = commands[2]!;\n const input = inputs[2]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\"]); // WETH\n });\n });\n\n describe(\"WRAP_ETH -> V3_SWAP_EXACT_OUT -> TRANSFERT -> SWEEP -> UNWRAP_ETH\", () => {\n // https://etherscan.io/tx/0xa628c8b3da2ad984aed0354d8ca4b4c3c42941491dc4e0d6a5f423fd65e6c90a\n const commands: HexaString[] = [\"0x0b\", \"0x01\", \"0x05\", \"0x04\", \"0x0c\"];\n const inputs: HexaString[] = [\n \"0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000078e6708e70aed0f\",\n \"0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000059a16770000000000000000000000000000000000000000000000000078e6708e70aed0f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000\",\n \"0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c470000000000000000000000000000000000000000000000000000000000393870\",\n \"0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000059682f00\",\n \"0x0000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000000000000\",\n ];\n\n it(\"WRAP_ETH\", () => {\n // GIVEN\n const command = commands[0]!;\n const input = inputs[0]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\"]); // WETH\n });\n\n it(\"V3_SWAP_EXACT_OUT\", () => {\n // GIVEN\n const command = commands[1]!;\n const input = inputs[1]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\n \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\", // USDC\n \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\", // WETH\n ]);\n });\n\n it(\"TRANSFERT\", () => {\n // GIVEN\n const command = commands[2]!;\n const input = inputs[2]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"SWEEP\", () => {\n // GIVEN\n const command = commands[3]!;\n const input = inputs[3]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]); // USDC\n });\n\n it(\"UNWRAP_ETH\", () => {\n // GIVEN\n const command = commands[4]!;\n const input = inputs[4]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\"]); // WETH\n });\n });\n\n describe(\"V2_SWAP_EXACT_IN -> PAY_PORTION -> UNWRAP_ETH\", () => {\n // https://etherscan.io/tx/0x78bc5732213e09d9ead8cabc269b7c426b0301dfe543c37d0a920e25eaa9447f\n const commands: HexaString[] = [\"0x08\", \"0x06\", \"0x0c\"];\n const inputs: HexaString[] = [\n \"0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000003ebb8addda849d38caed0000000000000000000000000000000000000000000000000f238e04a7ccbf5100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000003b991130eae3cca364406d718da22fa1c3e7c256000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n \"0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019\",\n \"0x00000000000000000000000002573c689ddedddd450e6c947f5bb67de70e80b50000000000000000000000000000000000000000000000000f19dda9c38a50c1\",\n ];\n\n it(\"V2_SWAP_EXACT_IN\", () => {\n // GIVEN\n const command = commands[0]!;\n const input = inputs[0]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\n \"0x3b991130eae3cca364406d718da22fa1c3e7c256\", // ERC20\n \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\", // WETH\n ]);\n });\n\n it(\"PAY_PORTION\", () => {\n // GIVEN\n const command = commands[1]!;\n const input = inputs[1]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"UNWRAP_ETH\", () => {\n // GIVEN\n const command = commands[2]!;\n const input = inputs[2]!;\n\n // WHEN\n const result = dataSource.decode(\n UNISWAP_COMMANDS[command] as UniswapSupportedCommand,\n input,\n 1,\n );\n\n // THEN\n expect(result).toEqual([\"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\"]); // WETH\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_uniswap", "import_weth", "import_DefaultCommandDecoderDataSource", "import_EthersAbiDecoderDataSource", "apiDecoderMock", "dataSource", "command", "input", "result", "path", "acc", "address", "chainId", "abiDecoder", "commands", "inputs"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var g=(t,r)=>{for(var e in r)m(t,e,{get:r[e],enumerable:!0})},s=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of a(r))!b.call(t,o)&&o!==e&&m(t,o,{get:()=>r[o],enumerable:!(n=c(r,o))||n.enumerable});return t};var y=t=>s(m({},"__esModule",{value:!0}),t),f=(t,r,e,n)=>{for(var o=n>1?void 0:n?c(r,e):r,d=t.length-1,p;d>=0;d--)(p=t[d])&&(o=(n?p(r,e,o):p(o))||o);return n&&o&&m(r,e,o),o};var C={};g(C,{EthersAbiDecoderDataSource:()=>i});module.exports=y(C);var l=require("ethers"),u=require("inversify");let i=class{decode(r,e){try{return l.AbiCoder.defaultAbiCoder().decode(r,e)}catch{return[]}}};i=f([(0,u.injectable)()],i);0&&(module.exports={EthersAbiDecoderDataSource});
2
+ //# sourceMappingURL=EthersAbiDecoderDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/data/EthersAbiDecoderDataSource.ts"],
4
+ "sourcesContent": ["import { AbiCoder } from \"ethers\";\nimport { injectable } from \"inversify\";\n\nimport { type AbiDecoderDataSource } from \"./AbiDecoderDataSource\";\n\n@injectable()\nexport class EthersAbiDecoderDataSource implements AbiDecoderDataSource {\n decode(types: string[], data: string): unknown[] {\n try {\n return AbiCoder.defaultAbiCoder().decode(types, data);\n } catch (_) {\n return [];\n }\n }\n}\n"],
5
+ "mappings": "2iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyB,kBACzBC,EAA2B,qBAKpB,IAAMC,EAAN,KAAiE,CACtE,OAAOC,EAAiBC,EAAyB,CAC/C,GAAI,CACF,OAAO,WAAS,gBAAgB,EAAE,OAAOD,EAAOC,CAAI,CACtD,MAAY,CACV,MAAO,CAAC,CACV,CACF,CACF,EARaF,EAANG,EAAA,IADN,cAAW,GACCH",
6
+ "names": ["EthersAbiDecoderDataSource_exports", "__export", "EthersAbiDecoderDataSource", "__toCommonJS", "import_ethers", "import_inversify", "EthersAbiDecoderDataSource", "types", "data", "__decorateClass"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=require("./EthersAbiDecoderDataSource");describe("EthersAbiDecoderDataSource",()=>{let t;beforeEach(()=>{t=new a.EthersAbiDecoderDataSource}),it("should correctly decode valid ABI data",()=>{const c=["uint256","address"],e=t.decode(c,"0x000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c47");expect(e[0]).toEqual(10n),expect(e[1]).toEqual("0x27213E28D7fDA5c57Fe9e5dD923818DBCcf71c47")}),it("should return an empty array on decode failure",()=>{const c=["uint256"],e=t.decode(c,"0x1234");expect(e).toEqual([])})});
2
+ //# sourceMappingURL=EthersAbiDecoderDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/data/EthersAbiDecoderDataSource.test.ts"],
4
+ "sourcesContent": ["import { EthersAbiDecoderDataSource } from \"./EthersAbiDecoderDataSource\";\n\ndescribe(\"EthersAbiDecoderDataSource\", () => {\n let decoder: EthersAbiDecoderDataSource;\n\n beforeEach(() => {\n decoder = new EthersAbiDecoderDataSource();\n });\n\n it(\"should correctly decode valid ABI data\", () => {\n const types = [\"uint256\", \"address\"];\n const data =\n \"0x\" +\n \"000000000000000000000000000000000000000000000000000000000000000a\" + // 10 as uint256\n \"00000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c47\"; // Address\n\n const result = decoder.decode(types, data);\n expect(result[0]).toEqual(10n);\n expect(result[1]).toEqual(\"0x27213E28D7fDA5c57Fe9e5dD923818DBCcf71c47\");\n });\n\n it(\"should return an empty array on decode failure\", () => {\n const types = [\"uint256\"];\n const invalidData = \"0x1234\"; // Invalid encoded data\n\n const result = decoder.decode(types, invalidData);\n expect(result).toEqual([]);\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA2C,wCAE3C,SAAS,6BAA8B,IAAM,CAC3C,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,4BAChB,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,MAAMC,EAAQ,CAAC,UAAW,SAAS,EAM7BC,EAASF,EAAQ,OAAOC,EAJ5B,oIAIuC,EACzC,OAAOC,EAAO,CAAC,CAAC,EAAE,QAAQ,GAAG,EAC7B,OAAOA,EAAO,CAAC,CAAC,EAAE,QAAQ,4CAA4C,CACxE,CAAC,EAED,GAAG,iDAAkD,IAAM,CACzD,MAAMD,EAAQ,CAAC,SAAS,EAGlBC,EAASF,EAAQ,OAAOC,EAFV,QAE4B,EAChD,OAAOC,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,CACH,CAAC",
6
+ "names": ["import_EthersAbiDecoderDataSource", "decoder", "types", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var f=(o,e)=>{for(var t in e)m(o,t,{get:e[t],enumerable:!0})},w=(o,e,t,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of d(e))!s.call(o,r)&&r!==t&&m(o,r,{get:()=>e[r],enumerable:!(p=D(e,r))||p.enumerable});return o};var C=o=>w(m({},"__esModule",{value:!0}),o);var l={};f(l,{uniswapModuleFactory:()=>S});module.exports=C(l);var c=require("inversify"),i=require("../../uniswap/data/DefaultCommandDecoderDataSource"),n=require("../../uniswap/data/EthersAbiDecoderDataSource"),u=require("../../uniswap/domain/UniswapContextLoader"),a=require("./uniswapTypes");const S=()=>new c.ContainerModule(({bind:o})=>{o(a.uniswapTypes.AbiDecoderDataSource).to(n.EthersAbiDecoderDataSource),o(a.uniswapTypes.CommandDecoderDataSource).to(i.DefaultCommandDecoderDataSource),o(a.uniswapTypes.UniswapContextLoader).to(u.UniswapContextLoader)});0&&(module.exports={uniswapModuleFactory});
2
+ //# sourceMappingURL=uniswapModuleFactory.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/di/uniswapModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { DefaultCommandDecoderDataSource } from \"@/uniswap/data/DefaultCommandDecoderDataSource\";\nimport { EthersAbiDecoderDataSource } from \"@/uniswap/data/EthersAbiDecoderDataSource\";\nimport { UniswapContextLoader } from \"@/uniswap/domain/UniswapContextLoader\";\n\nimport { uniswapTypes } from \"./uniswapTypes\";\n\nexport const uniswapModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(uniswapTypes.AbiDecoderDataSource).to(EthersAbiDecoderDataSource);\n bind(uniswapTypes.CommandDecoderDataSource).to(\n DefaultCommandDecoderDataSource,\n );\n bind(uniswapTypes.UniswapContextLoader).to(UniswapContextLoader);\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAAgD,0DAChDC,EAA2C,qDAC3CC,EAAqC,iDAErCC,EAA6B,0BAEtB,MAAMN,EAAuB,IAClC,IAAI,kBAAgB,CAAC,CAAE,KAAAO,CAAK,IAAM,CAChCA,EAAK,eAAa,oBAAoB,EAAE,GAAG,4BAA0B,EACrEA,EAAK,eAAa,wBAAwB,EAAE,GAC1C,iCACF,EACAA,EAAK,eAAa,oBAAoB,EAAE,GAAG,sBAAoB,CACjE,CAAC",
6
+ "names": ["uniswapModuleFactory_exports", "__export", "uniswapModuleFactory", "__toCommonJS", "import_inversify", "import_DefaultCommandDecoderDataSource", "import_EthersAbiDecoderDataSource", "import_UniswapContextLoader", "import_uniswapTypes", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var m=(e,o)=>{for(var r in o)t(e,r,{get:o[r],enumerable:!0})},S=(e,o,r,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of n(o))!D.call(e,a)&&a!==r&&t(e,a,{get:()=>o[a],enumerable:!(c=d(o,a))||c.enumerable});return e};var b=e=>S(t({},"__esModule",{value:!0}),e);var p={};m(p,{uniswapTypes:()=>i});module.exports=b(p);const i={AbiDecoderDataSource:Symbol.for("AbiDecoderDataSource"),CommandDecoderDataSource:Symbol.for("CommandDecoderDataSource"),UniswapContextLoader:Symbol.for("UniswapContextLoader")};0&&(module.exports={uniswapTypes});
2
+ //# sourceMappingURL=uniswapTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/di/uniswapTypes.ts"],
4
+ "sourcesContent": ["export const uniswapTypes = {\n AbiDecoderDataSource: Symbol.for(\"AbiDecoderDataSource\"),\n CommandDecoderDataSource: Symbol.for(\"CommandDecoderDataSource\"),\n UniswapContextLoader: Symbol.for(\"UniswapContextLoader\"),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAe,CAC1B,qBAAsB,OAAO,IAAI,sBAAsB,EACvD,yBAA0B,OAAO,IAAI,0BAA0B,EAC/D,qBAAsB,OAAO,IAAI,sBAAsB,CACzD",
6
+ "names": ["uniswapTypes_exports", "__export", "uniswapTypes", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var l=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var E=(r,e)=>{for(var t in e)l(r,t,{get:e[t],enumerable:!0})},U=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of I(e))!k.call(r,a)&&a!==t&&l(r,a,{get:()=>e[a],enumerable:!(n=y(e,a))||n.enumerable});return r};var N=r=>U(l({},"__esModule",{value:!0}),r),h=(r,e,t,n)=>{for(var a=n>1?void 0:n?y(e,t):e,o=r.length-1,i;o>=0;o--)(i=r[o])&&(a=(n?i(e,t,a):i(a))||a);return n&&a&&l(e,t,a),a},f=(r,e)=>(t,n)=>e(t,n,r);var v={};E(v,{UniswapContextLoader:()=>p});module.exports=N(v);var m=require("@ledgerhq/device-management-kit"),D=require("ethers"),S=require("inversify"),u=require("purify-ts"),C=require("../../shared/model/ClearSignContext"),w=require("../../token/di/tokenTypes"),c=require("../../uniswap/constants/uniswap"),T=require("../../uniswap/di/uniswapTypes");const b=[C.ClearSignContextType.TOKEN];let p=class{constructor(e,t){this.commandDecoderDataSource=e;this.tokenDataSource=t}canHandle(e,t){return typeof e=="object"&&e!==null&&"data"in e&&"selector"in e&&"chainId"in e&&typeof e.chainId=="number"&&(0,m.isHexaString)(e.data)&&e.data!=="0x"&&(0,m.isHexaString)(e.selector)&&e.selector===c.UNISWAP_EXECUTE_SELECTOR&&b.every(n=>t.includes(n))}async load(e){const{data:t,chainId:n}=e;return await this._extractClearSignContexts(t,n)}async _extractClearSignContexts(e,t){try{const a=new D.Interface(c.UNISWAP_EXECUTE_ABI).parseTransaction({data:e}),o=a?.args[0],i=a?.args[1];if(!(0,m.isHexaString)(o)||!this._isHexaStringArray(i))return[];const g=this._extractCommands(o).orDefault([]);if(o.length===0||i.length!==g.length)return[];const x=g.reduce((s,d,H)=>{const P=i[H],A=this.commandDecoderDataSource.decode(d,P,t);return s.push([d,A]),s},[]);if(!this._isChainingSwapSupported(x))return[];const _=[...new Set(x.flatMap(([,s])=>s))];return(await Promise.all(_.map(s=>this.tokenDataSource.getTokenInfosPayload({address:s,chainId:t})))).map(s=>s.caseOf({Left:d=>({type:C.ClearSignContextType.ERROR,error:d}),Right:d=>({type:C.ClearSignContextType.TOKEN,payload:d})}))}catch{return[]}}_extractCommands(e){return u.Maybe.fromNullable(e.slice(2).match(/../g)).map(t=>t.map(n=>`0x${n}`)).map(t=>t.map(n=>c.UNISWAP_COMMANDS[n])).chain(t=>t.every(n=>n!==void 0)?u.Maybe.of(t):u.Nothing)}_isChainingSwapSupported(e){let t,n;for(const[a,o]of e){if(!c.UNISWAP_SWAP_COMMANDS.includes(a))continue;const i=a.slice(0,2);if(t&&(t!==o[0]||n!==i))return!1;t=o[o.length-1],n=i}return!0}_isHexaStringArray(e){return Array.isArray(e)&&e.every(t=>typeof t=="string"&&(0,m.isHexaString)(t))}};p=h([(0,S.injectable)(),f(0,(0,S.inject)(T.uniswapTypes.CommandDecoderDataSource)),f(1,(0,S.inject)(w.tokenTypes.TokenDataSource))],p);0&&(module.exports={UniswapContextLoader});
2
+ //# sourceMappingURL=UniswapContextLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/uniswap/domain/UniswapContextLoader.ts"],
4
+ "sourcesContent": ["import { HexaString, isHexaString } 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 { type TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport { tokenTypes } from \"@/token/di/tokenTypes\";\nimport {\n UNISWAP_COMMANDS,\n UNISWAP_EXECUTE_ABI,\n UNISWAP_EXECUTE_SELECTOR,\n UNISWAP_SWAP_COMMANDS,\n UniswapSupportedCommand,\n} from \"@/uniswap/constants/uniswap\";\nimport { type CommandDecoderDataSource } from \"@/uniswap/data/CommandDecoderDataSource\";\nimport { uniswapTypes } from \"@/uniswap/di/uniswapTypes\";\n\nexport type UniswapContextInput = {\n data: HexaString;\n selector: HexaString;\n chainId: number;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [ClearSignContextType.TOKEN];\n\n@injectable()\nexport class UniswapContextLoader\n implements ContextLoader<UniswapContextInput>\n{\n constructor(\n @inject(uniswapTypes.CommandDecoderDataSource)\n private commandDecoderDataSource: CommandDecoderDataSource,\n @inject(tokenTypes.TokenDataSource)\n private tokenDataSource: TokenDataSource,\n ) {}\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is UniswapContextInput {\n return (\n typeof input === \"object\" &&\n input !== null &&\n \"data\" in input &&\n \"selector\" in input &&\n \"chainId\" in input &&\n typeof input.chainId === \"number\" &&\n isHexaString(input.data) &&\n input.data !== \"0x\" &&\n isHexaString(input.selector) &&\n input.selector === UNISWAP_EXECUTE_SELECTOR &&\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type))\n );\n }\n\n async load(input: UniswapContextInput): Promise<ClearSignContext[]> {\n const { data, chainId } = input;\n return await this._extractClearSignContexts(data, chainId);\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": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyC,2CACzCC,EAA0B,kBAC1BC,EAAmC,qBACnCC,EAA+B,qBAG/BC,EAGO,2CAEPC,EAA2B,iCAC3BC,EAMO,uCAEPC,EAA6B,qCAQ7B,MAAMC,EAA0C,CAAC,uBAAqB,KAAK,EAGpE,IAAMC,EAAN,KAEP,CACE,YAEUC,EAEAC,EACR,CAHQ,8BAAAD,EAEA,qBAAAC,CACP,CAEH,UACEC,EACAC,EAC8B,CAC9B,OACE,OAAOD,GAAU,UACjBA,IAAU,MACV,SAAUA,GACV,aAAcA,GACd,YAAaA,GACb,OAAOA,EAAM,SAAY,aACzB,gBAAaA,EAAM,IAAI,GACvBA,EAAM,OAAS,SACf,gBAAaA,EAAM,QAAQ,GAC3BA,EAAM,WAAa,4BACnBJ,EAAgB,MAAOM,GAASD,EAAc,SAASC,CAAI,CAAC,CAEhE,CAEA,MAAM,KAAKF,EAAyD,CAClE,KAAM,CAAE,KAAAG,EAAM,QAAAC,CAAQ,EAAIJ,EAC1B,OAAO,MAAM,KAAK,0BAA0BG,EAAMC,CAAO,CAC3D,CAkBA,MAAc,0BACZC,EACAD,EAC6B,CAC7B,GAAI,CAGF,MAAME,EAFQ,IAAI,YAAU,qBAAmB,EAE9B,iBAAiB,CAAE,KAAMD,CAAS,CAAC,EAC9CE,EAAoBD,GAAI,KAAK,CAAC,EAC9BE,EAAkBF,GAAI,KAAK,CAAC,EAElC,GAAI,IAAC,gBAAaC,CAAQ,GAAK,CAAC,KAAK,mBAAmBC,CAAM,EAC5D,MAAO,CAAC,EAGV,MAAMC,EAAkB,KAAK,iBAAiBF,CAAQ,EAAE,UAAU,CAAC,CAAC,EACpE,GAAIA,EAAS,SAAW,GAAKC,EAAO,SAAWC,EAAgB,OAE7D,MAAO,CAAC,EAGV,MAAMC,EAAqBD,EAAgB,OACzC,CAACE,EAAKC,EAASC,IAAU,CACvB,MAAMb,EAAQQ,EAAOK,CAAK,EACpBC,EAAwB,KAAK,yBAAyB,OAC1DF,EACAZ,EACAI,CACF,EAEA,OAAAO,EAAI,KAAK,CAACC,EAASE,CAAO,CAAC,EAEpBH,CACT,EACA,CAAC,CACH,EAEA,GAAI,CAAC,KAAK,yBAAyBD,CAAkB,EACnD,MAAO,CAAC,EAGV,MAAMK,EAAkB,CACtB,GAAG,IAAI,IAAIL,EAAmB,QAAQ,CAAC,CAAC,CAAEM,CAAS,IAAMA,CAAS,CAAC,CACrE,EAQA,OANsB,MAAM,QAAQ,IAClCD,EAAgB,IAAKE,GACnB,KAAK,gBAAgB,qBAAqB,CAAE,QAAAA,EAAS,QAAAb,CAAQ,CAAC,CAChE,CACF,GAEqB,IAAKc,GACxBA,EAAO,OAAyB,CAC9B,KAAOC,IAAW,CAAE,KAAM,uBAAqB,MAAO,MAAAA,CAAM,GAC5D,MAAQC,IAAa,CAAE,KAAM,uBAAqB,MAAO,QAAAA,CAAQ,EACnE,CAAC,CACH,CACF,MAAY,CACV,MAAO,CAAC,CACV,CACF,CA2BQ,iBAAiBC,EAAmD,CAC1E,OAAO,QAAM,aAAaA,EAAI,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,EAChD,IAAKC,GAAUA,EAAM,IAAKC,GAAM,KAAKA,CAAC,EAAgB,CAAC,EACvD,IAAKC,GAAaA,EAAS,IAAKD,GAAM,mBAAiBA,CAAC,CAAC,CAAC,EAC1D,MAAOhB,GACNA,EAAS,MAAOK,GAAYA,IAAY,MAAS,EAC7C,QAAM,GAAGL,CAAqC,EAC9C,SACN,CACJ,CAoCQ,yBACNJ,EACS,CACT,IAAIsB,EACAC,EAEJ,SAAW,CAACd,EAASI,CAAS,IAAKb,EAAM,CACvC,GAAI,CAAC,wBAAsB,SAASS,CAAO,EAAG,SAE9C,MAAMe,EAAcf,EAAQ,MAAM,EAAG,CAAC,EAEtC,GACEa,IACCA,IAAcT,EAAU,CAAC,GAAKU,IAAoBC,GAGnD,MAAO,GAITF,EAAYT,EAAUA,EAAU,OAAS,CAAC,EAC1CU,EAAkBC,CACpB,CAEA,MAAO,EACT,CASQ,mBAAmBC,EAAuC,CAChE,OACE,MAAM,QAAQA,CAAK,GACnBA,EAAM,MAAOC,GAAS,OAAOA,GAAS,aAAY,gBAAaA,CAAI,CAAC,CAExE,CACF,EA9NahC,EAANiC,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,eAAa,wBAAwB,GAE5CA,EAAA,eAAO,aAAW,eAAe,IANzBlC",
6
+ "names": ["UniswapContextLoader_exports", "__export", "UniswapContextLoader", "__toCommonJS", "import_device_management_kit", "import_ethers", "import_inversify", "import_purify_ts", "import_ClearSignContext", "import_tokenTypes", "import_uniswap", "import_uniswapTypes", "SUPPORTED_TYPES", "UniswapContextLoader", "commandDecoderDataSource", "tokenDataSource", "input", "expectedTypes", "type", "data", "chainId", "calldata", "tx", "commands", "inputs", "decodedCommands", "addressesByCommand", "acc", "command", "index", "decoded", "uniqueAddresses", "addresses", "address", "either", "error", "payload", "hex", "bytes", "b", "hexBytes", "lastAsset", "lastPoolVersion", "poolVersion", "array", "item", "__decorateClass", "__decorateParam"]
7
+ }