@ledgerhq/context-module 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-solana-signer-20251204160729

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 (929) hide show
  1. package/README.md +17 -5
  2. package/lib/cjs/package.json +39 -35
  3. package/lib/cjs/src/ContextModule.js +1 -1
  4. package/lib/cjs/src/ContextModule.js.map +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  6. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  7. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  8. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  9. package/lib/cjs/src/DefaultContextModule.js +1 -1
  10. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  11. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  12. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  13. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  14. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  15. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  18. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  19. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  20. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  21. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  22. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  23. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  24. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  25. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  28. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  29. package/lib/cjs/src/config/di/configModuleFactory.js +1 -1
  30. package/lib/cjs/src/config/di/configModuleFactory.js.map +3 -3
  31. package/lib/cjs/src/config/di/configTypes.js +1 -1
  32. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  33. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +2 -0
  34. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +7 -0
  35. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  36. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  37. package/lib/cjs/src/di.js +1 -1
  38. package/lib/cjs/src/di.js.map +3 -3
  39. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js +2 -0
  40. package/lib/cjs/src/dynamic-network/data/DynamicNetworkDataSource.js.map +7 -0
  41. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  42. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  43. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  44. package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  45. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +2 -0
  46. package/lib/cjs/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map +7 -0
  47. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  48. package/lib/cjs/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  49. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  50. package/lib/cjs/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  51. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  52. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  53. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  54. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  55. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js +2 -0
  56. package/lib/cjs/src/dynamic-network/model/DynamicNetworkConfiguration.js.map +7 -0
  57. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  58. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  59. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  60. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  61. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  62. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  63. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  64. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  65. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  66. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  67. package/lib/cjs/src/index.js +1 -1
  68. package/lib/cjs/src/index.js.map +2 -2
  69. package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
  70. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
  71. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
  72. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  73. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  74. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  75. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  76. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  77. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  78. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  79. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  80. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  81. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  82. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  83. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  84. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  85. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +1 -1
  86. package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +3 -3
  87. package/lib/cjs/src/pki/di/pkiModuleFactory.js +1 -1
  88. package/lib/cjs/src/pki/di/pkiModuleFactory.js.map +3 -3
  89. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.js.map +2 -2
  90. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js +1 -1
  91. package/lib/cjs/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +3 -3
  92. package/lib/cjs/src/pki/model/KeyUsage.js +1 -1
  93. package/lib/cjs/src/pki/model/KeyUsage.js.map +2 -2
  94. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +1 -1
  95. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +1 -1
  96. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  97. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  98. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  99. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  100. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  101. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  102. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  103. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  104. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  105. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  106. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js +2 -0
  107. package/lib/cjs/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  108. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js +2 -0
  109. package/lib/cjs/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  110. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  111. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  112. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  113. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  114. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  115. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  116. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  117. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  118. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  119. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  120. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  121. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  122. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  123. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  124. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  125. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  126. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  127. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  128. package/lib/cjs/src/safe/data/SafeAccountDataSource.js +2 -0
  129. package/lib/cjs/src/safe/data/SafeAccountDataSource.js.map +7 -0
  130. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js +2 -0
  131. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  132. package/lib/cjs/src/safe/di/safeModuleFactory.js +2 -0
  133. package/lib/cjs/src/safe/di/safeModuleFactory.js.map +7 -0
  134. package/lib/cjs/src/safe/di/safeModuleFactory.test.js +2 -0
  135. package/lib/cjs/src/safe/di/safeModuleFactory.test.js.map +7 -0
  136. package/lib/cjs/src/safe/di/safeTypes.js +2 -0
  137. package/lib/cjs/src/safe/di/safeTypes.js.map +7 -0
  138. package/lib/cjs/src/safe/domain/SafeAddressLoader.js +2 -0
  139. package/lib/cjs/src/safe/domain/SafeAddressLoader.js.map +7 -0
  140. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js +2 -0
  141. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  142. package/lib/cjs/src/shared/constant/HttpHeaders.js +2 -0
  143. package/lib/cjs/src/shared/constant/HttpHeaders.js.map +7 -0
  144. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  145. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  146. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  147. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  148. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  149. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  150. package/lib/cjs/src/shared/model/SolanaContextTypes.js +2 -0
  151. package/lib/cjs/src/shared/model/SolanaContextTypes.js.map +7 -0
  152. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +2 -0
  153. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +7 -0
  154. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  155. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  156. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  157. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  158. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  159. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  160. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +1 -1
  161. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +2 -2
  162. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +1 -1
  163. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  164. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  165. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  166. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  167. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  168. package/lib/cjs/src/solana/data/SolanaDataSource.js +2 -0
  169. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +7 -0
  170. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js +2 -0
  171. package/lib/cjs/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  172. package/lib/cjs/src/solana/di/solanaContextTypes.js +2 -0
  173. package/lib/cjs/src/solana/di/solanaContextTypes.js.map +7 -0
  174. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  175. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  176. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  177. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  178. package/lib/cjs/src/solana/domain/SolanaContextLoader.js +2 -0
  179. package/lib/cjs/src/solana/domain/SolanaContextLoader.js.map +7 -0
  180. package/lib/cjs/src/solana/domain/solanaContextTypes.js +2 -0
  181. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +7 -0
  182. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  183. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  184. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  185. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  186. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js +2 -0
  187. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  188. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  189. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  190. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  191. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  192. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  193. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  194. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  195. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  196. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  197. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  198. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  199. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  200. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js +2 -0
  201. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  202. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js +2 -0
  203. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  204. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js +2 -0
  205. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  206. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  207. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  208. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  209. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  210. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  211. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
  212. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  213. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  214. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  215. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  216. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  217. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  218. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  219. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  220. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  221. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  222. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  223. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  224. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  225. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  226. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  227. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  228. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  229. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  230. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  231. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  232. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  233. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  234. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js +2 -0
  235. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  236. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js +2 -0
  237. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  238. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js +2 -0
  239. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  240. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js +2 -0
  241. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  242. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  243. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  244. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js +2 -0
  245. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  246. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  247. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  248. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  249. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  250. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  251. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  252. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  253. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  254. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  255. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  256. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  257. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  258. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  259. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  260. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  261. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  262. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  263. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  264. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  265. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  266. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  267. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  268. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  269. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  270. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  271. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  272. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  273. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  274. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  275. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  276. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  277. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  278. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  279. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  280. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  281. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  282. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +1 -1
  283. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  284. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  285. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  286. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  287. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  288. package/lib/cjs/src/uniswap/constants/uniswap.js +1 -1
  289. package/lib/cjs/src/uniswap/constants/uniswap.js.map +3 -3
  290. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js +1 -1
  291. package/lib/cjs/src/uniswap/di/uniswapModuleFactory.js.map +3 -3
  292. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +1 -1
  293. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  294. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  295. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  296. package/lib/esm/package.json +39 -35
  297. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  298. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  299. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  300. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  301. package/lib/esm/src/DefaultContextModule.js +1 -1
  302. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  303. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  304. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  305. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  306. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  307. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  308. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  309. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  310. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  311. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  312. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  313. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  314. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  315. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  316. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  317. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  318. package/lib/esm/src/config/di/configModuleFactory.js +1 -1
  319. package/lib/esm/src/config/di/configModuleFactory.js.map +3 -3
  320. package/lib/esm/src/config/di/configTypes.js +1 -1
  321. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  322. package/lib/esm/src/config/model/ContextModuleBuildArgs.js +1 -0
  323. package/lib/esm/src/di.js +1 -1
  324. package/lib/esm/src/di.js.map +3 -3
  325. package/lib/esm/src/dynamic-network/data/DynamicNetworkDataSource.js +1 -0
  326. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js +2 -0
  327. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +7 -0
  328. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +2 -0
  329. package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +7 -0
  330. package/lib/esm/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.js +1 -0
  331. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js +2 -0
  332. package/lib/esm/src/dynamic-network/di/dynamicNetworkModuleFactory.js.map +7 -0
  333. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js +2 -0
  334. package/lib/esm/src/dynamic-network/di/dynamicNetworkTypes.js.map +7 -0
  335. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +2 -0
  336. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +7 -0
  337. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +2 -0
  338. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +7 -0
  339. package/lib/esm/src/dynamic-network/model/DynamicNetworkConfiguration.js +1 -0
  340. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
  341. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
  342. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
  343. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
  344. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +1 -1
  345. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +3 -3
  346. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  347. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  348. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  349. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  350. package/lib/esm/src/index.js +1 -1
  351. package/lib/esm/src/index.js.map +2 -2
  352. package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
  353. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
  354. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
  355. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
  356. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  357. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  358. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  359. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  360. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  361. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  362. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  363. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  364. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  365. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  366. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  367. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  368. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +1 -1
  369. package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +3 -3
  370. package/lib/esm/src/pki/di/pkiModuleFactory.js +1 -1
  371. package/lib/esm/src/pki/di/pkiModuleFactory.js.map +3 -3
  372. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.js.map +2 -2
  373. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js +1 -1
  374. package/lib/esm/src/pki/domain/DefaultPkiCertificateLoader.test.js.map +3 -3
  375. package/lib/esm/src/pki/model/KeyUsage.js +1 -1
  376. package/lib/esm/src/pki/model/KeyUsage.js.map +2 -2
  377. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  378. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  379. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  380. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  381. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  382. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  383. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  384. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  385. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  386. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js +1 -0
  387. package/lib/esm/src/proxy/data/dto/ProxyDelegateCallDto.js.map +7 -0
  388. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js +1 -0
  389. package/lib/esm/src/proxy/data/dto/ProxyImplementationAddressDto.js.map +7 -0
  390. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  391. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  392. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  393. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  394. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  395. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  396. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  397. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  398. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  399. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  400. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  401. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  402. package/lib/esm/src/proxy/model/ProxyDelegateCall.js +1 -0
  403. package/lib/esm/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  404. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  405. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  406. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  407. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  408. package/lib/esm/src/safe/data/SafeAccountDataSource.js +1 -0
  409. package/lib/esm/src/safe/data/SafeAccountDataSource.js.map +7 -0
  410. package/lib/esm/src/safe/data/dto/SafeAccountDto.js +1 -0
  411. package/lib/esm/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  412. package/lib/esm/src/safe/di/safeModuleFactory.js +2 -0
  413. package/lib/esm/src/safe/di/safeModuleFactory.js.map +7 -0
  414. package/lib/esm/src/safe/di/safeModuleFactory.test.js +2 -0
  415. package/lib/esm/src/safe/di/safeModuleFactory.test.js.map +7 -0
  416. package/lib/esm/src/safe/di/safeTypes.js +2 -0
  417. package/lib/esm/src/safe/di/safeTypes.js.map +7 -0
  418. package/lib/esm/src/safe/domain/SafeAddressLoader.js +2 -0
  419. package/lib/esm/src/safe/domain/SafeAddressLoader.js.map +7 -0
  420. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js +2 -0
  421. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  422. package/lib/esm/src/shared/constant/HttpHeaders.js +2 -0
  423. package/lib/esm/src/shared/constant/HttpHeaders.js.map +7 -0
  424. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  425. package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +7 -0
  426. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  427. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  428. package/lib/esm/src/shared/model/SolanaContextTypes.js +2 -0
  429. package/lib/esm/src/shared/model/SolanaContextTypes.js.map +7 -0
  430. package/lib/esm/src/shared/model/SolanaTransactionContext.js +1 -0
  431. package/lib/esm/src/shared/model/SolanaTransactionContext.js.map +7 -0
  432. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  433. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  434. package/lib/esm/src/shared/utils/KeyUsageMapper.js +1 -1
  435. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +2 -2
  436. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +1 -1
  437. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  438. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +2 -0
  439. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +7 -0
  440. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +2 -0
  441. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +7 -0
  442. package/lib/esm/src/solana/data/SolanaDataSource.js +1 -0
  443. package/lib/esm/src/solana/data/SolanaDataSource.js.map +7 -0
  444. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js +2 -0
  445. package/lib/esm/src/solana/di/SolanaContextModuleFactory.js.map +7 -0
  446. package/lib/esm/src/solana/di/solanaContextTypes.js +2 -0
  447. package/lib/esm/src/solana/di/solanaContextTypes.js.map +7 -0
  448. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +2 -0
  449. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +7 -0
  450. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +2 -0
  451. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +7 -0
  452. package/lib/esm/src/solana/domain/SolanaContextLoader.js +1 -0
  453. package/lib/esm/src/solana/domain/SolanaContextLoader.js.map +7 -0
  454. package/lib/esm/src/solana/domain/solanaContextTypes.js +1 -0
  455. package/lib/esm/src/solana/domain/solanaContextTypes.js.map +7 -0
  456. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  457. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  458. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  459. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  460. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js +1 -0
  461. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  462. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  463. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  464. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  465. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  466. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  467. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  468. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  469. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  470. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  471. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  472. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  473. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  474. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js +1 -0
  475. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  476. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js +2 -0
  477. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  478. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js +2 -0
  479. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  480. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  481. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  482. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  483. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  484. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  485. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
  486. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  487. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
  488. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  489. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  490. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  491. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  492. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  493. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  494. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  495. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  496. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  497. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  498. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  499. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  500. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  501. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  502. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  503. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  504. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  505. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  506. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  507. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  508. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js +1 -0
  509. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  510. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js +1 -0
  511. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  512. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js +1 -0
  513. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  514. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js +1 -0
  515. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  516. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  517. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  518. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js +2 -0
  519. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  520. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  521. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  522. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  523. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  524. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  525. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  526. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  527. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  528. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  529. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  530. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  531. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
  532. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  533. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  534. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  535. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  536. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  537. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  538. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  539. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  540. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  541. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  542. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  543. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  544. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  545. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  546. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  547. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  548. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +1 -1
  549. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +3 -3
  550. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  551. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  552. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  553. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  554. package/lib/esm/src/uniswap/constants/uniswap.js +1 -1
  555. package/lib/esm/src/uniswap/constants/uniswap.js.map +3 -3
  556. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js +1 -1
  557. package/lib/esm/src/uniswap/di/uniswapModuleFactory.js.map +3 -3
  558. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +1 -1
  559. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  560. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  561. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  562. package/lib/types/src/ContextModule.d.ts +6 -6
  563. package/lib/types/src/ContextModule.d.ts.map +1 -1
  564. package/lib/types/src/ContextModuleBuilder.d.ts +24 -8
  565. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  566. package/lib/types/src/DefaultContextModule.d.ts +10 -8
  567. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  568. package/lib/types/src/{transaction/data/TransactionDataSource.d.ts → calldata/data/CalldataDescriptorDataSource.d.ts} +4 -4
  569. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  570. package/lib/types/src/{transaction/data/HttpTransactionDataSource.d.ts → calldata/data/HttpCalldataDescriptorDataSource.d.ts} +6 -5
  571. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  572. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  573. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  574. package/lib/types/src/{transaction/data → calldata/data/dto}/CalldataDto.d.ts +10 -1
  575. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  576. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  577. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  578. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  579. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  580. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +23 -0
  581. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  582. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  583. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  584. package/lib/types/src/config/di/configModuleFactory.d.ts.map +1 -1
  585. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  586. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  587. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +4 -0
  588. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -0
  589. package/lib/types/src/config/model/ContextModuleConfig.d.ts +14 -2
  590. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  591. package/lib/types/src/di.d.ts.map +1 -1
  592. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts +6 -0
  593. package/lib/types/src/dynamic-network/data/DynamicNetworkDataSource.d.ts.map +1 -0
  594. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +13 -0
  595. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -0
  596. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts +2 -0
  597. package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.d.ts.map +1 -0
  598. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts +14 -0
  599. package/lib/types/src/dynamic-network/data/dto/DynamicNetworkApiResponseDto.d.ts.map +1 -0
  600. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts +3 -0
  601. package/lib/types/src/dynamic-network/di/dynamicNetworkModuleFactory.d.ts.map +1 -0
  602. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts +5 -0
  603. package/lib/types/src/dynamic-network/di/dynamicNetworkTypes.d.ts.map +1 -0
  604. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +19 -0
  605. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -0
  606. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts +2 -0
  607. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.test.d.ts.map +1 -0
  608. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts +16 -0
  609. package/lib/types/src/dynamic-network/model/DynamicNetworkConfiguration.d.ts.map +1 -0
  610. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
  611. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +20 -5
  612. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  613. package/lib/types/src/index.d.ts +41 -3
  614. package/lib/types/src/index.d.ts.map +1 -1
  615. package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -0
  616. package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
  617. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  618. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  619. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  620. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  621. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  622. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  623. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  624. package/lib/types/src/nft/domain/NftContextLoader.d.ts +10 -5
  625. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  626. package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -1
  627. package/lib/types/src/pki/domain/DefaultPkiCertificateLoader.d.ts.map +1 -1
  628. package/lib/types/src/pki/model/KeyUsage.d.ts +2 -1
  629. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -1
  630. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +1 -2
  631. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -1
  632. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  633. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  634. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts +2 -0
  635. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  636. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  637. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  638. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  639. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  640. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  641. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  642. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts +5 -0
  643. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  644. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts +6 -0
  645. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  646. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  647. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  648. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  649. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  650. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  651. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  652. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  653. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  654. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  655. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  656. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  657. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  658. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  659. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  660. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +11 -0
  661. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -0
  662. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts +2 -0
  663. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts.map +1 -0
  664. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts +20 -0
  665. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts.map +1 -0
  666. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts +10 -0
  667. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts.map +1 -0
  668. package/lib/types/src/safe/di/safeModuleFactory.d.ts +3 -0
  669. package/lib/types/src/safe/di/safeModuleFactory.d.ts.map +1 -0
  670. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts +2 -0
  671. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts.map +1 -0
  672. package/lib/types/src/safe/di/safeTypes.d.ts +5 -0
  673. package/lib/types/src/safe/di/safeTypes.d.ts.map +1 -0
  674. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts +19 -0
  675. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts.map +1 -0
  676. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts +2 -0
  677. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts.map +1 -0
  678. package/lib/types/src/shared/constant/HttpHeaders.d.ts +3 -0
  679. package/lib/types/src/shared/constant/HttpHeaders.d.ts.map +1 -0
  680. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +25 -0
  681. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  682. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  683. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  684. package/lib/types/src/shared/model/ClearSignContext.d.ts +76 -26
  685. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  686. package/lib/types/src/shared/model/SolanaContextTypes.d.ts +47 -0
  687. package/lib/types/src/shared/model/SolanaContextTypes.d.ts.map +1 -0
  688. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +13 -0
  689. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -0
  690. package/lib/types/src/shared/model/TransactionSubset.d.ts +3 -2
  691. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  692. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +33 -1
  693. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  694. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  695. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  696. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +1 -2
  697. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -1
  698. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +13 -0
  699. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -0
  700. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts +2 -0
  701. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.test.d.ts.map +1 -0
  702. package/lib/types/src/solana/data/SolanaDataSource.d.ts +9 -0
  703. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -0
  704. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts +3 -0
  705. package/lib/types/src/solana/di/SolanaContextModuleFactory.d.ts.map +1 -0
  706. package/lib/types/src/solana/di/solanaContextTypes.d.ts +5 -0
  707. package/lib/types/src/solana/di/solanaContextTypes.d.ts.map +1 -0
  708. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +15 -0
  709. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -0
  710. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts +2 -0
  711. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.test.d.ts.map +1 -0
  712. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts +5 -0
  713. package/lib/types/src/solana/domain/SolanaContextLoader.d.ts.map +1 -0
  714. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +29 -0
  715. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -0
  716. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts +9 -0
  717. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts.map +1 -0
  718. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts +2 -0
  719. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts.map +1 -0
  720. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts +13 -0
  721. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts.map +1 -0
  722. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts +3 -0
  723. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts.map +1 -0
  724. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts +5 -0
  725. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts.map +1 -0
  726. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts +16 -0
  727. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts.map +1 -0
  728. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts +2 -0
  729. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts.map +1 -0
  730. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts +9 -0
  731. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts.map +1 -0
  732. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts +2 -0
  733. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts.map +1 -0
  734. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts +44 -0
  735. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts.map +1 -0
  736. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts +5 -0
  737. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts.map +1 -0
  738. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts +3 -0
  739. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts.map +1 -0
  740. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts +22 -0
  741. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts.map +1 -0
  742. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts +2 -0
  743. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts.map +1 -0
  744. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  745. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  746. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  747. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  748. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +14 -0
  749. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  750. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  751. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  752. package/lib/types/src/token/domain/TokenContextLoader.d.ts +10 -5
  753. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  754. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +10 -0
  755. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -0
  756. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts +2 -0
  757. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts.map +1 -0
  758. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +10 -0
  759. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -0
  760. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts +2 -0
  761. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts.map +1 -0
  762. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts +14 -0
  763. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts.map +1 -0
  764. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts +28 -0
  765. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts.map +1 -0
  766. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts +5 -0
  767. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts.map +1 -0
  768. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts +5 -0
  769. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts.map +1 -0
  770. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts +3 -0
  771. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts.map +1 -0
  772. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts +7 -0
  773. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts.map +1 -0
  774. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +19 -0
  775. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -0
  776. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts +2 -0
  777. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts.map +1 -0
  778. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +18 -0
  779. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -0
  780. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts +2 -0
  781. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts.map +1 -0
  782. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  783. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  784. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +7 -2
  785. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  786. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  787. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  788. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  789. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  790. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  791. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  792. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  793. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  794. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  795. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +14 -6
  796. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  797. package/lib/types/src/typed-data/data/FiltersDto.d.ts +32 -2
  798. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  799. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +3 -0
  800. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  801. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  802. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  803. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  804. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  805. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +12 -1
  806. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  807. package/lib/types/src/uniswap/constants/uniswap.d.ts +0 -1
  808. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -1
  809. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +10 -11
  810. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -1
  811. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  812. package/package.json +37 -33
  813. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  814. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  815. package/lib/cjs/src/transaction/data/CalldataDto.js +0 -2
  816. package/lib/cjs/src/transaction/data/CalldataDto.js.map +0 -7
  817. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  818. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  819. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  820. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  821. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  822. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  823. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  824. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  825. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  826. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  827. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  828. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  829. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  830. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  831. package/lib/cjs/src/uniswap/constants/plugin.js +0 -2
  832. package/lib/cjs/src/uniswap/constants/plugin.js.map +0 -7
  833. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  834. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  835. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  836. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  837. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js +0 -2
  838. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js.map +0 -7
  839. package/lib/cjs/src/web3-check/data/Web3CheckDto.js +0 -2
  840. package/lib/cjs/src/web3-check/data/Web3CheckDto.js.map +0 -7
  841. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  842. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  843. package/lib/cjs/src/web3-check/di/web3CheckTypes.js +0 -2
  844. package/lib/cjs/src/web3-check/di/web3CheckTypes.js.map +0 -7
  845. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  846. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  847. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  848. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  849. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js +0 -2
  850. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js.map +0 -7
  851. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js +0 -2
  852. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js.map +0 -7
  853. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  854. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  855. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  856. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  857. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  858. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  859. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  860. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  861. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  862. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  863. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  864. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  865. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  866. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  867. package/lib/esm/src/uniswap/constants/plugin.js +0 -2
  868. package/lib/esm/src/uniswap/constants/plugin.js.map +0 -7
  869. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  870. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  871. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  872. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  873. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js +0 -1
  874. package/lib/esm/src/web3-check/data/Web3CheckDto.js +0 -1
  875. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  876. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  877. package/lib/esm/src/web3-check/di/web3CheckTypes.js +0 -2
  878. package/lib/esm/src/web3-check/di/web3CheckTypes.js.map +0 -7
  879. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  880. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  881. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  882. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  883. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js +0 -1
  884. package/lib/esm/src/web3-check/domain/web3CheckTypes.js +0 -1
  885. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -21
  886. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  887. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +0 -1
  888. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  889. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  890. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  891. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  892. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  893. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  894. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
  895. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  896. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -10
  897. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  898. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  899. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  900. package/lib/types/src/uniswap/constants/plugin.d.ts +0 -3
  901. package/lib/types/src/uniswap/constants/plugin.d.ts.map +0 -1
  902. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts +0 -14
  903. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts.map +0 -1
  904. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts +0 -2
  905. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts.map +0 -1
  906. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts +0 -6
  907. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts.map +0 -1
  908. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts +0 -20
  909. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts.map +0 -1
  910. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts +0 -3
  911. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts.map +0 -1
  912. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts +0 -5
  913. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts.map +0 -1
  914. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts +0 -10
  915. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts.map +0 -1
  916. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts +0 -2
  917. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts.map +0 -1
  918. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts +0 -6
  919. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts.map +0 -1
  920. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts +0 -35
  921. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts.map +0 -1
  922. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  923. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js +0 -0
  924. /package/lib/esm/src/{transaction/data → calldata/data/dto}/CalldataDto.js.map +0 -0
  925. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → config/model/ContextModuleBuildArgs.js.map} +0 -0
  926. /package/lib/esm/src/{web3-check/data/Web3CheckDataSource.js.map → dynamic-network/data/DynamicNetworkDataSource.js.map} +0 -0
  927. /package/lib/esm/src/{web3-check/data/Web3CheckDto.js.map → dynamic-network/data/dto/DynamicNetworkApiResponseDto.js.map} +0 -0
  928. /package/lib/esm/src/{web3-check/domain/Web3CheckContextLoader.js.map → dynamic-network/model/DynamicNetworkConfiguration.js.map} +0 -0
  929. /package/lib/esm/src/{web3-check/domain/web3CheckTypes.js.map → proxy/data/ProxyDataSource.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- var y=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var c=(i,e,r,t)=>{for(var n=t>1?void 0:t?x(e,r):e,a=i.length-1,l;a>=0;a--)(l=i[a])&&(n=(t?l(e,r,n):l(n))||n);return t&&n&&y(e,r,n),n},f=(i,e)=>(r,t)=>e(r,t,i);import{isHexaString as m}from"@ledgerhq/device-management-kit";import{inject as S,injectable as h}from"inversify";import{nftTypes as F}from"../../nft/di/nftTypes";import{ClearSignContextType as o}from"../../shared/model/ClearSignContext";var u=(a=>(a.Approve="0x095ea7b3",a.SetApprovalForAll="0xa22cb465",a.TransferFrom="0x23b872dd",a.SafeTransferFrom="0x42842e0e",a.SafeTransferFromWithData="0xb88d4fde",a))(u||{}),g=(t=>(t.SetApprovalForAll="0xa22cb465",t.SafeTransferFrom="0xf242432a",t.SafeBatchTransferFrom="0x2eb2c2d6",t))(g||{});const I=[...Object.values(u),...Object.values(g)];let d=class{_dataSource;constructor(e){this._dataSource=e}async load(e){const r=[];if(!e.to||!e.data||e.data==="0x")return[];const t=e.data.slice(0,10);if(!m(t))return[{type:o.ERROR,error:new Error("Invalid selector")}];if(!this.isSelectorSupported(t))return[];const a=(await this._dataSource.getSetPluginPayload({chainId:e.chainId,address:e.to,selector:t})).caseOf({Left:s=>({type:o.ERROR,error:s}),Right:s=>({type:o.PLUGIN,payload:s})});if(a.type===o.ERROR)return[a];r.push(a);const p=(await this._dataSource.getNftInfosPayload({chainId:e.chainId,address:e.to})).caseOf({Left:s=>({type:o.ERROR,error:s}),Right:s=>({type:o.NFT,payload:s})});return p.type===o.ERROR?[p]:(r.push(p),r)}async loadField(e){return e.type!==o.NFT?null:(await this._dataSource.getNftInfosPayload({address:e.address,chainId:e.chainId})).caseOf({Left:t=>({type:o.ERROR,error:t}),Right:t=>({type:o.NFT,payload:t})})}isSelectorSupported(e){return Object.values(I).includes(e)}};d=c([h(),f(0,S(F.NftDataSource))],d);export{d as NftContextLoader};
1
+ var S=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var d=(l,e,o,t)=>{for(var r=t>1?void 0:t?m(e,o):e,a=l.length-1,i;a>=0;a--)(i=l[a])&&(r=(t?i(e,o,r):i(r))||r);return t&&r&&S(e,o,r),r},u=(l,e)=>(o,t)=>e(o,t,l);import{isHexaString as x}from"@ledgerhq/device-management-kit";import{inject as h,injectable as I}from"inversify";import{nftTypes as b}from"../../nft/di/nftTypes";import{ClearSignContextType as n}from"../../shared/model/ClearSignContext";var g=(a=>(a.Approve="0x095ea7b3",a.SetApprovalForAll="0xa22cb465",a.TransferFrom="0x23b872dd",a.SafeTransferFrom="0x42842e0e",a.SafeTransferFromWithData="0xb88d4fde",a))(g||{}),y=(t=>(t.SetApprovalForAll="0xa22cb465",t.SafeTransferFrom="0xf242432a",t.SafeBatchTransferFrom="0x2eb2c2d6",t))(y||{});const N=[...Object.values(g),...Object.values(y)],v=[n.PLUGIN,n.NFT];let c=class{_dataSource;constructor(e){this._dataSource=e}canHandle(e,o){return typeof e=="object"&&e!==null&&"to"in e&&"selector"in e&&"chainId"in e&&typeof e.chainId=="number"&&x(e.to)&&e.to!=="0x"&&x(e.selector)&&this.isSelectorSupported(e.selector)&&v.every(t=>o.includes(t))}async load(e){const o=[],{to:t,selector:r,chainId:a}=e,f=(await this._dataSource.getSetPluginPayload({chainId:a,address:t,selector:r})).caseOf({Left:s=>({type:n.ERROR,error:s}),Right:s=>({type:n.PLUGIN,payload:s})});if(f.type===n.ERROR)return[f];o.push(f);const p=(await this._dataSource.getNftInfosPayload({chainId:a,address:t})).caseOf({Left:s=>({type:n.ERROR,error:s}),Right:s=>({type:n.NFT,payload:s})});return p.type===n.ERROR?[p]:(o.push(p),o)}isSelectorSupported(e){return Object.values(N).includes(e)}};c=d([I(),u(0,h(b.NftDataSource))],c);export{c as NftContextLoader};
2
2
  //# sourceMappingURL=NftContextLoader.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/nft/domain/NftContextLoader.ts"],
4
- "sourcesContent": ["import { HexaString, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport type { NftDataSource } from \"@/nft/data/NftDataSource\";\nimport { nftTypes } from \"@/nft/di/nftTypes\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport {\n TransactionContext,\n TransactionFieldContext,\n} from \"@/shared/model/TransactionContext\";\n\nenum ERC721_SUPPORTED_SELECTOR {\n Approve = \"0x095ea7b3\",\n SetApprovalForAll = \"0xa22cb465\",\n TransferFrom = \"0x23b872dd\",\n SafeTransferFrom = \"0x42842e0e\",\n SafeTransferFromWithData = \"0xb88d4fde\",\n}\n\nenum ERC1155_SUPPORTED_SELECTOR {\n SetApprovalForAll = \"0xa22cb465\",\n SafeTransferFrom = \"0xf242432a\",\n SafeBatchTransferFrom = \"0x2eb2c2d6\",\n}\n\nconst SUPPORTED_SELECTORS: HexaString[] = [\n ...Object.values(ERC721_SUPPORTED_SELECTOR),\n ...Object.values(ERC1155_SUPPORTED_SELECTOR),\n];\n\n@injectable()\nexport class NftContextLoader implements ContextLoader {\n private _dataSource: NftDataSource;\n\n constructor(@inject(nftTypes.NftDataSource) dataSource: NftDataSource) {\n this._dataSource = dataSource;\n }\n\n async load(transaction: TransactionContext): Promise<ClearSignContext[]> {\n const responses: ClearSignContext[] = [];\n\n if (!transaction.to || !transaction.data || transaction.data === \"0x\") {\n return [];\n }\n\n const selector = transaction.data.slice(0, 10);\n\n if (!isHexaString(selector)) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Invalid selector\"),\n },\n ];\n }\n\n if (!this.isSelectorSupported(selector)) {\n return [];\n }\n\n // EXAMPLE:\n // https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D/plugin-selector/0x095ea7b3\n const getPluginPayloadResponse = await this._dataSource.getSetPluginPayload(\n {\n chainId: transaction.chainId,\n address: transaction.to,\n selector,\n },\n );\n\n const pluginPayload = getPluginPayloadResponse.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.PLUGIN,\n payload: value,\n }),\n });\n\n if (pluginPayload.type === ClearSignContextType.ERROR) {\n return [pluginPayload];\n }\n\n responses.push(pluginPayload);\n\n const getNftInfosPayloadResponse =\n await this._dataSource.getNftInfosPayload({\n chainId: transaction.chainId,\n address: transaction.to,\n });\n\n const nftInfosPayload = getNftInfosPayloadResponse.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.NFT,\n payload: value,\n }),\n });\n\n if (nftInfosPayload.type === ClearSignContextType.ERROR) {\n return [nftInfosPayload];\n }\n\n responses.push(nftInfosPayload);\n\n return responses;\n }\n\n async loadField(\n field: TransactionFieldContext,\n ): Promise<ClearSignContext | null> {\n if (field.type !== ClearSignContextType.NFT) {\n return null;\n }\n const payload = await this._dataSource.getNftInfosPayload({\n address: field.address,\n chainId: field.chainId,\n });\n return payload.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.NFT,\n payload: value,\n }),\n });\n }\n\n private isSelectorSupported(selector: HexaString) {\n return Object.values(SUPPORTED_SELECTORS).includes(selector);\n }\n}\n"],
5
- "mappings": "iOAAA,OAAqB,gBAAAA,MAAoB,kCACzC,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,YAAAC,MAAgB,oBAEzB,OAEE,wBAAAC,MACK,kCAMP,IAAKC,OACHA,EAAA,QAAU,aACVA,EAAA,kBAAoB,aACpBA,EAAA,aAAe,aACfA,EAAA,iBAAmB,aACnBA,EAAA,yBAA2B,aALxBA,OAAA,IAQAC,OACHA,EAAA,kBAAoB,aACpBA,EAAA,iBAAmB,aACnBA,EAAA,sBAAwB,aAHrBA,OAAA,IAML,MAAMC,EAAoC,CACxC,GAAG,OAAO,OAAOF,CAAyB,EAC1C,GAAG,OAAO,OAAOC,CAA0B,CAC7C,EAGO,IAAME,EAAN,KAAgD,CAC7C,YAER,YAA4CC,EAA2B,CACrE,KAAK,YAAcA,CACrB,CAEA,MAAM,KAAKC,EAA8D,CACvE,MAAMC,EAAgC,CAAC,EAEvC,GAAI,CAACD,EAAY,IAAM,CAACA,EAAY,MAAQA,EAAY,OAAS,KAC/D,MAAO,CAAC,EAGV,MAAME,EAAWF,EAAY,KAAK,MAAM,EAAG,EAAE,EAE7C,GAAI,CAACG,EAAaD,CAAQ,EACxB,MAAO,CACL,CACE,KAAME,EAAqB,MAC3B,MAAO,IAAI,MAAM,kBAAkB,CACrC,CACF,EAGF,GAAI,CAAC,KAAK,oBAAoBF,CAAQ,EACpC,MAAO,CAAC,EAaV,MAAMG,GAR2B,MAAM,KAAK,YAAY,oBACtD,CACE,QAASL,EAAY,QACrB,QAASA,EAAY,GACrB,SAAAE,CACF,CACF,GAE+C,OAAO,CACpD,KAAOI,IAA6B,CAClC,KAAMF,EAAqB,MAC3B,MAAAE,CACF,GACA,MAAQC,IAA6B,CACnC,KAAMH,EAAqB,OAC3B,QAASG,CACX,EACF,CAAC,EAED,GAAIF,EAAc,OAASD,EAAqB,MAC9C,MAAO,CAACC,CAAa,EAGvBJ,EAAU,KAAKI,CAAa,EAQ5B,MAAMG,GALJ,MAAM,KAAK,YAAY,mBAAmB,CACxC,QAASR,EAAY,QACrB,QAASA,EAAY,EACvB,CAAC,GAEgD,OAAO,CACxD,KAAOM,IAA6B,CAClC,KAAMF,EAAqB,MAC3B,MAAAE,CACF,GACA,MAAQC,IAA6B,CACnC,KAAMH,EAAqB,IAC3B,QAASG,CACX,EACF,CAAC,EAED,OAAIC,EAAgB,OAASJ,EAAqB,MACzC,CAACI,CAAe,GAGzBP,EAAU,KAAKO,CAAe,EAEvBP,EACT,CAEA,MAAM,UACJQ,EACkC,CAClC,OAAIA,EAAM,OAASL,EAAqB,IAC/B,MAEO,MAAM,KAAK,YAAY,mBAAmB,CACxD,QAASK,EAAM,QACf,QAASA,EAAM,OACjB,CAAC,GACc,OAAO,CACpB,KAAOH,IAA6B,CAClC,KAAMF,EAAqB,MAC3B,MAAAE,CACF,GACA,MAAQC,IAA6B,CACnC,KAAMH,EAAqB,IAC3B,QAASG,CACX,EACF,CAAC,CACH,CAEQ,oBAAoBL,EAAsB,CAChD,OAAO,OAAO,OAAOL,CAAmB,EAAE,SAASK,CAAQ,CAC7D,CACF,EA3GaJ,EAANY,EAAA,CADNC,EAAW,EAIGC,EAAA,EAAAC,EAAOC,EAAS,aAAa,IAH/BhB",
6
- "names": ["isHexaString", "inject", "injectable", "nftTypes", "ClearSignContextType", "ERC721_SUPPORTED_SELECTOR", "ERC1155_SUPPORTED_SELECTOR", "SUPPORTED_SELECTORS", "NftContextLoader", "dataSource", "transaction", "responses", "selector", "isHexaString", "ClearSignContextType", "pluginPayload", "error", "value", "nftInfosPayload", "field", "__decorateClass", "injectable", "__decorateParam", "inject", "nftTypes"]
4
+ "sourcesContent": ["import { HexaString, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport type { NftDataSource } from \"@/nft/data/NftDataSource\";\nimport { nftTypes } from \"@/nft/di/nftTypes\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport type NftContextInput = {\n to: HexaString;\n selector: HexaString;\n chainId: number;\n};\n\nenum ERC721_SUPPORTED_SELECTOR {\n Approve = \"0x095ea7b3\",\n SetApprovalForAll = \"0xa22cb465\",\n TransferFrom = \"0x23b872dd\",\n SafeTransferFrom = \"0x42842e0e\",\n SafeTransferFromWithData = \"0xb88d4fde\",\n}\n\nenum ERC1155_SUPPORTED_SELECTOR {\n SetApprovalForAll = \"0xa22cb465\",\n SafeTransferFrom = \"0xf242432a\",\n SafeBatchTransferFrom = \"0x2eb2c2d6\",\n}\n\nconst SUPPORTED_SELECTORS: HexaString[] = [\n ...Object.values(ERC721_SUPPORTED_SELECTOR),\n ...Object.values(ERC1155_SUPPORTED_SELECTOR),\n];\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.PLUGIN,\n ClearSignContextType.NFT,\n];\n\n@injectable()\nexport class NftContextLoader implements ContextLoader<NftContextInput> {\n private _dataSource: NftDataSource;\n\n constructor(@inject(nftTypes.NftDataSource) dataSource: NftDataSource) {\n this._dataSource = dataSource;\n }\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is NftContextInput {\n return (\n typeof input === \"object\" &&\n input !== null &&\n \"to\" in input &&\n \"selector\" in input &&\n \"chainId\" in input &&\n typeof input.chainId === \"number\" &&\n isHexaString(input.to) &&\n input.to !== \"0x\" &&\n isHexaString(input.selector) &&\n this.isSelectorSupported(input.selector) &&\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type))\n );\n }\n\n async load(input: NftContextInput): Promise<ClearSignContext[]> {\n const responses: ClearSignContext[] = [];\n const { to, selector, chainId } = input;\n\n // EXAMPLE:\n // https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D/plugin-selector/0x095ea7b3\n const getPluginPayloadResponse = await this._dataSource.getSetPluginPayload(\n {\n chainId,\n address: to,\n selector,\n },\n );\n\n const pluginPayload = getPluginPayloadResponse.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.PLUGIN,\n payload: value,\n }),\n });\n\n if (pluginPayload.type === ClearSignContextType.ERROR) {\n return [pluginPayload];\n }\n\n responses.push(pluginPayload);\n\n const getNftInfosPayloadResponse =\n await this._dataSource.getNftInfosPayload({\n chainId,\n address: to,\n });\n\n const nftInfosPayload = getNftInfosPayloadResponse.caseOf({\n Left: (error): ClearSignContext => ({\n type: ClearSignContextType.ERROR,\n error,\n }),\n Right: (value): ClearSignContext => ({\n type: ClearSignContextType.NFT,\n payload: value,\n }),\n });\n\n if (nftInfosPayload.type === ClearSignContextType.ERROR) {\n return [nftInfosPayload];\n }\n\n responses.push(nftInfosPayload);\n\n return responses;\n }\n\n private isSelectorSupported(selector: HexaString) {\n return Object.values(SUPPORTED_SELECTORS).includes(selector);\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAqB,gBAAAA,MAAoB,kCACzC,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,YAAAC,MAAgB,oBAEzB,OAEE,wBAAAC,MACK,kCAQP,IAAKC,OACHA,EAAA,QAAU,aACVA,EAAA,kBAAoB,aACpBA,EAAA,aAAe,aACfA,EAAA,iBAAmB,aACnBA,EAAA,yBAA2B,aALxBA,OAAA,IAQAC,OACHA,EAAA,kBAAoB,aACpBA,EAAA,iBAAmB,aACnBA,EAAA,sBAAwB,aAHrBA,OAAA,IAML,MAAMC,EAAoC,CACxC,GAAG,OAAO,OAAOF,CAAyB,EAC1C,GAAG,OAAO,OAAOC,CAA0B,CAC7C,EAEME,EAA0C,CAC9CC,EAAqB,OACrBA,EAAqB,GACvB,EAGO,IAAMC,EAAN,KAAiE,CAC9D,YAER,YAA4CC,EAA2B,CACrE,KAAK,YAAcA,CACrB,CAEA,UACEC,EACAC,EAC0B,CAC1B,OACE,OAAOD,GAAU,UACjBA,IAAU,MACV,OAAQA,GACR,aAAcA,GACd,YAAaA,GACb,OAAOA,EAAM,SAAY,UACzBE,EAAaF,EAAM,EAAE,GACrBA,EAAM,KAAO,MACbE,EAAaF,EAAM,QAAQ,GAC3B,KAAK,oBAAoBA,EAAM,QAAQ,GACvCJ,EAAgB,MAAOO,GAASF,EAAc,SAASE,CAAI,CAAC,CAEhE,CAEA,MAAM,KAAKH,EAAqD,CAC9D,MAAMI,EAAgC,CAAC,EACjC,CAAE,GAAAC,EAAI,SAAAC,EAAU,QAAAC,CAAQ,EAAIP,EAY5BQ,GAR2B,MAAM,KAAK,YAAY,oBACtD,CACE,QAAAD,EACA,QAASF,EACT,SAAAC,CACF,CACF,GAE+C,OAAO,CACpD,KAAOG,IAA6B,CAClC,KAAMZ,EAAqB,MAC3B,MAAAY,CACF,GACA,MAAQC,IAA6B,CACnC,KAAMb,EAAqB,OAC3B,QAASa,CACX,EACF,CAAC,EAED,GAAIF,EAAc,OAASX,EAAqB,MAC9C,MAAO,CAACW,CAAa,EAGvBJ,EAAU,KAAKI,CAAa,EAQ5B,MAAMG,GALJ,MAAM,KAAK,YAAY,mBAAmB,CACxC,QAAAJ,EACA,QAASF,CACX,CAAC,GAEgD,OAAO,CACxD,KAAOI,IAA6B,CAClC,KAAMZ,EAAqB,MAC3B,MAAAY,CACF,GACA,MAAQC,IAA6B,CACnC,KAAMb,EAAqB,IAC3B,QAASa,CACX,EACF,CAAC,EAED,OAAIC,EAAgB,OAASd,EAAqB,MACzC,CAACc,CAAe,GAGzBP,EAAU,KAAKO,CAAe,EAEvBP,EACT,CAEQ,oBAAoBE,EAAsB,CAChD,OAAO,OAAO,OAAOX,CAAmB,EAAE,SAASW,CAAQ,CAC7D,CACF,EAtFaR,EAANc,EAAA,CADNC,EAAW,EAIGC,EAAA,EAAAC,EAAOC,EAAS,aAAa,IAH/BlB",
6
+ "names": ["isHexaString", "inject", "injectable", "nftTypes", "ClearSignContextType", "ERC721_SUPPORTED_SELECTOR", "ERC1155_SUPPORTED_SELECTOR", "SUPPORTED_SELECTORS", "SUPPORTED_TYPES", "ClearSignContextType", "NftContextLoader", "dataSource", "input", "expectedTypes", "isHexaString", "type", "responses", "to", "selector", "chainId", "pluginPayload", "error", "value", "nftInfosPayload", "__decorateClass", "injectable", "__decorateParam", "inject", "nftTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as c,Right as s}from"purify-ts";import{NftContextLoader as l}from"../../nft/domain/NftContextLoader";import{ClearSignContextType as o}from"../../shared/model/ClearSignContext";describe("NftContextLoader",()=>{const n=vi.fn(),r=vi.fn();let d,e;beforeEach(()=>{vi.restoreAllMocks(),d={getNftInfosPayload:n,getSetPluginPayload:r},e=new l(d)}),describe("load function",()=>{it("should return an empty array if no dest",async()=>{const t={to:void 0,data:"0x01"},a=await e.load(t);expect(a).toEqual([])}),it("should return an empty array if undefined data",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:void 0},a=await e.load(t);expect(a).toEqual([])}),it("should return an empty array if empty data",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:"0x"},a=await e.load(t);expect(a).toEqual([])}),it("should return an empty array if selector not supported",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:"0x095ea7b20000000000000"},a=await e.load(t);expect(a).toEqual([])}),it("should return an error when transaction data is not a valid hex string",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:"notahexstring"},a=await e.load(t);expect(a).toEqual([{type:o.ERROR,error:new Error("Invalid selector")}])}),it("should return an error when datasource get plugin payload return a Left",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:"0x095ea7b30000000000000"};r.mockResolvedValueOnce(c(new Error("error")));const a=await e.load(t);expect(a).toEqual([{type:o.ERROR,error:new Error("error")}])}),it("should return an error when datasource get nft infos payload return a Left",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:"0x095ea7b30000000000000"};r.mockResolvedValueOnce(s("payload1")),n.mockResolvedValueOnce(c(new Error("error")));const a=await e.load(t);expect(a).toEqual([{type:o.ERROR,error:new Error("error")}])}),it("should return a response",async()=>{const t={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",data:"0x095ea7b30000000000000"};r.mockResolvedValueOnce(s("payload1")),n.mockResolvedValueOnce(s("payload2"));const a=await e.load(t);expect(a).toEqual([{type:o.PLUGIN,payload:"payload1"},{type:o.NFT,payload:"payload2"}])})}),describe("loadField function",()=>{it("should return an error when field type if not supported",async()=>{const t={type:o.TOKEN,chainId:7,address:"0x1234"},a=await e.loadField(t);expect(a).toEqual(null)}),it("should return a payload",async()=>{const t={type:o.NFT,chainId:7,address:"0x1234"};n.mockResolvedValueOnce(s("payload"));const a=await e.loadField(t);expect(a).toEqual({type:o.NFT,payload:"payload"})}),it("should return an error when unable to fetch the datasource",async()=>{const t={type:o.NFT,chainId:7,address:"0x1234"};n.mockResolvedValueOnce(c(new Error("error")));const a=await e.loadField(t);expect(a).toEqual({type:o.ERROR,error:new Error("error")})})})});
1
+ import{Left as d,Right as l}from"purify-ts";import{NftContextLoader as i}from"../../nft/domain/NftContextLoader";import{ClearSignContextType as t}from"../../shared/model/ClearSignContext";describe("NftContextLoader",()=>{const r=vi.fn(),a=vi.fn();let c,o;beforeEach(()=>{vi.restoreAllMocks(),c={getNftInfosPayload:r,getSetPluginPayload:a},o=new i(c)}),describe("canHandle function",()=>{const e={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",selector:"0x095ea7b3",chainId:1};it("should return true for valid input",()=>{expect(o.canHandle(e,[t.NFT,t.PLUGIN])).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(o.canHandle(e,[t.TOKEN])).toBe(!1),expect(o.canHandle(e,[t.PLUGIN])).toBe(!1),expect(o.canHandle(e,[t.NFT])).toBe(!1)}),it.each([[null,"null input"],[void 0,"undefined input"],[{},"empty object"],["string","string input"],[123,"number input"],[{...e,to:void 0},"missing to"],[{...e,selector:void 0},"missing selector"],[{...e,chainId:void 0},"missing chainId"],[{...e,to:"invalid-hex"},"invalid to hex"],[{...e,to:"0x"},"empty to hex"],[{...e,selector:"invalid-hex"},"invalid selector hex"],[{...e,selector:"0x"},"empty selector hex"],[{...e,selector:"0x00000000"},"different selector"],[{...e,chainId:"1"},"string chainId"],[{...e,chainId:null},"null chainId"]])("should return false for %s",(n,s)=>{expect(o.canHandle(n,[t.NFT,t.PLUGIN])).toBe(!1)})}),describe("load function",()=>{it("should return an error when datasource get plugin payload return a Left",async()=>{const e={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",selector:"0x095ea7b3",chainId:1};a.mockResolvedValueOnce(d(new Error("error")));const n=await o.load(e);expect(n).toEqual([{type:t.ERROR,error:new Error("error")}])}),it("should return an error when datasource get nft infos payload return a Left",async()=>{const e={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",selector:"0x095ea7b3",chainId:1};a.mockResolvedValueOnce(l("payload1")),r.mockResolvedValueOnce(d(new Error("error")));const n=await o.load(e);expect(n).toEqual([{type:t.ERROR,error:new Error("error")}])}),it("should return a response",async()=>{const e={to:"0xdAC17F958D2ee523a2206206994597C13D831ec7",selector:"0x095ea7b3",chainId:1};a.mockResolvedValueOnce(l("payload1")),r.mockResolvedValueOnce(l("payload2"));const n=await o.load(e);expect(n).toEqual([{type:t.PLUGIN,payload:"payload1"},{type:t.NFT,payload:"payload2"}])})})});
2
2
  //# sourceMappingURL=NftContextLoader.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/nft/domain/NftContextLoader.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type NftDataSource } from \"@/nft/data/NftDataSource\";\nimport { NftContextLoader } from \"@/nft/domain/NftContextLoader\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport {\n type TransactionContext,\n type TransactionFieldContext,\n} from \"@/shared/model/TransactionContext\";\n\ndescribe(\"NftContextLoader\", () => {\n const spyGetNftInfosPayload = vi.fn();\n const spyGetPluginPayload = vi.fn();\n let mockDataSource: NftDataSource;\n let loader: NftContextLoader;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n mockDataSource = {\n getNftInfosPayload: spyGetNftInfosPayload,\n getSetPluginPayload: spyGetPluginPayload,\n };\n loader = new NftContextLoader(mockDataSource);\n });\n\n describe(\"load function\", () => {\n it(\"should return an empty array if no dest\", async () => {\n const transaction = { to: undefined, data: \"0x01\" } as TransactionContext;\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if undefined data\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: undefined,\n } as unknown as TransactionContext;\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if empty data\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: \"0x\",\n } as unknown as TransactionContext;\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if selector not supported\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: \"0x095ea7b20000000000000\",\n } as unknown as TransactionContext;\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([]);\n });\n\n it(\"should return an error when transaction data is not a valid hex string\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: \"notahexstring\",\n } as TransactionContext;\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Invalid selector\"),\n },\n ]);\n });\n\n it(\"should return an error when datasource get plugin payload return a Left\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: \"0x095ea7b30000000000000\",\n } as TransactionContext;\n spyGetPluginPayload.mockResolvedValueOnce(Left(new Error(\"error\")));\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n ]);\n });\n\n it(\"should return an error when datasource get nft infos payload return a Left\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: \"0x095ea7b30000000000000\",\n } as TransactionContext;\n spyGetPluginPayload.mockResolvedValueOnce(Right(\"payload1\"));\n spyGetNftInfosPayload.mockResolvedValueOnce(Left(new Error(\"error\")));\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n ]);\n });\n\n it(\"should return a response\", async () => {\n const transaction = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n data: \"0x095ea7b30000000000000\",\n } as TransactionContext;\n spyGetPluginPayload.mockResolvedValueOnce(Right(\"payload1\"));\n spyGetNftInfosPayload.mockResolvedValueOnce(Right(\"payload2\"));\n\n const result = await loader.load(transaction);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.PLUGIN,\n payload: \"payload1\",\n },\n {\n type: ClearSignContextType.NFT,\n payload: \"payload2\",\n },\n ]);\n });\n });\n\n describe(\"loadField function\", () => {\n it(\"should return an error when field type if not supported\", async () => {\n const field: TransactionFieldContext = {\n type: ClearSignContextType.TOKEN,\n chainId: 7,\n address: \"0x1234\",\n };\n\n const result = await loader.loadField(field);\n\n expect(result).toEqual(null);\n });\n\n it(\"should return a payload\", async () => {\n // GIVEN\n const field: TransactionFieldContext = {\n type: ClearSignContextType.NFT,\n chainId: 7,\n address: \"0x1234\",\n };\n\n // WHEN\n spyGetNftInfosPayload.mockResolvedValueOnce(Right(\"payload\"));\n const result = await loader.loadField(field);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.NFT,\n payload: \"payload\",\n });\n });\n\n it(\"should return an error when unable to fetch the datasource\", async () => {\n // GIVEN\n const field: TransactionFieldContext = {\n type: ClearSignContextType.NFT,\n chainId: 7,\n address: \"0x1234\",\n };\n\n // WHEN\n spyGetNftInfosPayload.mockResolvedValueOnce(Left(new Error(\"error\")));\n const result = await loader.loadField(field);\n\n // THEN\n expect(result).toEqual({\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n });\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["Left", "Right", "NftContextLoader", "ClearSignContextType", "spyGetNftInfosPayload", "spyGetPluginPayload", "mockDataSource", "loader", "transaction", "result", "field"]
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type NftDataSource } from \"@/nft/data/NftDataSource\";\nimport {\n type NftContextInput,\n NftContextLoader,\n} from \"@/nft/domain/NftContextLoader\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\n\ndescribe(\"NftContextLoader\", () => {\n const spyGetNftInfosPayload = vi.fn();\n const spyGetPluginPayload = vi.fn();\n let mockDataSource: NftDataSource;\n let loader: NftContextLoader;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n mockDataSource = {\n getNftInfosPayload: spyGetNftInfosPayload,\n getSetPluginPayload: spyGetPluginPayload,\n };\n loader = new NftContextLoader(mockDataSource);\n });\n\n describe(\"canHandle function\", () => {\n const validInput: NftContextInput = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n selector: \"0x095ea7b3\",\n chainId: 1,\n };\n\n it(\"should return true for valid input\", () => {\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.NFT,\n ClearSignContextType.PLUGIN,\n ]),\n ).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n false,\n );\n expect(loader.canHandle(validInput, [ClearSignContextType.PLUGIN])).toBe(\n false,\n );\n expect(loader.canHandle(validInput, [ClearSignContextType.NFT])).toBe(\n false,\n );\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n [{ ...validInput, to: undefined }, \"missing to\"],\n [{ ...validInput, selector: undefined }, \"missing selector\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, to: \"invalid-hex\" }, \"invalid to hex\"],\n [{ ...validInput, to: \"0x\" }, \"empty to hex\"],\n [{ ...validInput, selector: \"invalid-hex\" }, \"invalid selector hex\"],\n [{ ...validInput, selector: \"0x\" }, \"empty selector hex\"],\n [{ ...validInput, selector: \"0x00000000\" }, \"different selector\"],\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.NFT,\n ClearSignContextType.PLUGIN,\n ]),\n ).toBe(false);\n });\n });\n\n describe(\"load function\", () => {\n it(\"should return an error when datasource get plugin payload return a Left\", async () => {\n const input: NftContextInput = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n selector: \"0x095ea7b3\",\n chainId: 1,\n };\n spyGetPluginPayload.mockResolvedValueOnce(Left(new Error(\"error\")));\n\n const result = await loader.load(input);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n ]);\n });\n\n it(\"should return an error when datasource get nft infos payload return a Left\", async () => {\n const input: NftContextInput = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n selector: \"0x095ea7b3\",\n chainId: 1,\n };\n spyGetPluginPayload.mockResolvedValueOnce(Right(\"payload1\"));\n spyGetNftInfosPayload.mockResolvedValueOnce(Left(new Error(\"error\")));\n\n const result = await loader.load(input);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n },\n ]);\n });\n\n it(\"should return a response\", async () => {\n const input: NftContextInput = {\n to: \"0xdAC17F958D2ee523a2206206994597C13D831ec7\",\n selector: \"0x095ea7b3\",\n chainId: 1,\n };\n spyGetPluginPayload.mockResolvedValueOnce(Right(\"payload1\"));\n spyGetNftInfosPayload.mockResolvedValueOnce(Right(\"payload2\"));\n\n const result = await loader.load(input);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.PLUGIN,\n payload: \"payload1\",\n },\n {\n type: ClearSignContextType.NFT,\n payload: \"payload2\",\n },\n ]);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Right", "NftContextLoader", "ClearSignContextType", "spyGetNftInfosPayload", "spyGetPluginPayload", "mockDataSource", "loader", "validInput", "input", "_description", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=(o,e,r,t)=>{for(var i=t>1?void 0:t?m(e,r):e,s=o.length-1,n;s>=0;s--)(n=o[s])&&(i=(t?n(e,r,i):n(i))||i);return t&&i&&d(e,r,i),i},p=(o,e)=>(r,t)=>e(r,t,o);import{hexaStringToBuffer as g}from"@ledgerhq/device-management-kit";import u from"axios";import{inject as l,injectable as C}from"inversify";import{Left as c,Right as y}from"purify-ts";import{configTypes as k}from"../../config/di/configTypes";import{SIGNATURE_TAG as P}from"../../shared/model/SignatureTags";import{HexStringUtils as h}from"../../shared/utils/HexStringUtils";import{KeyUsageMapper as x}from"../../shared/utils/KeyUsageMapper";import M from"../../../package.json";let a=class{constructor(e){this.config=e}async fetchCertificate(e){const r={output:"descriptor",target_device:e.targetDevice,latest:!0,public_key_id:e.keyId,public_key_usage:e.keyUsage};try{const t=await u.request({method:"GET",url:`${this.config.cal.url}/certificates`,params:r,headers:{"X-Ledger-Client-Version":`context-module/${M.version}`}});if(t.status==200&&t.data!==void 0&&t.data.length>0&&this.isValidPkiCertificateResponse(t.data[0],this.config.cal.mode)){const i=g(h.appendSignatureToPayload(t.data[0].descriptor.data,t.data[0].descriptor.signatures[this.config.cal.mode],P));if(!i)return c(Error("[ContextModule] HttpPkiCertificateDataSource: Cannot generate payload from fetched PKI Certificate"));const s={payload:i,keyUsageNumber:x.mapKeyUsageForFirmware(e.keyUsage)};return y(s)}else return c(Error("[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor"))}catch{return c(Error("[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor"))}}isValidPkiCertificateResponse(e,r){return typeof e=="object"&&e!==null&&"descriptor"in e&&typeof e.descriptor=="object"&&e.descriptor!==null&&"data"in e.descriptor&&typeof e.descriptor.data=="string"&&"signatures"in e.descriptor&&typeof e.descriptor.signatures=="object"&&e.descriptor.signatures!==null&&r in e.descriptor.signatures&&typeof e.descriptor.signatures[r]=="string"}};a=f([C(),p(0,l(k.Config))],a);export{a as HttpPkiCertificateDataSource};
1
+ var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=(o,t,r,e)=>{for(var i=e>1?void 0:e?m(t,r):t,a=o.length-1,n;a>=0;a--)(n=o[a])&&(i=(e?n(t,r,i):n(i))||i);return e&&i&&d(t,r,i),i},p=(o,t)=>(r,e)=>t(r,e,o);import{hexaStringToBuffer as u}from"@ledgerhq/device-management-kit";import g from"axios";import{inject as C,injectable as l}from"inversify";import{Left as c,Right as y}from"purify-ts";import{configTypes as k}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as P}from"../../shared/constant/HttpHeaders";import{SIGNATURE_TAG as h}from"../../shared/model/SignatureTags";import{HexStringUtils as E}from"../../shared/utils/HexStringUtils";import{KeyUsageMapper as R}from"../../shared/utils/KeyUsageMapper";import x from"../../../package.json";let s=class{constructor(t){this.config=t}async fetchCertificate(t){const r={output:"descriptor",target_device:t.targetDevice,latest:!0,public_key_id:t.keyId,public_key_usage:t.keyUsage};try{const e=await g.request({method:"GET",url:`${this.config.cal.url}/certificates`,params:r,headers:{[P]:`context-module/${x.version}`}});if(e.status==200&&e.data!==void 0&&e.data.length>0&&this.isValidPkiCertificateResponse(e.data[0],this.config.cal.mode)){const i=u(E.appendSignatureToPayload(e.data[0].descriptor.data,e.data[0].descriptor.signatures[this.config.cal.mode],h));if(!i)return c(Error("[ContextModule] HttpPkiCertificateDataSource: Cannot generate payload from fetched PKI Certificate"));const a={payload:i,keyUsageNumber:R.mapKeyUsageForFirmware(t.keyUsage)};return y(a)}else return c(Error("[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor"))}catch{return c(Error("[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor"))}}isValidPkiCertificateResponse(t,r){return typeof t=="object"&&t!==null&&"descriptor"in t&&typeof t.descriptor=="object"&&t.descriptor!==null&&"data"in t.descriptor&&typeof t.descriptor.data=="string"&&"signatures"in t.descriptor&&typeof t.descriptor.signatures=="object"&&t.descriptor.signatures!==null&&r in t.descriptor.signatures&&typeof t.descriptor.signatures[r]=="string"}};s=f([l(),p(0,C(k.Config))],s);export{s as HttpPkiCertificateDataSource};
2
2
  //# sourceMappingURL=HttpPkiCertificateDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/pki/data/HttpPkiCertificateDataSource.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type {\n ContextModuleCalMode,\n ContextModuleConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\nimport { SIGNATURE_TAG } from \"@/shared/model/SignatureTags\";\nimport { HexStringUtils } from \"@/shared/utils/HexStringUtils\";\nimport { KeyUsageMapper } from \"@/shared/utils/KeyUsageMapper\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { type PkiCertificateDataSource } from \"./PkiCertificateDataSource\";\nimport {\n type PkiCertificateRequestDto,\n type PkiCertificateResponseDto,\n} from \"./pkiDataSourceTypes\";\n\n@injectable()\nexport class HttpPkiCertificateDataSource implements PkiCertificateDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async fetchCertificate(\n pkiCertificateInfo: PkiCertificateInfo,\n ): Promise<Either<Error, PkiCertificate | undefined>> {\n const requestDto: PkiCertificateRequestDto = {\n output: \"descriptor\",\n target_device: pkiCertificateInfo.targetDevice,\n latest: true,\n public_key_id: pkiCertificateInfo.keyId,\n public_key_usage: pkiCertificateInfo.keyUsage,\n };\n\n try {\n const pkiCertificateResponse = await axios.request<\n PkiCertificateResponseDto[]\n >({\n method: \"GET\",\n url: `${this.config.cal.url}/certificates`,\n params: requestDto,\n headers: {\n \"X-Ledger-Client-Version\": `context-module/${PACKAGE.version}`,\n },\n });\n\n if (\n pkiCertificateResponse.status == 200 &&\n pkiCertificateResponse.data !== undefined &&\n pkiCertificateResponse.data.length > 0 &&\n this.isValidPkiCertificateResponse(\n pkiCertificateResponse.data[0],\n this.config.cal.mode,\n )\n ) {\n const payload = hexaStringToBuffer(\n HexStringUtils.appendSignatureToPayload(\n pkiCertificateResponse.data[0].descriptor.data,\n pkiCertificateResponse.data[0].descriptor.signatures[\n this.config.cal.mode\n ],\n SIGNATURE_TAG,\n ),\n );\n if (!payload) {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: Cannot generate payload from fetched PKI Certificate\",\n ),\n );\n }\n const pkiCertificate: PkiCertificate = {\n payload: payload,\n keyUsageNumber: KeyUsageMapper.mapKeyUsageForFirmware(\n pkiCertificateInfo.keyUsage,\n ),\n };\n return Right(pkiCertificate);\n } else {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor\",\n ),\n );\n }\n } catch (_error) {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor\",\n ),\n );\n }\n }\n\n private isValidPkiCertificateResponse(\n value: unknown,\n mode: ContextModuleCalMode,\n ): value is PkiCertificateResponseDto {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"descriptor\" in value &&\n typeof value.descriptor === \"object\" &&\n value.descriptor !== null &&\n \"data\" in value.descriptor &&\n typeof value.descriptor.data === \"string\" &&\n \"signatures\" in value.descriptor &&\n typeof value.descriptor.signatures === \"object\" &&\n value.descriptor.signatures !== null &&\n mode in value.descriptor.signatures &&\n typeof (value.descriptor.signatures as Record<string, unknown>)[mode] ===\n \"string\"\n );\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,sBAAAA,MAA0B,kCACnC,OAAOC,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAO5B,OAAS,iBAAAC,MAAqB,+BAC9B,OAAS,kBAAAC,MAAsB,gCAC/B,OAAS,kBAAAC,MAAsB,gCAC/B,OAAOC,MAAa,qBASb,IAAMC,EAAN,KAAuE,CAC5E,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,iBACJC,EACoD,CACpD,MAAMC,EAAuC,CAC3C,OAAQ,aACR,cAAeD,EAAmB,aAClC,OAAQ,GACR,cAAeA,EAAmB,MAClC,iBAAkBA,EAAmB,QACvC,EAEA,GAAI,CACF,MAAME,EAAyB,MAAMC,EAAM,QAEzC,CACA,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,IAAI,GAAG,gBAC3B,OAAQF,EACR,QAAS,CACP,0BAA2B,kBAAkBG,EAAQ,OAAO,EAC9D,CACF,CAAC,EAED,GACEF,EAAuB,QAAU,KACjCA,EAAuB,OAAS,QAChCA,EAAuB,KAAK,OAAS,GACrC,KAAK,8BACHA,EAAuB,KAAK,CAAC,EAC7B,KAAK,OAAO,IAAI,IAClB,EACA,CACA,MAAMG,EAAUC,EACdC,EAAe,yBACbL,EAAuB,KAAK,CAAC,EAAE,WAAW,KAC1CA,EAAuB,KAAK,CAAC,EAAE,WAAW,WACxC,KAAK,OAAO,IAAI,IAClB,EACAM,CACF,CACF,EACA,GAAI,CAACH,EACH,OAAOI,EACL,MACE,oGACF,CACF,EAEF,MAAMC,EAAiC,CACrC,QAASL,EACT,eAAgBM,EAAe,uBAC7BX,EAAmB,QACrB,CACF,EACA,OAAOY,EAAMF,CAAc,CAC7B,KACE,QAAOD,EACL,MACE,wFACF,CACF,CAEJ,MAAiB,CACf,OAAOA,EACL,MACE,wFACF,CACF,CACF,CACF,CAEQ,8BACNI,EACAC,EACoC,CACpC,OACE,OAAOD,GAAU,UACjBA,IAAU,MACV,eAAgBA,GAChB,OAAOA,EAAM,YAAe,UAC5BA,EAAM,aAAe,MACrB,SAAUA,EAAM,YAChB,OAAOA,EAAM,WAAW,MAAS,UACjC,eAAgBA,EAAM,YACtB,OAAOA,EAAM,WAAW,YAAe,UACvCA,EAAM,WAAW,aAAe,MAChCC,KAAQD,EAAM,WAAW,YACzB,OAAQA,EAAM,WAAW,WAAuCC,CAAI,GAClE,QAEN,CACF,EAhGahB,EAANiB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBrB",
6
- "names": ["hexaStringToBuffer", "axios", "inject", "injectable", "Left", "Right", "configTypes", "SIGNATURE_TAG", "HexStringUtils", "KeyUsageMapper", "PACKAGE", "HttpPkiCertificateDataSource", "config", "pkiCertificateInfo", "requestDto", "pkiCertificateResponse", "axios", "PACKAGE", "payload", "hexaStringToBuffer", "HexStringUtils", "SIGNATURE_TAG", "Left", "pkiCertificate", "KeyUsageMapper", "Right", "value", "mode", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type {\n ContextModuleCalMode,\n ContextModuleConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport { SIGNATURE_TAG } from \"@/shared/model/SignatureTags\";\nimport { HexStringUtils } from \"@/shared/utils/HexStringUtils\";\nimport { KeyUsageMapper } from \"@/shared/utils/KeyUsageMapper\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { type PkiCertificateDataSource } from \"./PkiCertificateDataSource\";\nimport {\n type PkiCertificateRequestDto,\n type PkiCertificateResponseDto,\n} from \"./pkiDataSourceTypes\";\n\n@injectable()\nexport class HttpPkiCertificateDataSource implements PkiCertificateDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async fetchCertificate(\n pkiCertificateInfo: PkiCertificateInfo,\n ): Promise<Either<Error, PkiCertificate | undefined>> {\n const requestDto: PkiCertificateRequestDto = {\n output: \"descriptor\",\n target_device: pkiCertificateInfo.targetDevice,\n latest: true,\n public_key_id: pkiCertificateInfo.keyId,\n public_key_usage: pkiCertificateInfo.keyUsage,\n };\n\n try {\n const pkiCertificateResponse = await axios.request<\n PkiCertificateResponseDto[]\n >({\n method: \"GET\",\n url: `${this.config.cal.url}/certificates`,\n params: requestDto,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n },\n });\n\n if (\n pkiCertificateResponse.status == 200 &&\n pkiCertificateResponse.data !== undefined &&\n pkiCertificateResponse.data.length > 0 &&\n this.isValidPkiCertificateResponse(\n pkiCertificateResponse.data[0],\n this.config.cal.mode,\n )\n ) {\n const payload = hexaStringToBuffer(\n HexStringUtils.appendSignatureToPayload(\n pkiCertificateResponse.data[0].descriptor.data,\n pkiCertificateResponse.data[0].descriptor.signatures[\n this.config.cal.mode\n ],\n SIGNATURE_TAG,\n ),\n );\n if (!payload) {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: Cannot generate payload from fetched PKI Certificate\",\n ),\n );\n }\n const pkiCertificate: PkiCertificate = {\n payload: payload,\n keyUsageNumber: KeyUsageMapper.mapKeyUsageForFirmware(\n pkiCertificateInfo.keyUsage,\n ),\n };\n return Right(pkiCertificate);\n } else {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor\",\n ),\n );\n }\n } catch (_error) {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor\",\n ),\n );\n }\n }\n\n private isValidPkiCertificateResponse(\n value: unknown,\n mode: ContextModuleCalMode,\n ): value is PkiCertificateResponseDto {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"descriptor\" in value &&\n typeof value.descriptor === \"object\" &&\n value.descriptor !== null &&\n \"data\" in value.descriptor &&\n typeof value.descriptor.data === \"string\" &&\n \"signatures\" in value.descriptor &&\n typeof value.descriptor.signatures === \"object\" &&\n value.descriptor.signatures !== null &&\n mode in value.descriptor.signatures &&\n typeof (value.descriptor.signatures as Record<string, unknown>)[mode] ===\n \"string\"\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,sBAAAA,MAA0B,kCACnC,OAAOC,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAO5B,OAAS,gCAAAC,MAAoC,gCAC7C,OAAS,iBAAAC,MAAqB,+BAC9B,OAAS,kBAAAC,MAAsB,gCAC/B,OAAS,kBAAAC,MAAsB,gCAC/B,OAAOC,MAAa,qBASb,IAAMC,EAAN,KAAuE,CAC5E,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,iBACJC,EACoD,CACpD,MAAMC,EAAuC,CAC3C,OAAQ,aACR,cAAeD,EAAmB,aAClC,OAAQ,GACR,cAAeA,EAAmB,MAClC,iBAAkBA,EAAmB,QACvC,EAEA,GAAI,CACF,MAAME,EAAyB,MAAMC,EAAM,QAEzC,CACA,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,IAAI,GAAG,gBAC3B,OAAQF,EACR,QAAS,CACP,CAACG,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,EACnE,CACF,CAAC,EAED,GACEH,EAAuB,QAAU,KACjCA,EAAuB,OAAS,QAChCA,EAAuB,KAAK,OAAS,GACrC,KAAK,8BACHA,EAAuB,KAAK,CAAC,EAC7B,KAAK,OAAO,IAAI,IAClB,EACA,CACA,MAAMI,EAAUC,EACdC,EAAe,yBACbN,EAAuB,KAAK,CAAC,EAAE,WAAW,KAC1CA,EAAuB,KAAK,CAAC,EAAE,WAAW,WACxC,KAAK,OAAO,IAAI,IAClB,EACAO,CACF,CACF,EACA,GAAI,CAACH,EACH,OAAOI,EACL,MACE,oGACF,CACF,EAEF,MAAMC,EAAiC,CACrC,QAASL,EACT,eAAgBM,EAAe,uBAC7BZ,EAAmB,QACrB,CACF,EACA,OAAOa,EAAMF,CAAc,CAC7B,KACE,QAAOD,EACL,MACE,wFACF,CACF,CAEJ,MAAiB,CACf,OAAOA,EACL,MACE,wFACF,CACF,CACF,CACF,CAEQ,8BACNI,EACAC,EACoC,CACpC,OACE,OAAOD,GAAU,UACjBA,IAAU,MACV,eAAgBA,GAChB,OAAOA,EAAM,YAAe,UAC5BA,EAAM,aAAe,MACrB,SAAUA,EAAM,YAChB,OAAOA,EAAM,WAAW,MAAS,UACjC,eAAgBA,EAAM,YACtB,OAAOA,EAAM,WAAW,YAAe,UACvCA,EAAM,WAAW,aAAe,MAChCC,KAAQD,EAAM,WAAW,YACzB,OAAQA,EAAM,WAAW,WAAuCC,CAAI,GAClE,QAEN,CACF,EAhGajB,EAANkB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBtB",
6
+ "names": ["hexaStringToBuffer", "axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "SIGNATURE_TAG", "HexStringUtils", "KeyUsageMapper", "PACKAGE", "HttpPkiCertificateDataSource", "config", "pkiCertificateInfo", "requestDto", "pkiCertificateResponse", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "payload", "hexaStringToBuffer", "HexStringUtils", "SIGNATURE_TAG", "Left", "pkiCertificate", "KeyUsageMapper", "Right", "value", "mode", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as i}from"inversify";import{HttpPkiCertificateDataSource as e}from"../../pki/data/HttpPkiCertificateDataSource";import{DefaultPkiCertificateLoader as r}from"../../pki/domain/DefaultPkiCertificateLoader";import{pkiTypes as o}from"./pkiTypes";const d=()=>new i((t,a,f,n)=>{t(o.PkiCertificateDataSource).to(e),t(o.PkiCertificateLoader).to(r)});export{d as nanoPkiModuleFactory};
1
+ import{ContainerModule as e}from"inversify";import{HttpPkiCertificateDataSource as r}from"../../pki/data/HttpPkiCertificateDataSource";import{DefaultPkiCertificateLoader as i}from"../../pki/domain/DefaultPkiCertificateLoader";import{pkiTypes as o}from"./pkiTypes";const p=()=>new e(({bind:t})=>{t(o.PkiCertificateDataSource).to(r),t(o.PkiCertificateLoader).to(i)});export{p as nanoPkiModuleFactory};
2
2
  //# sourceMappingURL=pkiModuleFactory.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/pki/di/pkiModuleFactory.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpPkiCertificateDataSource } from \"@/pki/data/HttpPkiCertificateDataSource\";\nimport { DefaultPkiCertificateLoader } from \"@/pki/domain/DefaultPkiCertificateLoader\";\n\nimport { pkiTypes } from \"./pkiTypes\";\n\nexport const nanoPkiModuleFactory = () =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n bind(pkiTypes.PkiCertificateDataSource).to(HttpPkiCertificateDataSource);\n bind(pkiTypes.PkiCertificateLoader).to(DefaultPkiCertificateLoader);\n });\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gCAAAC,MAAoC,0CAC7C,OAAS,+BAAAC,MAAmC,2CAE5C,OAAS,YAAAC,MAAgB,aAElB,MAAMC,EAAuB,IAClC,IAAIJ,EAAgB,CAACK,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAAKF,EAAS,wBAAwB,EAAE,GAAGF,CAA4B,EACvEI,EAAKF,EAAS,oBAAoB,EAAE,GAAGD,CAA2B,CACpE,CAAC",
6
- "names": ["ContainerModule", "HttpPkiCertificateDataSource", "DefaultPkiCertificateLoader", "pkiTypes", "nanoPkiModuleFactory", "bind", "_unbind", "_isBound", "_rebind"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpPkiCertificateDataSource } from \"@/pki/data/HttpPkiCertificateDataSource\";\nimport { DefaultPkiCertificateLoader } from \"@/pki/domain/DefaultPkiCertificateLoader\";\n\nimport { pkiTypes } from \"./pkiTypes\";\n\nexport const nanoPkiModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(pkiTypes.PkiCertificateDataSource).to(HttpPkiCertificateDataSource);\n bind(pkiTypes.PkiCertificateLoader).to(DefaultPkiCertificateLoader);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gCAAAC,MAAoC,0CAC7C,OAAS,+BAAAC,MAAmC,2CAE5C,OAAS,YAAAC,MAAgB,aAElB,MAAMC,EAAuB,IAClC,IAAIJ,EAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAKF,EAAS,wBAAwB,EAAE,GAAGF,CAA4B,EACvEI,EAAKF,EAAS,oBAAoB,EAAE,GAAGD,CAA2B,CACpE,CAAC",
6
+ "names": ["ContainerModule", "HttpPkiCertificateDataSource", "DefaultPkiCertificateLoader", "pkiTypes", "nanoPkiModuleFactory", "bind"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/pki/domain/DefaultPkiCertificateLoader.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { type PkiCertificateDataSource } from \"@/pki/data/PkiCertificateDataSource\";\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { type PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\n\nimport { PkiCertificateLoader } from \"./PkiCertificateLoader\";\n\n@injectable()\nexport class DefaultPkiCertificateLoader implements PkiCertificateLoader {\n private _dataSource: PkiCertificateDataSource;\n\n constructor(\n @inject(pkiTypes.PkiCertificateDataSource)\n dataSource: PkiCertificateDataSource,\n ) {\n this._dataSource = dataSource;\n }\n\n async loadCertificate(\n certificateInfos: PkiCertificateInfo,\n ): Promise<PkiCertificate | undefined> {\n const certificate =\n await this._dataSource.fetchCertificate(certificateInfos);\n\n return certificate.orDefault(undefined);\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,YAAAC,MAAgB,oBAOlB,IAAMC,EAAN,KAAkE,CAC/D,YAER,YAEEC,EACA,CACA,KAAK,YAAcA,CACrB,CAEA,MAAM,gBACJC,EACqC,CAIrC,OAFE,MAAM,KAAK,YAAY,iBAAiBA,CAAgB,GAEvC,UAAU,MAAS,CACxC,CACF,EAlBaF,EAANG,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAS,wBAAwB,IAJhCP",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { type PkiCertificateDataSource } from \"@/pki/data/PkiCertificateDataSource\";\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { type PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\n\nimport { PkiCertificateLoader } from \"./PkiCertificateLoader\";\n\n@injectable()\nexport class DefaultPkiCertificateLoader implements PkiCertificateLoader {\n private _dataSource: PkiCertificateDataSource;\n\n constructor(\n @inject(pkiTypes.PkiCertificateDataSource)\n dataSource: PkiCertificateDataSource,\n ) {\n this._dataSource = dataSource;\n }\n\n async loadCertificate(\n certificateInfos: PkiCertificateInfo,\n ): Promise<PkiCertificate | undefined> {\n const certificate =\n await this._dataSource.fetchCertificate(certificateInfos);\n\n // TODO add logs error with certificate.left()\n return certificate.orDefault(undefined);\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,YAAAC,MAAgB,oBAOlB,IAAMC,EAAN,KAAkE,CAC/D,YAER,YAEEC,EACA,CACA,KAAK,YAAcA,CACrB,CAEA,MAAM,gBACJC,EACqC,CAKrC,OAHE,MAAM,KAAK,YAAY,iBAAiBA,CAAgB,GAGvC,UAAU,MAAS,CACxC,CACF,EAnBaF,EAANG,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAS,wBAAwB,IAJhCP",
6
6
  "names": ["inject", "injectable", "pkiTypes", "DefaultPkiCertificateLoader", "dataSource", "certificateInfos", "__decorateClass", "injectable", "__decorateParam", "inject", "pkiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Right as r}from"purify-ts";import{DefaultPkiCertificateLoader as o}from"../../pki/domain/DefaultPkiCertificateLoader";import{KeyId as c}from"../../pki/model/KeyId";import{KeyUsage as f}from"../../pki/model/KeyUsage";describe("DefaultPkiCertificateLoader",()=>{describe("loadCertificate",()=>{it("should call loadCertificate",async()=>{const e={targetDevice:"targetDevice",keyUsage:f.Calldata,keyId:c.CalNetwork},t={keyUsageNumber:11,payload:new Uint8Array([1,2,3,4,21,4,5,6,7,8])},a={fetchCertificate:vi.fn().mockResolvedValue(r(t))},i=await new o(a).loadCertificate(e);expect(i).toEqual(t),expect(a.fetchCertificate).toHaveBeenCalledWith(e)})})});
1
+ import{Left as n,Right as l}from"purify-ts";import{DefaultPkiCertificateLoader as r}from"../../pki/domain/DefaultPkiCertificateLoader";import{KeyId as o}from"../../pki/model/KeyId";import{KeyUsage as c}from"../../pki/model/KeyUsage";describe("DefaultPkiCertificateLoader",()=>{describe("loadCertificate",()=>{it("should call loadCertificate",async()=>{const e={targetDevice:"targetDevice",keyUsage:c.Calldata,keyId:o.CalNetwork},a={keyUsageNumber:11,payload:new Uint8Array([1,2,3,4,21,4,5,6,7,8])},t={fetchCertificate:vi.fn().mockResolvedValue(l(a))},i=await new r(t).loadCertificate(e);expect(i).toEqual(a),expect(t.fetchCertificate).toHaveBeenCalledWith(e)}),it("Returns undefined when the data source returns a Left(error)",async()=>{const e={targetDevice:"targetDevice",keyUsage:c.Calldata,keyId:o.CalNetwork},a=new Error("failed"),t={fetchCertificate:vi.fn().mockResolvedValue(n(a))},i=await new r(t).loadCertificate(e);expect(i).toBeUndefined(),expect(t.fetchCertificate).toHaveBeenCalledWith(e)})})});
2
2
  //# sourceMappingURL=DefaultPkiCertificateLoader.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/pki/domain/DefaultPkiCertificateLoader.test.ts"],
4
- "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { DefaultPkiCertificateLoader } from \"@/pki/domain/DefaultPkiCertificateLoader\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { type PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\n\ndescribe(\"DefaultPkiCertificateLoader\", () => {\n describe(\"loadCertificate\", () => {\n it(\"should call loadCertificate\", async () => {\n // GIVEN\n const certificateInfos: PkiCertificateInfo = {\n targetDevice: \"targetDevice\",\n keyUsage: KeyUsage.Calldata,\n keyId: KeyId.CalNetwork,\n };\n const certificate = {\n keyUsageNumber: 11,\n payload: new Uint8Array([\n 0x01, 0x02, 0x03, 0x04, 0x15, 0x04, 0x05, 0x06, 0x07, 0x08,\n ]),\n };\n const dataSource = {\n fetchCertificate: vi.fn().mockResolvedValue(Right(certificate)),\n };\n\n // WHEN\n const loader = new DefaultPkiCertificateLoader(dataSource);\n const result = await loader.loadCertificate(certificateInfos);\n\n // THEN\n expect(result).toEqual(certificate);\n expect(dataSource.fetchCertificate).toHaveBeenCalledWith(\n certificateInfos,\n );\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,+BAAAC,MAAmC,2CAC5C,OAAS,SAAAC,MAAa,oBACtB,OAAS,YAAAC,MAAgB,uBAGzB,SAAS,8BAA+B,IAAM,CAC5C,SAAS,kBAAmB,IAAM,CAChC,GAAG,8BAA+B,SAAY,CAE5C,MAAMC,EAAuC,CAC3C,aAAc,eACd,SAAUD,EAAS,SACnB,MAAOD,EAAM,UACf,EACMG,EAAc,CAClB,eAAgB,GAChB,QAAS,IAAI,WAAW,CACtB,EAAM,EAAM,EAAM,EAAM,GAAM,EAAM,EAAM,EAAM,EAAM,CACxD,CAAC,CACH,EACMC,EAAa,CACjB,iBAAkB,GAAG,GAAG,EAAE,kBAAkBN,EAAMK,CAAW,CAAC,CAChE,EAIME,EAAS,MADA,IAAIN,EAA4BK,CAAU,EAC7B,gBAAgBF,CAAgB,EAG5D,OAAOG,CAAM,EAAE,QAAQF,CAAW,EAClC,OAAOC,EAAW,gBAAgB,EAAE,qBAClCF,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["Right", "DefaultPkiCertificateLoader", "KeyId", "KeyUsage", "certificateInfos", "certificate", "dataSource", "result"]
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { DefaultPkiCertificateLoader } from \"@/pki/domain/DefaultPkiCertificateLoader\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { type PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\n\ndescribe(\"DefaultPkiCertificateLoader\", () => {\n describe(\"loadCertificate\", () => {\n it(\"should call loadCertificate\", async () => {\n // GIVEN\n const certificateInfos: PkiCertificateInfo = {\n targetDevice: \"targetDevice\",\n keyUsage: KeyUsage.Calldata,\n keyId: KeyId.CalNetwork,\n };\n const certificate = {\n keyUsageNumber: 11,\n payload: new Uint8Array([\n 0x01, 0x02, 0x03, 0x04, 0x15, 0x04, 0x05, 0x06, 0x07, 0x08,\n ]),\n };\n const dataSource = {\n fetchCertificate: vi.fn().mockResolvedValue(Right(certificate)),\n };\n\n // WHEN\n const loader = new DefaultPkiCertificateLoader(dataSource);\n const result = await loader.loadCertificate(certificateInfos);\n\n // THEN\n expect(result).toEqual(certificate);\n expect(dataSource.fetchCertificate).toHaveBeenCalledWith(\n certificateInfos,\n );\n });\n\n it(\"Returns undefined when the data source returns a Left(error)\", async () => {\n // given\n const certificateInfos: PkiCertificateInfo = {\n targetDevice: \"targetDevice\",\n keyUsage: KeyUsage.Calldata,\n keyId: KeyId.CalNetwork,\n };\n const fetchError = new Error(\"failed\");\n const dataSource = {\n fetchCertificate: vi.fn().mockResolvedValue(Left(fetchError)),\n };\n const loader = new DefaultPkiCertificateLoader(dataSource);\n\n // when / then\n const result = await loader.loadCertificate(certificateInfos);\n expect(result).toBeUndefined();\n expect(dataSource.fetchCertificate).toHaveBeenCalledWith(\n certificateInfos,\n );\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,MAAa,YAE5B,OAAS,+BAAAC,MAAmC,2CAC5C,OAAS,SAAAC,MAAa,oBACtB,OAAS,YAAAC,MAAgB,uBAGzB,SAAS,8BAA+B,IAAM,CAC5C,SAAS,kBAAmB,IAAM,CAChC,GAAG,8BAA+B,SAAY,CAE5C,MAAMC,EAAuC,CAC3C,aAAc,eACd,SAAUD,EAAS,SACnB,MAAOD,EAAM,UACf,EACMG,EAAc,CAClB,eAAgB,GAChB,QAAS,IAAI,WAAW,CACtB,EAAM,EAAM,EAAM,EAAM,GAAM,EAAM,EAAM,EAAM,EAAM,CACxD,CAAC,CACH,EACMC,EAAa,CACjB,iBAAkB,GAAG,GAAG,EAAE,kBAAkBN,EAAMK,CAAW,CAAC,CAChE,EAIME,EAAS,MADA,IAAIN,EAA4BK,CAAU,EAC7B,gBAAgBF,CAAgB,EAG5D,OAAOG,CAAM,EAAE,QAAQF,CAAW,EAClC,OAAOC,EAAW,gBAAgB,EAAE,qBAClCF,CACF,CACF,CAAC,EAED,GAAG,+DAAgE,SAAY,CAE7E,MAAMA,EAAuC,CAC3C,aAAc,eACd,SAAUD,EAAS,SACnB,MAAOD,EAAM,UACf,EACMM,EAAa,IAAI,MAAM,QAAQ,EAC/BF,EAAa,CACjB,iBAAkB,GAAG,GAAG,EAAE,kBAAkBP,EAAKS,CAAU,CAAC,CAC9D,EAIMD,EAAS,MAHA,IAAIN,EAA4BK,CAAU,EAG7B,gBAAgBF,CAAgB,EAC5D,OAAOG,CAAM,EAAE,cAAc,EAC7B,OAAOD,EAAW,gBAAgB,EAAE,qBAClCF,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["Left", "Right", "DefaultPkiCertificateLoader", "KeyId", "KeyUsage", "certificateInfos", "certificate", "dataSource", "result", "fetchError"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var r=(t=>(t.GenuineCheck="genuine_check",t.ExchangePayload="exchange_payload",t.NftMeta="nft_meta",t.TrustedName="trusted_name",t.BackupProvider="backup_provider",t.ProtectOrchestrator="protect_orchestrator",t.PluginMeta="plugin_meta",t.CoinMeta="coin_meta",t.SeedIdAuth="seed_id_auth",t.TxSimulationSigner="tx_simu_signer",t.Calldata="calldata",t.Network="network",t))(r||{});export{r as KeyUsage};
1
+ var r=(t=>(t.GenuineCheck="genuine_check",t.ExchangePayload="exchange_payload",t.NftMeta="nft_meta",t.TrustedName="trusted_name",t.BackupProvider="backup_provider",t.ProtectOrchestrator="protect_orchestrator",t.PluginMeta="plugin_meta",t.CoinMeta="coin_meta",t.SeedIdAuth="seed_id_auth",t.TxSimulationSigner="tx_simu_signer",t.Calldata="calldata",t.Network="network",t.LESMultisig="les_multisig",t))(r||{});export{r as KeyUsage};
2
2
  //# sourceMappingURL=KeyUsage.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/pki/model/KeyUsage.ts"],
4
- "sourcesContent": ["export enum KeyUsage {\n GenuineCheck = \"genuine_check\",\n ExchangePayload = \"exchange_payload\",\n NftMeta = \"nft_meta\",\n TrustedName = \"trusted_name\",\n BackupProvider = \"backup_provider\",\n ProtectOrchestrator = \"protect_orchestrator\",\n PluginMeta = \"plugin_meta\",\n CoinMeta = \"coin_meta\",\n SeedIdAuth = \"seed_id_auth\",\n TxSimulationSigner = \"tx_simu_signer\",\n Calldata = \"calldata\",\n Network = \"network\",\n}\n"],
5
- "mappings": "AAAO,IAAKA,OACVA,EAAA,aAAe,gBACfA,EAAA,gBAAkB,mBAClBA,EAAA,QAAU,WACVA,EAAA,YAAc,eACdA,EAAA,eAAiB,kBACjBA,EAAA,oBAAsB,uBACtBA,EAAA,WAAa,cACbA,EAAA,SAAW,YACXA,EAAA,WAAa,eACbA,EAAA,mBAAqB,iBACrBA,EAAA,SAAW,WACXA,EAAA,QAAU,UAZAA,OAAA",
4
+ "sourcesContent": ["export enum KeyUsage {\n GenuineCheck = \"genuine_check\",\n ExchangePayload = \"exchange_payload\",\n NftMeta = \"nft_meta\",\n TrustedName = \"trusted_name\",\n BackupProvider = \"backup_provider\",\n ProtectOrchestrator = \"protect_orchestrator\",\n PluginMeta = \"plugin_meta\",\n CoinMeta = \"coin_meta\",\n SeedIdAuth = \"seed_id_auth\",\n TxSimulationSigner = \"tx_simu_signer\",\n Calldata = \"calldata\",\n Network = \"network\",\n LESMultisig = \"les_multisig\",\n}\n"],
5
+ "mappings": "AAAO,IAAKA,OACVA,EAAA,aAAe,gBACfA,EAAA,gBAAkB,mBAClBA,EAAA,QAAU,WACVA,EAAA,YAAc,eACdA,EAAA,eAAiB,kBACjBA,EAAA,oBAAsB,uBACtBA,EAAA,WAAa,cACbA,EAAA,SAAW,YACXA,EAAA,WAAa,eACbA,EAAA,mBAAqB,iBACrBA,EAAA,SAAW,WACXA,EAAA,QAAU,UACVA,EAAA,YAAc,eAbJA,OAAA",
6
6
  "names": ["KeyUsage"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var p=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var d=(a,e,r,n)=>{for(var t=n>1?void 0:n?y(e,r):e,o=a.length-1,i;o>=0;o--)(i=a[o])&&(t=(n?i(e,r,t):i(t))||t);return n&&t&&p(e,r,t),t},l=(a,e)=>(r,n)=>e(r,n,a);import f from"axios";import{inject as c,injectable as g}from"inversify";import{Left as s,Right as x}from"purify-ts";import{configTypes as D}from"../../config/di/configTypes";import{KeyId as u}from"../../pki/model/KeyId";import{KeyUsage as E}from"../../pki/model/KeyUsage";import{LEDGER_CLIENT_VERSION_HEADER as P,LEDGER_ORIGIN_TOKEN_HEADER as C}from"../../shared/constant/HttpHeaders";import h from"../../../package.json";let m=class{constructor(e){this.config=e}async getProxyImplementationAddress({proxyAddress:e,chainId:r,challenge:n,calldata:t}){let o;try{o=(await f.request({method:"POST",url:`${this.config.metadataServiceDomain.url}/v2/ethereum/${r}/contract/proxy/delegate`,headers:{[P]:`context-module/${h.version}`,[C]:this.config.originToken},data:{proxy:e,data:t,challenge:n}})).data}catch{return s(new Error("[ContextModule] HttpProxyDataSource: Failed to fetch delegate proxy"))}return o?this.isProxyDelegateCallDto(o)?o.addresses[0]?x({implementationAddress:o.addresses[0],signedDescriptor:o.signedDescriptor,keyId:u.DomainMetadataKey,keyUsage:E.TrustedName}):s(new Error(`[ContextModule] HttpProxyDataSource: No implementation address found for proxy ${e} on chain ${r}`)):s(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${e} on chain ${r}`)):s(new Error(`[ContextModule] HttpProxyDataSource: No data received for proxy ${e} on chain ${r}`))}isProxyDelegateCallDto(e){return typeof e=="object"&&e!==null&&"addresses"in e&&"signedDescriptor"in e&&Array.isArray(e.addresses)&&e.addresses.every(r=>typeof r=="string")&&typeof e.signedDescriptor=="string"}};m=d([g(),l(0,c(D.Config))],m);export{m as HttpProxyDataSource};
2
+ //# sourceMappingURL=HttpProxyDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/proxy/data/HttpProxyDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { ProxyDelegateCallDto } from \"./dto/ProxyDelegateCallDto\";\nimport {\n GetProxyImplementationAddressParam,\n ProxyDataSource,\n ProxyImplementationAddress,\n} from \"./ProxyDataSource\";\n\n@injectable()\nexport class HttpProxyDataSource implements ProxyDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async getProxyImplementationAddress({\n proxyAddress,\n chainId,\n challenge,\n calldata,\n }: GetProxyImplementationAddressParam): Promise<\n Either<Error, ProxyImplementationAddress>\n > {\n let dto: ProxyDelegateCallDto | undefined;\n try {\n const response = await axios.request<ProxyDelegateCallDto>({\n method: \"POST\",\n url: `${this.config.metadataServiceDomain.url}/v2/ethereum/${chainId}/contract/proxy/delegate`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n data: {\n proxy: proxyAddress,\n data: calldata,\n challenge,\n },\n });\n dto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n `[ContextModule] HttpProxyDataSource: Failed to fetch delegate proxy`,\n ),\n );\n }\n\n if (!dto) {\n return Left(\n new Error(\n `[ContextModule] HttpProxyDataSource: No data received for proxy ${proxyAddress} on chain ${chainId}`,\n ),\n );\n }\n\n if (!this.isProxyDelegateCallDto(dto)) {\n return Left(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${proxyAddress} on chain ${chainId}`,\n ),\n );\n }\n\n if (!dto.addresses[0]) {\n return Left(\n new Error(\n `[ContextModule] HttpProxyDataSource: No implementation address found for proxy ${proxyAddress} on chain ${chainId}`,\n ),\n );\n }\n\n return Right({\n implementationAddress: dto.addresses[0],\n signedDescriptor: dto.signedDescriptor,\n keyId: KeyId.DomainMetadataKey,\n keyUsage: KeyUsage.TrustedName,\n });\n }\n\n /**\n * Type guard to validate ProxyDelegateCallDto\n */\n private isProxyDelegateCallDto(\n value: unknown,\n ): value is ProxyDelegateCallDto {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"addresses\" in value &&\n \"signedDescriptor\" in value &&\n Array.isArray(value.addresses) &&\n value.addresses.every((address) => typeof address === \"string\") &&\n typeof value.signedDescriptor === \"string\"\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAE5B,OAAS,SAAAC,MAAa,oBACtB,OAAS,YAAAC,MAAgB,uBACzB,OACE,gCAAAC,EACA,8BAAAC,MACK,gCACP,OAAOC,MAAa,qBAUb,IAAMC,EAAN,KAAqD,CAC1D,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,8BAA8B,CAClC,aAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,CACF,EAEE,CACA,IAAIC,EACJ,GAAI,CAcFA,GAbiB,MAAMC,EAAM,QAA8B,CACzD,OAAQ,OACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,gBAAgBJ,CAAO,2BACpE,QAAS,CACP,CAACK,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,EACA,KAAM,CACJ,MAAOR,EACP,KAAMG,EACN,UAAAD,CACF,CACF,CAAC,GACc,IACjB,MAAiB,CACf,OAAOO,EACL,IAAI,MACF,qEACF,CACF,CACF,CAEA,OAAKL,EAQA,KAAK,uBAAuBA,CAAG,EAQ/BA,EAAI,UAAU,CAAC,EAQbM,EAAM,CACX,sBAAuBN,EAAI,UAAU,CAAC,EACtC,iBAAkBA,EAAI,iBACtB,MAAOO,EAAM,kBACb,SAAUC,EAAS,WACrB,CAAC,EAZQH,EACL,IAAI,MACF,kFAAkFT,CAAY,aAAaC,CAAO,EACpH,CACF,EAZOQ,EACL,IAAI,MACF,8FAA8FT,CAAY,aAAaC,CAAO,EAChI,CACF,EAZOQ,EACL,IAAI,MACF,mEAAmET,CAAY,aAAaC,CAAO,EACrG,CACF,CAyBJ,CAKQ,uBACNY,EAC+B,CAC/B,OACE,OAAOA,GAAU,UACjBA,IAAU,MACV,cAAeA,GACf,qBAAsBA,GACtB,MAAM,QAAQA,EAAM,SAAS,GAC7BA,EAAM,UAAU,MAAOC,GAAY,OAAOA,GAAY,QAAQ,GAC9D,OAAOD,EAAM,kBAAqB,QAEtC,CACF,EArFaf,EAANiB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBrB",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "KeyId", "KeyUsage", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpProxyDataSource", "config", "proxyAddress", "chainId", "challenge", "calldata", "dto", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "Left", "Right", "KeyId", "KeyUsage", "value", "address", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import a from"axios";import{KeyId as i}from"../../pki/model/KeyId";import{KeyUsage as c}from"../../pki/model/KeyUsage";import{LEDGER_CLIENT_VERSION_HEADER as l,LEDGER_ORIGIN_TOKEN_HEADER as p}from"../../shared/constant/HttpHeaders";import u from"../../../package.json";import{HttpProxyDataSource as x}from"./HttpProxyDataSource";vi.mock("axios");const d={metadataServiceDomain:{url:"https://metadata.api.live.ledger.com"},originToken:"test-origin-token"};describe("HttpProxyDataSource",()=>{let o;beforeAll(()=>{o=new x(d),vi.clearAllMocks()}),beforeEach(()=>{vi.clearAllMocks()});const t={proxyAddress:"0x1234567890123456789012345678901234567890",chainId:1,challenge:"test-challenge",calldata:"0xabcdef"},s={addresses:["0x9876543210987654321098765432109876543210"],signedDescriptor:"signed-descriptor-data"};describe("getProxyImplementationAddress",()=>{it("should call axios with correct URL, headers, and data",async()=>{const e=`context-module/${u.version}`,r=vi.fn(()=>Promise.resolve({data:s}));vi.spyOn(a,"request").mockImplementation(r),await o.getProxyImplementationAddress(t),expect(r).toHaveBeenCalledWith({method:"POST",url:`${d.metadataServiceDomain.url}/v2/ethereum/${t.chainId}/contract/proxy/delegate`,headers:{[l]:e,[p]:d.originToken},data:{proxy:t.proxyAddress,data:t.calldata,challenge:t.challenge}})}),it("should return Right with proxy implementation data when request succeeds with valid DTO",async()=>{vi.spyOn(a,"request").mockResolvedValue({data:s});const e=await o.getProxyImplementationAddress(t);expect(e.isRight()).toBe(!0),expect(e.extract()).toEqual({implementationAddress:s.addresses[0],signedDescriptor:s.signedDescriptor,keyId:i.DomainMetadataKey,keyUsage:c.TrustedName})}),it("should return Right with first address when multiple addresses are provided",async()=>{const e={addresses:["0x9876543210987654321098765432109876543210","0x1111111111111111111111111111111111111111"],signedDescriptor:"signed-descriptor-data"};vi.spyOn(a,"request").mockResolvedValue({data:e});const r=await o.getProxyImplementationAddress(t);expect(r.isRight()).toBe(!0),expect(r.extract()).toEqual({implementationAddress:e.addresses[0],signedDescriptor:e.signedDescriptor,keyId:i.DomainMetadataKey,keyUsage:c.TrustedName})}),it("should return Left with error when axios throws an error",async()=>{vi.spyOn(a,"request").mockRejectedValue(new Error("Network error"));const e=await o.getProxyImplementationAddress(t);expect(e.isLeft()).toBe(!0),expect(e.extract()).toEqual(new Error("[ContextModule] HttpProxyDataSource: Failed to fetch delegate proxy"))}),it("should return Left with error when response data is undefined",async()=>{vi.spyOn(a,"request").mockResolvedValue({data:void 0});const e=await o.getProxyImplementationAddress(t);expect(e.isLeft()).toBe(!0),expect(e.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: No data received for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when response data is null",async()=>{vi.spyOn(a,"request").mockResolvedValue({data:null});const e=await o.getProxyImplementationAddress(t);expect(e.isLeft()).toBe(!0),expect(e.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: No data received for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when addresses field is missing",async()=>{const{addresses:e,...r}=s;vi.spyOn(a,"request").mockResolvedValue({data:r});const n=await o.getProxyImplementationAddress(t);expect(n.isLeft()).toBe(!0),expect(n.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when signedDescriptor is missing",async()=>{const{signedDescriptor:e,...r}=s;vi.spyOn(a,"request").mockResolvedValue({data:r});const n=await o.getProxyImplementationAddress(t);expect(n.isLeft()).toBe(!0),expect(n.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when addresses is not an array",async()=>{const e={...s,addresses:"not-an-array"};vi.spyOn(a,"request").mockResolvedValue({data:e});const r=await o.getProxyImplementationAddress(t);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when addresses array contains non-string values",async()=>{const e={...s,addresses:[123,"valid-address"]};vi.spyOn(a,"request").mockResolvedValue({data:e});const r=await o.getProxyImplementationAddress(t);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when signedDescriptor is not a string",async()=>{const e={...s,signedDescriptor:123};vi.spyOn(a,"request").mockResolvedValue({data:e});const r=await o.getProxyImplementationAddress(t);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when addresses array is empty",async()=>{const e={addresses:[],signedDescriptor:"signed-descriptor-data"};vi.spyOn(a,"request").mockResolvedValue({data:e});const r=await o.getProxyImplementationAddress(t);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: No implementation address found for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should return Left with error when response is not an object",async()=>{vi.spyOn(a,"request").mockResolvedValue({data:"not an object"});const e=await o.getProxyImplementationAddress(t);expect(e.isLeft()).toBe(!0),expect(e.extract()).toEqual(new Error(`[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${t.proxyAddress} on chain ${t.chainId}`))}),it("should handle different chainId values correctly",async()=>{const e={...t,chainId:137};vi.spyOn(a,"request").mockResolvedValue({data:s});const r=await o.getProxyImplementationAddress(e);expect(r.isRight()).toBe(!0),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({url:`${d.metadataServiceDomain.url}/v2/ethereum/137/contract/proxy/delegate`}))}),it("should handle different proxy addresses correctly",async()=>{const e="0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",r={...t,proxyAddress:e};vi.spyOn(a,"request").mockResolvedValue({data:s});const n=await o.getProxyImplementationAddress(r);expect(n.isRight()).toBe(!0),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({data:expect.objectContaining({proxy:e})}))}),it("should handle different calldata values correctly",async()=>{const e="0x123456789abcdef",r={...t,calldata:e};vi.spyOn(a,"request").mockResolvedValue({data:s});const n=await o.getProxyImplementationAddress(r);expect(n.isRight()).toBe(!0),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({data:expect.objectContaining({data:e})}))}),it("should pass challenge parameter correctly",async()=>{const e="custom-challenge-string",r={...t,challenge:e};vi.spyOn(a,"request").mockResolvedValue({data:s});const n=await o.getProxyImplementationAddress(r);expect(n.isRight()).toBe(!0),expect(a.request).toHaveBeenCalledWith(expect.objectContaining({data:expect.objectContaining({challenge:e})}))})})});
2
+ //# sourceMappingURL=HttpProxyDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/proxy/data/HttpProxyDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { type ProxyDelegateCallDto } from \"./dto/ProxyDelegateCallDto\";\nimport { HttpProxyDataSource } from \"./HttpProxyDataSource\";\nimport { type ProxyDataSource } from \"./ProxyDataSource\";\n\nvi.mock(\"axios\");\n\nconst config = {\n metadataServiceDomain: {\n url: \"https://metadata.api.live.ledger.com\",\n },\n originToken: \"test-origin-token\",\n} as ContextModuleConfig;\n\ndescribe(\"HttpProxyDataSource\", () => {\n let datasource: ProxyDataSource;\n\n beforeAll(() => {\n datasource = new HttpProxyDataSource(config);\n vi.clearAllMocks();\n });\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n const validParams = {\n proxyAddress: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n challenge: \"test-challenge\",\n calldata: \"0xabcdef\",\n };\n\n const validDto: ProxyDelegateCallDto = {\n addresses: [\"0x9876543210987654321098765432109876543210\"],\n signedDescriptor: \"signed-descriptor-data\",\n };\n\n describe(\"getProxyImplementationAddress\", () => {\n it(\"should call axios with correct URL, headers, and data\", async () => {\n // GIVEN\n const version = `context-module/${PACKAGE.version}`;\n const requestSpy = vi.fn(() => Promise.resolve({ data: validDto }));\n vi.spyOn(axios, \"request\").mockImplementation(requestSpy);\n\n // WHEN\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(requestSpy).toHaveBeenCalledWith({\n method: \"POST\",\n url: `${config.metadataServiceDomain.url}/v2/ethereum/${validParams.chainId}/contract/proxy/delegate`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: version,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n data: {\n proxy: validParams.proxyAddress,\n data: validParams.calldata,\n challenge: validParams.challenge,\n },\n });\n });\n\n it(\"should return Right with proxy implementation data when request succeeds with valid DTO\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toEqual({\n implementationAddress: validDto.addresses[0],\n signedDescriptor: validDto.signedDescriptor,\n keyId: KeyId.DomainMetadataKey,\n keyUsage: KeyUsage.TrustedName,\n });\n });\n\n it(\"should return Right with first address when multiple addresses are provided\", async () => {\n // GIVEN\n const dtoWithMultipleAddresses: ProxyDelegateCallDto = {\n addresses: [\n \"0x9876543210987654321098765432109876543210\",\n \"0x1111111111111111111111111111111111111111\",\n ],\n signedDescriptor: \"signed-descriptor-data\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({\n data: dtoWithMultipleAddresses,\n });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toEqual({\n implementationAddress: dtoWithMultipleAddresses.addresses[0],\n signedDescriptor: dtoWithMultipleAddresses.signedDescriptor,\n keyId: KeyId.DomainMetadataKey,\n keyUsage: KeyUsage.TrustedName,\n });\n });\n\n it(\"should return Left with error when axios throws an error\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"Network error\"));\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpProxyDataSource: Failed to fetch delegate proxy\",\n ),\n );\n });\n\n it(\"should return Left with error when response data is undefined\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: undefined });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: No data received for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when response data is null\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: null });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: No data received for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when addresses field is missing\", async () => {\n // GIVEN\n const { addresses: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when signedDescriptor is missing\", async () => {\n // GIVEN\n const { signedDescriptor: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when addresses is not an array\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, addresses: \"not-an-array\" };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when addresses array contains non-string values\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, addresses: [123, \"valid-address\"] };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when signedDescriptor is not a string\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, signedDescriptor: 123 };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when addresses array is empty\", async () => {\n // GIVEN\n const invalidDto: ProxyDelegateCallDto = {\n addresses: [],\n signedDescriptor: \"signed-descriptor-data\",\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: No implementation address found for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when response is not an object\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: \"not an object\" });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpProxyDataSource: Invalid proxy delegate call response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should handle different chainId values correctly\", async () => {\n // GIVEN\n const paramsWithDifferentChainId = { ...validParams, chainId: 137 };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithDifferentChainId,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n url: `${config.metadataServiceDomain.url}/v2/ethereum/137/contract/proxy/delegate`,\n }),\n );\n });\n\n it(\"should handle different proxy addresses correctly\", async () => {\n // GIVEN\n const differentProxyAddress =\n \"0xabcdefabcdefabcdefabcdefabcdefabcdefabcd\";\n const paramsWithDifferentAddress = {\n ...validParams,\n proxyAddress: differentProxyAddress,\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithDifferentAddress,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n data: expect.objectContaining({\n proxy: differentProxyAddress,\n }),\n }),\n );\n });\n\n it(\"should handle different calldata values correctly\", async () => {\n // GIVEN\n const customCalldata = \"0x123456789abcdef\";\n const paramsWithCustomCalldata = {\n ...validParams,\n calldata: customCalldata,\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithCustomCalldata,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n data: expect.objectContaining({\n data: customCalldata,\n }),\n }),\n );\n });\n\n it(\"should pass challenge parameter correctly\", async () => {\n // GIVEN\n const customChallenge = \"custom-challenge-string\";\n const paramsWithCustomChallenge = {\n ...validParams,\n challenge: customChallenge,\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithCustomChallenge,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n data: expect.objectContaining({\n challenge: customChallenge,\n }),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "KeyId", "KeyUsage", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpProxyDataSource", "config", "datasource", "validParams", "validDto", "version", "requestSpy", "result", "dtoWithMultipleAddresses", "_", "invalidDto", "paramsWithDifferentChainId", "differentProxyAddress", "paramsWithDifferentAddress", "customCalldata", "paramsWithCustomCalldata", "customChallenge", "paramsWithCustomChallenge"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var y=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=(n,e,t,o)=>{for(var r=o>1?void 0:o?f(e,t):e,i=n.length-1,d;i>=0;i--)(d=n[i])&&(r=(o?d(e,t,r):d(r))||r);return o&&r&&y(e,t,r),r},a=(n,e)=>(t,o)=>e(t,o,n);import c from"axios";import{inject as x,injectable as g}from"inversify";import{Left as m,Right as A}from"purify-ts";import{configTypes as E}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as l,LEDGER_ORIGIN_TOKEN_HEADER as I}from"../../shared/constant/HttpHeaders";import D from"../../../package.json";let s=class{constructor(e){this.config=e}async getProxyImplementationAddress({proxyAddress:e,chainId:t,challenge:o}){let r;try{r=(await c.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v3/ethereum/${t}/contract/proxy/${e}`,headers:{[l]:`context-module/${D.version}`,[I]:this.config.originToken},params:{challenge:o,resolver:"SAFE_GATEWAY"}})).data}catch{return m(new Error("[ContextModule] HttpSafeProxyDataSource: Failed to fetch safe proxy implementation"))}return r?this.isSafeProxyImplementationAddressDto(r)?A({implementationAddress:r.implementationAddress,signedDescriptor:r.signedDescriptor,keyId:r.keyId,keyUsage:r.keyUsage}):m(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e} on chain ${t}`)):m(new Error(`[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${e} on chain ${t}`))}isSafeProxyImplementationAddressDto(e){return typeof e=="object"&&e!==null&&"proxyAddress"in e&&"implementationAddress"in e&&"standard"in e&&"signedDescriptor"in e&&"providedBy"in e&&"keyId"in e&&"keyUsage"in e&&typeof e.proxyAddress=="string"&&typeof e.implementationAddress=="string"&&typeof e.standard=="string"&&typeof e.signedDescriptor=="string"&&typeof e.providedBy=="string"&&typeof e.keyId=="string"&&typeof e.keyUsage=="string"}};s=p([g(),a(0,x(E.Config))],s);export{s as HttpSafeProxyDataSource};
2
+ //# sourceMappingURL=HttpSafeProxyDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/proxy/data/HttpSafeProxyDataSource.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { SafeProxyImplementationAddressDto } from \"./dto/SafeProxyImplementationAddressDto\";\nimport {\n GetProxyImplementationAddressParam,\n type ProxyDataSource,\n ProxyImplementationAddress,\n} from \"./ProxyDataSource\";\n\n@injectable()\nexport class HttpSafeProxyDataSource implements ProxyDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {}\n\n async getProxyImplementationAddress({\n proxyAddress,\n chainId,\n challenge,\n }: GetProxyImplementationAddressParam): Promise<\n Either<Error, ProxyImplementationAddress>\n > {\n let dto: SafeProxyImplementationAddressDto | undefined;\n try {\n const response = await axios.request<SafeProxyImplementationAddressDto>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v3/ethereum/${chainId}/contract/proxy/${proxyAddress}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n params: {\n challenge,\n resolver: \"SAFE_GATEWAY\",\n },\n });\n dto = response.data;\n } catch (_error) {\n return Left(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Failed to fetch safe proxy implementation`,\n ),\n );\n }\n\n if (!dto) {\n return Left(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${proxyAddress} on chain ${chainId}`,\n ),\n );\n }\n\n if (!this.isSafeProxyImplementationAddressDto(dto)) {\n return Left(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${proxyAddress} on chain ${chainId}`,\n ),\n );\n }\n\n return Right({\n implementationAddress: dto.implementationAddress,\n signedDescriptor: dto.signedDescriptor,\n keyId: dto.keyId,\n keyUsage: dto.keyUsage,\n });\n }\n\n /**\n * Type guard to validate SafeProxyImplementationAddressDto\n */\n private isSafeProxyImplementationAddressDto(\n value: unknown,\n ): value is SafeProxyImplementationAddressDto {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"proxyAddress\" in value &&\n \"implementationAddress\" in value &&\n \"standard\" in value &&\n \"signedDescriptor\" in value &&\n \"providedBy\" in value &&\n \"keyId\" in value &&\n \"keyUsage\" in value &&\n typeof value.proxyAddress === \"string\" &&\n typeof value.implementationAddress === \"string\" &&\n typeof value.standard === \"string\" &&\n typeof value.signedDescriptor === \"string\" &&\n typeof value.providedBy === \"string\" &&\n typeof value.keyId === \"string\" &&\n typeof value.keyUsage === \"string\"\n );\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,eAAAC,MAAmB,0BAE5B,OACE,gCAAAC,EACA,8BAAAC,MACK,gCACP,OAAOC,MAAa,qBAUb,IAAMC,EAAN,KAAyD,CAC9D,YAC+CC,EAC7C,CAD6C,YAAAA,CAC5C,CAEH,MAAM,8BAA8B,CAClC,aAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAEE,CACA,IAAIC,EACJ,GAAI,CAaFA,GAZiB,MAAMC,EAAM,QAA2C,CACtE,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,gBAAgBH,CAAO,mBAAmBD,CAAY,GACnG,QAAS,CACP,CAACK,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,EACA,OAAQ,CACN,UAAAL,EACA,SAAU,cACZ,CACF,CAAC,GACc,IACjB,MAAiB,CACf,OAAOM,EACL,IAAI,MACF,oFACF,CACF,CACF,CAEA,OAAKL,EAQA,KAAK,oCAAoCA,CAAG,EAQ1CM,EAAM,CACX,sBAAuBN,EAAI,sBAC3B,iBAAkBA,EAAI,iBACtB,MAAOA,EAAI,MACX,SAAUA,EAAI,QAChB,CAAC,EAZQK,EACL,IAAI,MACF,yFAAyFR,CAAY,aAAaC,CAAO,EAC3H,CACF,EAZOO,EACL,IAAI,MACF,uEAAuER,CAAY,aAAaC,CAAO,EACzG,CACF,CAiBJ,CAKQ,oCACNS,EAC4C,CAC5C,OACE,OAAOA,GAAU,UACjBA,IAAU,MACV,iBAAkBA,GAClB,0BAA2BA,GAC3B,aAAcA,GACd,qBAAsBA,GACtB,eAAgBA,GAChB,UAAWA,GACX,aAAcA,GACd,OAAOA,EAAM,cAAiB,UAC9B,OAAOA,EAAM,uBAA0B,UACvC,OAAOA,EAAM,UAAa,UAC1B,OAAOA,EAAM,kBAAqB,UAClC,OAAOA,EAAM,YAAe,UAC5B,OAAOA,EAAM,OAAU,UACvB,OAAOA,EAAM,UAAa,QAE9B,CACF,EApFaZ,EAANa,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBjB",
6
+ "names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpSafeProxyDataSource", "config", "proxyAddress", "chainId", "challenge", "dto", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "Left", "Right", "value", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import o from"axios";import{LEDGER_CLIENT_VERSION_HEADER as d,LEDGER_ORIGIN_TOKEN_HEADER as c}from"../../shared/constant/HttpHeaders";import l from"../../../package.json";import{HttpSafeProxyDataSource as p}from"./HttpSafeProxyDataSource";vi.mock("axios");const i={metadataServiceDomain:{url:"https://metadata.api.live.ledger.com"},originToken:"test-origin-token"};describe("HttpSafeProxyDataSource",()=>{let a;beforeAll(()=>{a=new p(i),vi.clearAllMocks()}),beforeEach(()=>{vi.clearAllMocks()});const e={proxyAddress:"0x1234567890123456789012345678901234567890",chainId:1,challenge:"test-challenge",calldata:"0xabcdef"},n={proxyAddress:"0x1234567890123456789012345678901234567890",implementationAddress:"0x9876543210987654321098765432109876543210",standard:"EIP-1967",signedDescriptor:"signed-descriptor-data",providedBy:"SAFE_GATEWAY",keyId:"testKeyId",keyUsage:"testKeyUsage"};describe("getProxyImplementationAddress",()=>{it("should call axios with correct URL, headers, and parameters",async()=>{const t=`context-module/${l.version}`,r=vi.fn(()=>Promise.resolve({data:n}));vi.spyOn(o,"request").mockImplementation(r),await a.getProxyImplementationAddress(e),expect(r).toHaveBeenCalledWith({method:"GET",url:`${i.metadataServiceDomain.url}/v3/ethereum/${e.chainId}/contract/proxy/${e.proxyAddress}`,headers:{[d]:t,[c]:i.originToken},params:{challenge:e.challenge,resolver:"SAFE_GATEWAY"}})}),it("should return Right with proxy implementation data when request succeeds with valid DTO",async()=>{vi.spyOn(o,"request").mockResolvedValue({data:n});const t=await a.getProxyImplementationAddress(e);expect(t.isRight()).toBe(!0),expect(t.extract()).toEqual({implementationAddress:n.implementationAddress,signedDescriptor:n.signedDescriptor,keyId:"testKeyId",keyUsage:"testKeyUsage"})}),it("should return Left with error when axios throws an error",async()=>{vi.spyOn(o,"request").mockRejectedValue(new Error("Network error"));const t=await a.getProxyImplementationAddress(e);expect(t.isLeft()).toBe(!0),expect(t.extract()).toEqual(new Error("[ContextModule] HttpSafeProxyDataSource: Failed to fetch safe proxy implementation"))}),it("should return Left with error when response data is undefined",async()=>{vi.spyOn(o,"request").mockResolvedValue({data:void 0});const t=await a.getProxyImplementationAddress(e);expect(t.isLeft()).toBe(!0),expect(t.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when response data is null",async()=>{vi.spyOn(o,"request").mockResolvedValue({data:null});const t=await a.getProxyImplementationAddress(e);expect(t.isLeft()).toBe(!0),expect(t.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when proxyAddress is missing",async()=>{const{proxyAddress:t,...r}=n;vi.spyOn(o,"request").mockResolvedValue({data:r});const s=await a.getProxyImplementationAddress(e);expect(s.isLeft()).toBe(!0),expect(s.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when implementationAddress is missing",async()=>{const{implementationAddress:t,...r}=n;vi.spyOn(o,"request").mockResolvedValue({data:r});const s=await a.getProxyImplementationAddress(e);expect(s.isLeft()).toBe(!0),expect(s.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when standard is missing",async()=>{const{standard:t,...r}=n;vi.spyOn(o,"request").mockResolvedValue({data:r});const s=await a.getProxyImplementationAddress(e);expect(s.isLeft()).toBe(!0),expect(s.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when signedDescriptor is missing",async()=>{const{signedDescriptor:t,...r}=n;vi.spyOn(o,"request").mockResolvedValue({data:r});const s=await a.getProxyImplementationAddress(e);expect(s.isLeft()).toBe(!0),expect(s.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when providedBy is missing",async()=>{const{providedBy:t,...r}=n;vi.spyOn(o,"request").mockResolvedValue({data:r});const s=await a.getProxyImplementationAddress(e);expect(s.isLeft()).toBe(!0),expect(s.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when proxyAddress is not a string",async()=>{const t={...n,proxyAddress:123};vi.spyOn(o,"request").mockResolvedValue({data:t});const r=await a.getProxyImplementationAddress(e);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when implementationAddress is not a string",async()=>{const t={...n,implementationAddress:null};vi.spyOn(o,"request").mockResolvedValue({data:t});const r=await a.getProxyImplementationAddress(e);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when standard is not a string",async()=>{const t={...n,standard:[]};vi.spyOn(o,"request").mockResolvedValue({data:t});const r=await a.getProxyImplementationAddress(e);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when signedDescriptor is not a string",async()=>{const t={...n,signedDescriptor:{}};vi.spyOn(o,"request").mockResolvedValue({data:t});const r=await a.getProxyImplementationAddress(e);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when providedBy is not a string",async()=>{const t={...n,providedBy:!0};vi.spyOn(o,"request").mockResolvedValue({data:t});const r=await a.getProxyImplementationAddress(e);expect(r.isLeft()).toBe(!0),expect(r.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when response is not an object",async()=>{vi.spyOn(o,"request").mockResolvedValue({data:"not an object"});const t=await a.getProxyImplementationAddress(e);expect(t.isLeft()).toBe(!0),expect(t.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should return Left with error when response is null",async()=>{vi.spyOn(o,"request").mockResolvedValue({data:null});const t=await a.getProxyImplementationAddress(e);expect(t.isLeft()).toBe(!0),expect(t.extract()).toEqual(new Error(`[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${e.proxyAddress} on chain ${e.chainId}`))}),it("should handle different chainId values correctly",async()=>{const t={...e,chainId:137};vi.spyOn(o,"request").mockResolvedValue({data:n});const r=await a.getProxyImplementationAddress(t);expect(r.isRight()).toBe(!0),expect(o.request).toHaveBeenCalledWith(expect.objectContaining({url:`${i.metadataServiceDomain.url}/v3/ethereum/137/contract/proxy/${e.proxyAddress}`}))}),it("should handle different proxy addresses correctly",async()=>{const t="0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",r={...e,proxyAddress:t};vi.spyOn(o,"request").mockResolvedValue({data:n});const s=await a.getProxyImplementationAddress(r);expect(s.isRight()).toBe(!0),expect(o.request).toHaveBeenCalledWith(expect.objectContaining({url:`${i.metadataServiceDomain.url}/v3/ethereum/${e.chainId}/contract/proxy/${t}`}))}),it("should pass challenge parameter correctly",async()=>{const t="custom-challenge-string",r={...e,challenge:t};vi.spyOn(o,"request").mockResolvedValue({data:n});const s=await a.getProxyImplementationAddress(r);expect(s.isRight()).toBe(!0),expect(o.request).toHaveBeenCalledWith(expect.objectContaining({params:{challenge:t,resolver:"SAFE_GATEWAY"}}))})})});
2
+ //# sourceMappingURL=HttpSafeProxyDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/proxy/data/HttpSafeProxyDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { type SafeProxyImplementationAddressDto } from \"./dto/SafeProxyImplementationAddressDto\";\nimport { HttpSafeProxyDataSource } from \"./HttpSafeProxyDataSource\";\nimport { type ProxyDataSource } from \"./ProxyDataSource\";\n\nvi.mock(\"axios\");\n\nconst config = {\n metadataServiceDomain: {\n url: \"https://metadata.api.live.ledger.com\",\n },\n originToken: \"test-origin-token\",\n} as ContextModuleConfig;\n\ndescribe(\"HttpSafeProxyDataSource\", () => {\n let datasource: ProxyDataSource;\n\n beforeAll(() => {\n datasource = new HttpSafeProxyDataSource(config);\n vi.clearAllMocks();\n });\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n const validParams = {\n proxyAddress: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n challenge: \"test-challenge\",\n calldata: \"0xabcdef\",\n };\n\n const validDto: SafeProxyImplementationAddressDto = {\n proxyAddress: \"0x1234567890123456789012345678901234567890\",\n implementationAddress: \"0x9876543210987654321098765432109876543210\",\n standard: \"EIP-1967\",\n signedDescriptor: \"signed-descriptor-data\",\n providedBy: \"SAFE_GATEWAY\",\n keyId: \"testKeyId\",\n keyUsage: \"testKeyUsage\",\n };\n\n describe(\"getProxyImplementationAddress\", () => {\n it(\"should call axios with correct URL, headers, and parameters\", async () => {\n // GIVEN\n const version = `context-module/${PACKAGE.version}`;\n const requestSpy = vi.fn(() => Promise.resolve({ data: validDto }));\n vi.spyOn(axios, \"request\").mockImplementation(requestSpy);\n\n // WHEN\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(requestSpy).toHaveBeenCalledWith({\n method: \"GET\",\n url: `${config.metadataServiceDomain.url}/v3/ethereum/${validParams.chainId}/contract/proxy/${validParams.proxyAddress}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: version,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n params: {\n challenge: validParams.challenge,\n resolver: \"SAFE_GATEWAY\",\n },\n });\n });\n\n it(\"should return Right with proxy implementation data when request succeeds with valid DTO\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toEqual({\n implementationAddress: validDto.implementationAddress,\n signedDescriptor: validDto.signedDescriptor,\n keyId: \"testKeyId\",\n keyUsage: \"testKeyUsage\",\n });\n });\n\n it(\"should return Left with error when axios throws an error\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"Network error\"));\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpSafeProxyDataSource: Failed to fetch safe proxy implementation\",\n ),\n );\n });\n\n it(\"should return Left with error when response data is undefined\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: undefined });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when response data is null\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: null });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when proxyAddress is missing\", async () => {\n // GIVEN\n const { proxyAddress: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when implementationAddress is missing\", async () => {\n // GIVEN\n const { implementationAddress: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when standard is missing\", async () => {\n // GIVEN\n const { standard: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when signedDescriptor is missing\", async () => {\n // GIVEN\n const { signedDescriptor: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when providedBy is missing\", async () => {\n // GIVEN\n const { providedBy: _, ...invalidDto } = validDto;\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when proxyAddress is not a string\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, proxyAddress: 123 };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when implementationAddress is not a string\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, implementationAddress: null };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when standard is not a string\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, standard: [] };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when signedDescriptor is not a string\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, signedDescriptor: {} };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when providedBy is not a string\", async () => {\n // GIVEN\n const invalidDto = { ...validDto, providedBy: true };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: invalidDto });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when response is not an object\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: \"not an object\" });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: Invalid safe proxy response format for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should return Left with error when response is null\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: null });\n\n // WHEN\n const result =\n await datasource.getProxyImplementationAddress(validParams);\n\n // THEN\n expect(result.isLeft()).toBe(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpSafeProxyDataSource: No data received for proxy ${validParams.proxyAddress} on chain ${validParams.chainId}`,\n ),\n );\n });\n\n it(\"should handle different chainId values correctly\", async () => {\n // GIVEN\n const paramsWithDifferentChainId = { ...validParams, chainId: 137 };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithDifferentChainId,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n url: `${config.metadataServiceDomain.url}/v3/ethereum/137/contract/proxy/${validParams.proxyAddress}`,\n }),\n );\n });\n\n it(\"should handle different proxy addresses correctly\", async () => {\n // GIVEN\n const differentProxyAddress =\n \"0xabcdefabcdefabcdefabcdefabcdefabcdefabcd\";\n const paramsWithDifferentAddress = {\n ...validParams,\n proxyAddress: differentProxyAddress,\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithDifferentAddress,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n url: `${config.metadataServiceDomain.url}/v3/ethereum/${validParams.chainId}/contract/proxy/${differentProxyAddress}`,\n }),\n );\n });\n\n it(\"should pass challenge parameter correctly\", async () => {\n // GIVEN\n const customChallenge = \"custom-challenge-string\";\n const paramsWithCustomChallenge = {\n ...validParams,\n challenge: customChallenge,\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: validDto });\n\n // WHEN\n const result = await datasource.getProxyImplementationAddress(\n paramsWithCustomChallenge,\n );\n\n // THEN\n expect(result.isRight()).toBe(true);\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n params: {\n challenge: customChallenge,\n resolver: \"SAFE_GATEWAY\",\n },\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpSafeProxyDataSource", "config", "datasource", "validParams", "validDto", "version", "requestSpy", "result", "_", "invalidDto", "paramsWithDifferentChainId", "differentProxyAddress", "paramsWithDifferentAddress", "customChallenge", "paramsWithCustomChallenge"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ProxyDataSource.js.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ProxyDelegateCallDto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ProxyImplementationAddressDto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=SafeProxyImplementationAddressDto.js.map