@ledgerhq/context-module 0.0.0-transactionInspector-resolutionObj-20250916153045 → 0.0.0-trusted-names-native-transfer-1-20260121120757

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 (830) hide show
  1. package/lib/cjs/package.json +38 -34
  2. package/lib/cjs/src/ContextModule.js +1 -1
  3. package/lib/cjs/src/ContextModule.js.map +1 -1
  4. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  6. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  7. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  8. package/lib/cjs/src/DefaultContextModule.js +1 -1
  9. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  10. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  11. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  12. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
  13. package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
  14. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  15. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  16. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  17. package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  18. package/lib/cjs/src/calldata/data/dto/CalldataDto.js +2 -0
  19. package/lib/cjs/src/calldata/data/dto/CalldataDto.js.map +7 -0
  20. package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
  21. package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
  22. package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
  23. package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
  24. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
  25. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  26. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  27. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  28. package/lib/cjs/src/config/di/configTypes.js +1 -1
  29. package/lib/cjs/src/config/di/configTypes.js.map +2 -2
  30. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js +1 -1
  31. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +1 -1
  32. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  33. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  34. package/lib/cjs/src/di.js +1 -1
  35. package/lib/cjs/src/di.js.map +3 -3
  36. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +1 -1
  37. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +3 -3
  38. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  39. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +3 -3
  40. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  41. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  42. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  43. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  44. package/lib/cjs/src/index.js +1 -1
  45. package/lib/cjs/src/index.js.map +2 -2
  46. package/lib/cjs/src/nft/di/nftModuleFactory.js +1 -1
  47. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +3 -3
  48. package/lib/cjs/src/nft/di/nftTypes.js +1 -1
  49. package/lib/cjs/src/nft/di/nftTypes.js.map +2 -2
  50. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +2 -0
  51. package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  52. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  53. package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  54. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  55. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  56. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  57. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  58. package/lib/cjs/src/pki/model/KeyUsage.js +1 -1
  59. package/lib/cjs/src/pki/model/KeyUsage.js.map +2 -2
  60. package/lib/cjs/src/pki/model/PkiCertificateInfo.js +1 -1
  61. package/lib/cjs/src/pki/model/PkiCertificateInfo.js.map +1 -1
  62. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +2 -0
  63. package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  64. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  65. package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  66. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  67. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  68. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  69. package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  70. package/lib/cjs/src/proxy/data/ProxyDataSource.js +2 -0
  71. package/lib/cjs/src/proxy/data/ProxyDataSource.js.map +7 -0
  72. package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js.map +1 -1
  73. package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js.map +1 -1
  74. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +2 -0
  75. package/lib/cjs/src/proxy/data/dto/SafeProxyImplementationAddressDto.js.map +7 -0
  76. package/lib/cjs/src/proxy/di/proxyModuleFactory.js +2 -0
  77. package/lib/cjs/src/proxy/di/proxyModuleFactory.js.map +7 -0
  78. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +2 -0
  79. package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  80. package/lib/cjs/src/proxy/di/proxyTypes.js +2 -0
  81. package/lib/cjs/src/proxy/di/proxyTypes.js.map +7 -0
  82. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  83. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  84. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  85. package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  86. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js +2 -0
  87. package/lib/cjs/src/proxy/model/ProxyDelegateCall.js.map +7 -0
  88. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  89. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  90. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  91. package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  92. package/lib/cjs/src/safe/data/SafeAccountDataSource.js +2 -0
  93. package/lib/cjs/src/safe/data/SafeAccountDataSource.js.map +7 -0
  94. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js +2 -0
  95. package/lib/cjs/src/safe/data/dto/SafeAccountDto.js.map +7 -0
  96. package/lib/cjs/src/safe/di/safeModuleFactory.js +2 -0
  97. package/lib/cjs/src/safe/di/safeModuleFactory.js.map +7 -0
  98. package/lib/cjs/src/safe/di/safeModuleFactory.test.js +2 -0
  99. package/lib/cjs/src/safe/di/safeModuleFactory.test.js.map +7 -0
  100. package/lib/cjs/src/safe/di/safeTypes.js +2 -0
  101. package/lib/cjs/src/safe/di/safeTypes.js.map +7 -0
  102. package/lib/cjs/src/safe/domain/SafeAddressLoader.js +2 -0
  103. package/lib/cjs/src/safe/domain/SafeAddressLoader.js.map +7 -0
  104. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js +2 -0
  105. package/lib/cjs/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  106. package/lib/cjs/src/shared/domain/ContextFieldLoader.js +2 -0
  107. package/lib/cjs/src/shared/domain/ContextFieldLoader.js.map +7 -0
  108. package/lib/cjs/src/shared/domain/ContextLoader.js +1 -1
  109. package/lib/cjs/src/shared/domain/ContextLoader.js.map +1 -1
  110. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  111. package/lib/cjs/src/shared/model/ClearSignContext.js.map +3 -3
  112. package/lib/cjs/src/shared/model/SolanaContextTypes.js +2 -0
  113. package/lib/cjs/src/shared/model/SolanaContextTypes.js.map +7 -0
  114. package/lib/cjs/src/shared/model/SolanaTransactionContext.js +1 -1
  115. package/lib/cjs/src/shared/model/SolanaTransactionContext.js.map +1 -1
  116. package/lib/cjs/src/shared/model/TransactionSubset.js +1 -1
  117. package/lib/cjs/src/shared/model/TransactionSubset.js.map +1 -1
  118. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +1 -1
  119. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  120. package/lib/cjs/src/shared/model/TypedDataContext.js +1 -1
  121. package/lib/cjs/src/shared/model/TypedDataContext.js.map +1 -1
  122. package/lib/cjs/src/shared/utils/KeyUsageMapper.js +1 -1
  123. package/lib/cjs/src/shared/utils/KeyUsageMapper.js.map +2 -2
  124. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js +1 -1
  125. package/lib/cjs/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  126. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.js +2 -0
  127. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.js.map +7 -0
  128. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.test.js +2 -0
  129. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.test.js.map +7 -0
  130. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js +1 -1
  131. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +3 -3
  132. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +1 -1
  133. package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +2 -2
  134. package/lib/cjs/src/solana/data/SolanaDataSource.js +1 -1
  135. package/lib/cjs/src/solana/data/SolanaDataSource.js.map +1 -1
  136. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js +1 -1
  137. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +3 -3
  138. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +1 -1
  139. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +3 -3
  140. package/lib/cjs/src/solana/domain/solanaContextTypes.js +1 -1
  141. package/lib/cjs/src/solana/domain/solanaContextTypes.js.map +1 -1
  142. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  143. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  144. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  145. package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  146. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js +2 -0
  147. package/lib/cjs/src/solanaLifi/data/SolanaLifiDataSource.js.map +7 -0
  148. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  149. package/lib/cjs/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  150. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  151. package/lib/cjs/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  152. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  153. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  154. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  155. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  156. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  157. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  158. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  159. package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  160. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js +2 -0
  161. package/lib/cjs/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  162. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js +2 -0
  163. package/lib/cjs/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  164. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js +2 -0
  165. package/lib/cjs/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  166. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  167. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  168. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  169. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  170. package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
  171. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +2 -2
  172. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
  173. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +2 -2
  174. package/lib/cjs/src/token/di/tokenModuleFactory.js +1 -1
  175. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +3 -3
  176. package/lib/cjs/src/token/di/tokenTypes.js +1 -1
  177. package/lib/cjs/src/token/di/tokenTypes.js.map +2 -2
  178. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +2 -0
  179. package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  180. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  181. package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  182. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  183. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  184. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  185. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  186. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  187. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  188. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  189. package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  190. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  191. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  192. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  193. package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  194. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js +2 -0
  195. package/lib/cjs/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  196. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js +2 -0
  197. package/lib/cjs/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  198. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js +2 -0
  199. package/lib/cjs/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  200. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js +2 -0
  201. package/lib/cjs/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  202. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  203. package/lib/cjs/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  204. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js +2 -0
  205. package/lib/cjs/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  206. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  207. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  208. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  209. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  210. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  211. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  212. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  213. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  214. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  215. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  216. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  217. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +2 -2
  218. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +1 -1
  219. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +1 -1
  220. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +1 -1
  221. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +1 -1
  222. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  223. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  224. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +1 -1
  225. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  226. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  227. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  228. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  229. package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  230. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  231. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  232. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  233. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  234. package/lib/cjs/src/typed-data/data/FiltersDto.js +1 -1
  235. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +1 -1
  236. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  237. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  238. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  239. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  240. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +1 -1
  241. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +1 -1
  242. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  243. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  244. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  245. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  246. package/lib/cjs/src/uniswap/constants/uniswap.js +1 -1
  247. package/lib/cjs/src/uniswap/constants/uniswap.js.map +3 -3
  248. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +1 -1
  249. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  250. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  251. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  252. package/lib/esm/package.json +38 -34
  253. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  254. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  255. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  256. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  257. package/lib/esm/src/DefaultContextModule.js +1 -1
  258. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  259. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  260. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  261. package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
  262. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
  263. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
  264. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
  265. package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
  266. package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
  267. package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
  268. package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
  269. package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
  270. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
  271. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
  272. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
  273. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
  274. package/lib/esm/src/config/di/configTypes.js +1 -1
  275. package/lib/esm/src/config/di/configTypes.js.map +2 -2
  276. package/lib/esm/src/di.js +1 -1
  277. package/lib/esm/src/di.js.map +3 -3
  278. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +1 -1
  279. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +3 -3
  280. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  281. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +3 -3
  282. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  283. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  284. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  285. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  286. package/lib/esm/src/index.js +1 -1
  287. package/lib/esm/src/index.js.map +2 -2
  288. package/lib/esm/src/nft/di/nftModuleFactory.js +1 -1
  289. package/lib/esm/src/nft/di/nftModuleFactory.js.map +3 -3
  290. package/lib/esm/src/nft/di/nftTypes.js +1 -1
  291. package/lib/esm/src/nft/di/nftTypes.js.map +2 -2
  292. package/lib/esm/src/nft/domain/NftContextFieldLoader.js +2 -0
  293. package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +7 -0
  294. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +2 -0
  295. package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +7 -0
  296. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  297. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  298. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  299. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  300. package/lib/esm/src/pki/model/KeyUsage.js +1 -1
  301. package/lib/esm/src/pki/model/KeyUsage.js.map +2 -2
  302. package/lib/esm/src/proxy/data/HttpProxyDataSource.js +2 -0
  303. package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +7 -0
  304. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +2 -0
  305. package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +7 -0
  306. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +2 -0
  307. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +7 -0
  308. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +2 -0
  309. package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +7 -0
  310. package/lib/esm/src/proxy/data/ProxyDataSource.js +1 -0
  311. package/lib/esm/src/proxy/data/dto/SafeProxyImplementationAddressDto.js +1 -0
  312. package/lib/esm/src/proxy/di/proxyModuleFactory.js +2 -0
  313. package/lib/esm/src/proxy/di/proxyModuleFactory.js.map +7 -0
  314. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +2 -0
  315. package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +7 -0
  316. package/lib/esm/src/proxy/di/proxyTypes.js +2 -0
  317. package/lib/esm/src/proxy/di/proxyTypes.js.map +7 -0
  318. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +2 -0
  319. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +7 -0
  320. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +2 -0
  321. package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +7 -0
  322. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +2 -0
  323. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +7 -0
  324. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +2 -0
  325. package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +7 -0
  326. package/lib/esm/src/safe/data/SafeAccountDataSource.js +1 -0
  327. package/lib/esm/src/safe/data/dto/SafeAccountDto.js +1 -0
  328. package/lib/esm/src/safe/di/safeModuleFactory.js +2 -0
  329. package/lib/esm/src/safe/di/safeModuleFactory.js.map +7 -0
  330. package/lib/esm/src/safe/di/safeModuleFactory.test.js +2 -0
  331. package/lib/esm/src/safe/di/safeModuleFactory.test.js.map +7 -0
  332. package/lib/esm/src/safe/di/safeTypes.js +2 -0
  333. package/lib/esm/src/safe/di/safeTypes.js.map +7 -0
  334. package/lib/esm/src/safe/domain/SafeAddressLoader.js +2 -0
  335. package/lib/esm/src/safe/domain/SafeAddressLoader.js.map +7 -0
  336. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js +2 -0
  337. package/lib/esm/src/safe/domain/SafeAddressLoader.test.js.map +7 -0
  338. package/lib/esm/src/shared/domain/ContextFieldLoader.js +1 -0
  339. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  340. package/lib/esm/src/shared/model/ClearSignContext.js.map +3 -3
  341. package/lib/esm/src/shared/model/SolanaContextTypes.js +2 -0
  342. package/lib/esm/src/shared/model/SolanaContextTypes.js.map +7 -0
  343. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +1 -1
  344. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +3 -3
  345. package/lib/esm/src/shared/utils/KeyUsageMapper.js +1 -1
  346. package/lib/esm/src/shared/utils/KeyUsageMapper.js.map +2 -2
  347. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js +1 -1
  348. package/lib/esm/src/shared/utils/KeyUsageMapper.test.js.map +2 -2
  349. package/lib/esm/src/shared/utils/NullLoggerPublisherService.js +2 -0
  350. package/lib/esm/src/shared/utils/NullLoggerPublisherService.js.map +7 -0
  351. package/lib/esm/src/shared/utils/NullLoggerPublisherService.test.js +2 -0
  352. package/lib/esm/src/shared/utils/NullLoggerPublisherService.test.js.map +7 -0
  353. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js +1 -1
  354. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +3 -3
  355. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +1 -1
  356. package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +2 -2
  357. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js +1 -1
  358. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +3 -3
  359. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +1 -1
  360. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +3 -3
  361. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js +2 -0
  362. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +7 -0
  363. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +2 -0
  364. package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +7 -0
  365. package/lib/esm/src/solanaLifi/data/SolanaLifiDataSource.js +1 -0
  366. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js +2 -0
  367. package/lib/esm/src/solanaLifi/di/lifiModuleFactory.js.map +7 -0
  368. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js +2 -0
  369. package/lib/esm/src/solanaLifi/di/solanaLifiTypes.js.map +7 -0
  370. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js +2 -0
  371. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.js.map +7 -0
  372. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +2 -0
  373. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +7 -0
  374. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js +2 -0
  375. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +7 -0
  376. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +7 -0
  377. package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +7 -0
  378. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js +1 -0
  379. package/lib/esm/src/solanaToken/data/SolanaTokenDataSource.js.map +7 -0
  380. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js +2 -0
  381. package/lib/esm/src/solanaToken/di/solanaTokenTypes.js.map +7 -0
  382. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js +2 -0
  383. package/lib/esm/src/solanaToken/di/tokenModuleFactory.js.map +7 -0
  384. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js +2 -0
  385. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.js.map +7 -0
  386. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js +2 -0
  387. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +7 -0
  388. package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
  389. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +2 -2
  390. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
  391. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +2 -2
  392. package/lib/esm/src/token/di/tokenModuleFactory.js +1 -1
  393. package/lib/esm/src/token/di/tokenModuleFactory.js.map +3 -3
  394. package/lib/esm/src/token/di/tokenTypes.js +1 -1
  395. package/lib/esm/src/token/di/tokenTypes.js.map +2 -2
  396. package/lib/esm/src/token/domain/TokenContextFieldLoader.js +2 -0
  397. package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +7 -0
  398. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +2 -0
  399. package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +7 -0
  400. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  401. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  402. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  403. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  404. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +2 -0
  405. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +7 -0
  406. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +2 -0
  407. package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +7 -0
  408. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +2 -0
  409. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +7 -0
  410. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +2 -0
  411. package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +7 -0
  412. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js +1 -0
  413. package/lib/esm/src/transaction-check/data/TransactionCheckDataSource.js.map +7 -0
  414. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js +1 -0
  415. package/lib/esm/src/transaction-check/data/TypedDataCheckDataSource.js.map +7 -0
  416. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js +1 -0
  417. package/lib/esm/src/transaction-check/data/dto/TransactionCheckDto.js.map +7 -0
  418. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js +1 -0
  419. package/lib/esm/src/transaction-check/data/dto/TypedDataCheckDto.js.map +7 -0
  420. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js +2 -0
  421. package/lib/esm/src/transaction-check/di/transactionCheckModuleFactory.js.map +7 -0
  422. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js +2 -0
  423. package/lib/esm/src/transaction-check/di/transactionCheckTypes.js.map +7 -0
  424. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +2 -0
  425. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +7 -0
  426. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +2 -0
  427. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +7 -0
  428. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +2 -0
  429. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +7 -0
  430. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +2 -0
  431. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +7 -0
  432. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
  433. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
  434. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
  435. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +2 -2
  436. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  437. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  438. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +1 -1
  439. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +2 -2
  440. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +2 -0
  441. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +7 -0
  442. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +2 -0
  443. package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js.map +7 -0
  444. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  445. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  446. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  447. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  448. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
  449. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
  450. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
  451. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
  452. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  453. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  454. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  455. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  456. package/lib/esm/src/uniswap/constants/uniswap.js +1 -1
  457. package/lib/esm/src/uniswap/constants/uniswap.js.map +3 -3
  458. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +1 -1
  459. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  460. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  461. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  462. package/lib/types/src/ContextModule.d.ts +3 -6
  463. package/lib/types/src/ContextModule.d.ts.map +1 -1
  464. package/lib/types/src/ContextModuleBuilder.d.ts +25 -11
  465. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  466. package/lib/types/src/DefaultContextModule.d.ts +5 -8
  467. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  468. package/lib/types/src/{transaction/data/TransactionDataSource.d.ts → calldata/data/CalldataDescriptorDataSource.d.ts} +4 -4
  469. package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
  470. package/lib/types/src/{transaction/data/HttpTransactionDataSource.d.ts → calldata/data/HttpCalldataDescriptorDataSource.d.ts} +6 -5
  471. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
  472. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
  473. package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
  474. package/lib/types/src/{transaction → calldata}/data/dto/CalldataDto.d.ts +10 -1
  475. package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
  476. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
  477. package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
  478. package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
  479. package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
  480. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +24 -0
  481. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
  482. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
  483. package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
  484. package/lib/types/src/config/di/configTypes.d.ts +1 -0
  485. package/lib/types/src/config/di/configTypes.d.ts.map +1 -1
  486. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +2 -0
  487. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -1
  488. package/lib/types/src/config/model/ContextModuleConfig.d.ts +11 -2
  489. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  490. package/lib/types/src/di.d.ts.map +1 -1
  491. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +11 -6
  492. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -1
  493. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +21 -5
  494. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  495. package/lib/types/src/index.d.ts +39 -3
  496. package/lib/types/src/index.d.ts.map +1 -1
  497. package/lib/types/src/nft/di/nftModuleFactory.d.ts.map +1 -1
  498. package/lib/types/src/nft/di/nftTypes.d.ts +1 -0
  499. package/lib/types/src/nft/di/nftTypes.d.ts.map +1 -1
  500. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +15 -0
  501. package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -0
  502. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts +2 -0
  503. package/lib/types/src/nft/domain/NftContextFieldLoader.test.d.ts.map +1 -0
  504. package/lib/types/src/nft/domain/NftContextLoader.d.ts +12 -6
  505. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  506. package/lib/types/src/pki/model/KeyUsage.d.ts +2 -1
  507. package/lib/types/src/pki/model/KeyUsage.d.ts.map +1 -1
  508. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts +1 -2
  509. package/lib/types/src/pki/model/PkiCertificateInfo.d.ts.map +1 -1
  510. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +13 -0
  511. package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -0
  512. package/lib/types/src/proxy/data/HttpProxyDataSource.test.d.ts.map +1 -0
  513. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +13 -0
  514. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -0
  515. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts +2 -0
  516. package/lib/types/src/proxy/data/HttpSafeProxyDataSource.test.d.ts.map +1 -0
  517. package/lib/types/src/proxy/data/ProxyDataSource.d.ts +17 -0
  518. package/lib/types/src/proxy/data/ProxyDataSource.d.ts.map +1 -0
  519. package/lib/types/src/proxy/data/dto/ProxyDelegateCallDto.d.ts.map +1 -0
  520. package/lib/types/src/proxy/data/dto/ProxyImplementationAddressDto.d.ts.map +1 -0
  521. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts +10 -0
  522. package/lib/types/src/proxy/data/dto/SafeProxyImplementationAddressDto.d.ts.map +1 -0
  523. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts +4 -0
  524. package/lib/types/src/proxy/di/proxyModuleFactory.d.ts.map +1 -0
  525. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts +2 -0
  526. package/lib/types/src/proxy/di/proxyModuleFactory.test.d.ts.map +1 -0
  527. package/lib/types/src/proxy/di/proxyTypes.d.ts +5 -0
  528. package/lib/types/src/proxy/di/proxyTypes.d.ts.map +1 -0
  529. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +21 -0
  530. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -0
  531. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts +2 -0
  532. package/lib/types/src/proxy/domain/ProxyContextFieldLoader.test.d.ts.map +1 -0
  533. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts +7 -0
  534. package/lib/types/src/proxy/model/ProxyDelegateCall.d.ts.map +1 -0
  535. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +11 -0
  536. package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -0
  537. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts +2 -0
  538. package/lib/types/src/safe/data/HttpSafeAccountDataSource.test.d.ts.map +1 -0
  539. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts +20 -0
  540. package/lib/types/src/safe/data/SafeAccountDataSource.d.ts.map +1 -0
  541. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts +10 -0
  542. package/lib/types/src/safe/data/dto/SafeAccountDto.d.ts.map +1 -0
  543. package/lib/types/src/safe/di/safeModuleFactory.d.ts +3 -0
  544. package/lib/types/src/safe/di/safeModuleFactory.d.ts.map +1 -0
  545. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts +2 -0
  546. package/lib/types/src/safe/di/safeModuleFactory.test.d.ts.map +1 -0
  547. package/lib/types/src/safe/di/safeTypes.d.ts +5 -0
  548. package/lib/types/src/safe/di/safeTypes.d.ts.map +1 -0
  549. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts +19 -0
  550. package/lib/types/src/safe/domain/SafeAddressLoader.d.ts.map +1 -0
  551. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts +2 -0
  552. package/lib/types/src/safe/domain/SafeAddressLoader.test.d.ts.map +1 -0
  553. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +25 -0
  554. package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -0
  555. package/lib/types/src/shared/domain/ContextLoader.d.ts +13 -5
  556. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -1
  557. package/lib/types/src/shared/model/ClearSignContext.d.ts +74 -27
  558. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  559. package/lib/types/src/shared/model/SolanaContextTypes.d.ts +47 -0
  560. package/lib/types/src/shared/model/SolanaContextTypes.d.ts.map +1 -0
  561. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts +2 -0
  562. package/lib/types/src/shared/model/SolanaTransactionContext.d.ts.map +1 -1
  563. package/lib/types/src/shared/model/TransactionSubset.d.ts +1 -0
  564. package/lib/types/src/shared/model/TransactionSubset.d.ts.map +1 -1
  565. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +35 -1
  566. package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
  567. package/lib/types/src/shared/model/TypedDataContext.d.ts +3 -0
  568. package/lib/types/src/shared/model/TypedDataContext.d.ts.map +1 -1
  569. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts +1 -2
  570. package/lib/types/src/shared/utils/KeyUsageMapper.d.ts.map +1 -1
  571. package/lib/types/src/shared/utils/NullLoggerPublisherService.d.ts +3 -0
  572. package/lib/types/src/shared/utils/NullLoggerPublisherService.d.ts.map +1 -0
  573. package/lib/types/src/shared/utils/NullLoggerPublisherService.test.d.ts +2 -0
  574. package/lib/types/src/shared/utils/NullLoggerPublisherService.test.d.ts.map +1 -0
  575. package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -1
  576. package/lib/types/src/solana/data/SolanaDataSource.d.ts +1 -4
  577. package/lib/types/src/solana/data/SolanaDataSource.d.ts.map +1 -1
  578. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts +7 -3
  579. package/lib/types/src/solana/domain/DefaultSolanaContextLoader.d.ts.map +1 -1
  580. package/lib/types/src/solana/domain/solanaContextTypes.d.ts +7 -5
  581. package/lib/types/src/solana/domain/solanaContextTypes.d.ts.map +1 -1
  582. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts +9 -0
  583. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts.map +1 -0
  584. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts +2 -0
  585. package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.test.d.ts.map +1 -0
  586. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts +13 -0
  587. package/lib/types/src/solanaLifi/data/SolanaLifiDataSource.d.ts.map +1 -0
  588. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts +3 -0
  589. package/lib/types/src/solanaLifi/di/lifiModuleFactory.d.ts.map +1 -0
  590. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts +5 -0
  591. package/lib/types/src/solanaLifi/di/solanaLifiTypes.d.ts.map +1 -0
  592. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts +18 -0
  593. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.d.ts.map +1 -0
  594. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts +2 -0
  595. package/lib/types/src/solanaLifi/domain/SolanaLifiContextLoader.test.d.ts.map +1 -0
  596. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts +9 -0
  597. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts.map +1 -0
  598. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts +2 -0
  599. package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.test.d.ts.map +1 -0
  600. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts +44 -0
  601. package/lib/types/src/solanaToken/data/SolanaTokenDataSource.d.ts.map +1 -0
  602. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts +5 -0
  603. package/lib/types/src/solanaToken/di/solanaTokenTypes.d.ts.map +1 -0
  604. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts +3 -0
  605. package/lib/types/src/solanaToken/di/tokenModuleFactory.d.ts.map +1 -0
  606. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts +23 -0
  607. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.d.ts.map +1 -0
  608. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts +2 -0
  609. package/lib/types/src/solanaToken/domain/SolanaTokenContextLoader.test.d.ts.map +1 -0
  610. package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  611. package/lib/types/src/token/di/tokenModuleFactory.d.ts.map +1 -1
  612. package/lib/types/src/token/di/tokenTypes.d.ts +1 -0
  613. package/lib/types/src/token/di/tokenTypes.d.ts.map +1 -1
  614. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +18 -0
  615. package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -0
  616. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts +2 -0
  617. package/lib/types/src/token/domain/TokenContextFieldLoader.test.d.ts.map +1 -0
  618. package/lib/types/src/token/domain/TokenContextLoader.d.ts +12 -6
  619. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  620. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +10 -0
  621. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -0
  622. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts +2 -0
  623. package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.test.d.ts.map +1 -0
  624. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +10 -0
  625. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -0
  626. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts +2 -0
  627. package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.test.d.ts.map +1 -0
  628. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts +14 -0
  629. package/lib/types/src/transaction-check/data/TransactionCheckDataSource.d.ts.map +1 -0
  630. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts +28 -0
  631. package/lib/types/src/transaction-check/data/TypedDataCheckDataSource.d.ts.map +1 -0
  632. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts +5 -0
  633. package/lib/types/src/transaction-check/data/dto/TransactionCheckDto.d.ts.map +1 -0
  634. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts +5 -0
  635. package/lib/types/src/transaction-check/data/dto/TypedDataCheckDto.d.ts.map +1 -0
  636. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts +3 -0
  637. package/lib/types/src/transaction-check/di/transactionCheckModuleFactory.d.ts.map +1 -0
  638. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts +7 -0
  639. package/lib/types/src/transaction-check/di/transactionCheckTypes.d.ts.map +1 -0
  640. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +20 -0
  641. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -0
  642. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts +2 -0
  643. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.test.d.ts.map +1 -0
  644. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +19 -0
  645. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -0
  646. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts +2 -0
  647. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.test.d.ts.map +1 -0
  648. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +7 -3
  649. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
  650. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +7 -2
  651. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -1
  652. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +4 -5
  653. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -1
  654. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts +2 -1
  655. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  656. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +1 -0
  657. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -1
  658. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +22 -0
  659. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -0
  660. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts +2 -0
  661. package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.test.d.ts.map +1 -0
  662. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +17 -7
  663. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  664. package/lib/types/src/typed-data/data/FiltersDto.d.ts +32 -6
  665. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -1
  666. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +3 -0
  667. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
  668. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +1 -0
  669. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
  670. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts +2 -1
  671. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -1
  672. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +14 -1
  673. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  674. package/lib/types/src/uniswap/constants/uniswap.d.ts +0 -1
  675. package/lib/types/src/uniswap/constants/uniswap.d.ts.map +1 -1
  676. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +12 -12
  677. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -1
  678. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  679. package/package.json +36 -32
  680. package/lib/cjs/src/shared/model/TransactionContext.js +0 -2
  681. package/lib/cjs/src/shared/model/TransactionContext.js.map +0 -7
  682. package/lib/cjs/src/transaction/data/HttpProxyDataSource.js +0 -2
  683. package/lib/cjs/src/transaction/data/HttpProxyDataSource.js.map +0 -7
  684. package/lib/cjs/src/transaction/data/HttpProxyDataSource.test.js +0 -2
  685. package/lib/cjs/src/transaction/data/HttpProxyDataSource.test.js.map +0 -7
  686. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
  687. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  688. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  689. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  690. package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
  691. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
  692. package/lib/cjs/src/transaction/data/dto/CalldataDto.js +0 -2
  693. package/lib/cjs/src/transaction/data/dto/CalldataDto.js.map +0 -7
  694. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
  695. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
  696. package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
  697. package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
  698. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
  699. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  700. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  701. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  702. package/lib/cjs/src/transaction/model/ProxyDelegateCall.js +0 -2
  703. package/lib/cjs/src/transaction/model/ProxyDelegateCall.js.map +0 -7
  704. package/lib/cjs/src/transaction/model/ProxyImplementationAddress.js +0 -2
  705. package/lib/cjs/src/transaction/model/ProxyImplementationAddress.js.map +0 -7
  706. package/lib/cjs/src/uniswap/constants/plugin.js +0 -2
  707. package/lib/cjs/src/uniswap/constants/plugin.js.map +0 -7
  708. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  709. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  710. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  711. package/lib/cjs/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  712. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js +0 -2
  713. package/lib/cjs/src/web3-check/data/Web3CheckDataSource.js.map +0 -7
  714. package/lib/cjs/src/web3-check/data/Web3CheckDto.js +0 -2
  715. package/lib/cjs/src/web3-check/data/Web3CheckDto.js.map +0 -7
  716. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  717. package/lib/cjs/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  718. package/lib/cjs/src/web3-check/di/web3CheckTypes.js +0 -2
  719. package/lib/cjs/src/web3-check/di/web3CheckTypes.js.map +0 -7
  720. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  721. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  722. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  723. package/lib/cjs/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  724. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js +0 -2
  725. package/lib/cjs/src/web3-check/domain/Web3CheckContextLoader.js.map +0 -7
  726. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js +0 -2
  727. package/lib/cjs/src/web3-check/domain/web3CheckTypes.js.map +0 -7
  728. package/lib/esm/src/shared/model/TransactionContext.js +0 -1
  729. package/lib/esm/src/transaction/data/HttpProxyDataSource.js +0 -2
  730. package/lib/esm/src/transaction/data/HttpProxyDataSource.js.map +0 -7
  731. package/lib/esm/src/transaction/data/HttpProxyDataSource.test.js +0 -2
  732. package/lib/esm/src/transaction/data/HttpProxyDataSource.test.js.map +0 -7
  733. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
  734. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
  735. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
  736. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
  737. package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
  738. package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
  739. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
  740. package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
  741. package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
  742. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
  743. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
  744. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
  745. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
  746. package/lib/esm/src/transaction/model/ProxyImplementationAddress.js +0 -1
  747. package/lib/esm/src/uniswap/constants/plugin.js +0 -2
  748. package/lib/esm/src/uniswap/constants/plugin.js.map +0 -7
  749. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js +0 -2
  750. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.js.map +0 -7
  751. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js +0 -2
  752. package/lib/esm/src/web3-check/data/HttpWeb3CheckDataSource.test.js.map +0 -7
  753. package/lib/esm/src/web3-check/data/Web3CheckDataSource.js +0 -1
  754. package/lib/esm/src/web3-check/data/Web3CheckDto.js +0 -1
  755. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js +0 -2
  756. package/lib/esm/src/web3-check/di/web3CheckModuleFactory.js.map +0 -7
  757. package/lib/esm/src/web3-check/di/web3CheckTypes.js +0 -2
  758. package/lib/esm/src/web3-check/di/web3CheckTypes.js.map +0 -7
  759. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js +0 -2
  760. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.js.map +0 -7
  761. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js +0 -2
  762. package/lib/esm/src/web3-check/domain/DefaultWeb3CheckLoader.test.js.map +0 -7
  763. package/lib/esm/src/web3-check/domain/Web3CheckContextLoader.js +0 -1
  764. package/lib/esm/src/web3-check/domain/web3CheckTypes.js +0 -1
  765. package/lib/types/src/shared/model/TransactionContext.d.ts +0 -21
  766. package/lib/types/src/shared/model/TransactionContext.d.ts.map +0 -1
  767. package/lib/types/src/transaction/data/HttpProxyDataSource.d.ts +0 -33
  768. package/lib/types/src/transaction/data/HttpProxyDataSource.d.ts.map +0 -1
  769. package/lib/types/src/transaction/data/HttpProxyDataSource.test.d.ts.map +0 -1
  770. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
  771. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
  772. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
  773. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
  774. package/lib/types/src/transaction/data/dto/CalldataDto.d.ts.map +0 -1
  775. package/lib/types/src/transaction/data/dto/ProxyDelegateCallDto.d.ts.map +0 -1
  776. package/lib/types/src/transaction/data/dto/ProxyImplementationAddressDto.d.ts.map +0 -1
  777. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
  778. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
  779. package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -6
  780. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
  781. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -12
  782. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
  783. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
  784. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
  785. package/lib/types/src/transaction/model/ProxyDelegateCall.d.ts +0 -5
  786. package/lib/types/src/transaction/model/ProxyDelegateCall.d.ts.map +0 -1
  787. package/lib/types/src/transaction/model/ProxyImplementationAddress.d.ts +0 -4
  788. package/lib/types/src/transaction/model/ProxyImplementationAddress.d.ts.map +0 -1
  789. package/lib/types/src/uniswap/constants/plugin.d.ts +0 -3
  790. package/lib/types/src/uniswap/constants/plugin.d.ts.map +0 -1
  791. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts +0 -14
  792. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.d.ts.map +0 -1
  793. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts +0 -2
  794. package/lib/types/src/web3-check/data/HttpWeb3CheckDataSource.test.d.ts.map +0 -1
  795. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts +0 -6
  796. package/lib/types/src/web3-check/data/Web3CheckDataSource.d.ts.map +0 -1
  797. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts +0 -20
  798. package/lib/types/src/web3-check/data/Web3CheckDto.d.ts.map +0 -1
  799. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts +0 -3
  800. package/lib/types/src/web3-check/di/web3CheckModuleFactory.d.ts.map +0 -1
  801. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts +0 -5
  802. package/lib/types/src/web3-check/di/web3CheckTypes.d.ts.map +0 -1
  803. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts +0 -10
  804. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.d.ts.map +0 -1
  805. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts +0 -2
  806. package/lib/types/src/web3-check/domain/DefaultWeb3CheckLoader.test.d.ts.map +0 -1
  807. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts +0 -6
  808. package/lib/types/src/web3-check/domain/Web3CheckContextLoader.d.ts.map +0 -1
  809. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts +0 -35
  810. package/lib/types/src/web3-check/domain/web3CheckTypes.d.ts.map +0 -1
  811. /package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js +0 -0
  812. /package/lib/cjs/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js +0 -0
  813. /package/lib/esm/src/{shared/model/TransactionContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
  814. /package/lib/esm/src/{transaction → calldata}/data/dto/CalldataDto.js +0 -0
  815. /package/lib/esm/src/{transaction → calldata}/data/dto/CalldataDto.js.map +0 -0
  816. /package/lib/esm/src/{transaction/data/TransactionDataSource.js.map → proxy/data/ProxyDataSource.js.map} +0 -0
  817. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js +0 -0
  818. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.js.map +0 -0
  819. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js +0 -0
  820. /package/lib/esm/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.js.map +0 -0
  821. /package/lib/esm/src/{transaction/model/ProxyDelegateCall.js.map → proxy/data/dto/SafeProxyImplementationAddressDto.js.map} +0 -0
  822. /package/lib/esm/src/{transaction → proxy}/model/ProxyDelegateCall.js +0 -0
  823. /package/lib/esm/src/{transaction/model/ProxyImplementationAddress.js.map → proxy/model/ProxyDelegateCall.js.map} +0 -0
  824. /package/lib/esm/src/{web3-check/data/Web3CheckDataSource.js.map → safe/data/SafeAccountDataSource.js.map} +0 -0
  825. /package/lib/esm/src/{web3-check/data/Web3CheckDto.js.map → safe/data/dto/SafeAccountDto.js.map} +0 -0
  826. /package/lib/esm/src/{web3-check/domain/Web3CheckContextLoader.js.map → shared/domain/ContextFieldLoader.js.map} +0 -0
  827. /package/lib/esm/src/{web3-check/domain/web3CheckTypes.js.map → solanaLifi/data/SolanaLifiDataSource.js.map} +0 -0
  828. /package/lib/types/src/{transaction → proxy}/data/HttpProxyDataSource.test.d.ts +0 -0
  829. /package/lib/types/src/{transaction → proxy}/data/dto/ProxyDelegateCallDto.d.ts +0 -0
  830. /package/lib/types/src/{transaction → proxy}/data/dto/ProxyImplementationAddressDto.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/safe/domain/SafeAddressLoader.test.ts"],
4
+ "sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport {\n type GetSafeAccountResponse,\n type SafeAccountDataSource,\n} from \"@/safe/data/SafeAccountDataSource\";\nimport {\n type SafeAddressContextInput,\n SafeAddressLoader,\n} from \"@/safe/domain/SafeAddressLoader\";\nimport {\n type ClearSignContextSuccess,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\ndescribe(\"SafeAddressLoader\", () => {\n const mockSafeAccountDataSource: SafeAccountDataSource = {\n getDescriptors: vi.fn(),\n };\n const mockPkiCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n const loader = new SafeAddressLoader(\n mockSafeAccountDataSource,\n mockPkiCertificateLoader,\n );\n\n const mockCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3]),\n };\n\n const mockSafeAccountResponse: GetSafeAccountResponse = {\n account: {\n signedDescriptor: \"safe-descriptor-payload\",\n keyId: \"safe-key-id\",\n keyUsage: \"safe-key-usage\",\n },\n signers: {\n signedDescriptor: \"signers-descriptor-payload\",\n keyId: \"signers-key-id\",\n keyUsage: \"signers-key-usage\",\n },\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n vi.spyOn(mockPkiCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n });\n\n describe(\"canHandle function\", () => {\n const validInput: SafeAddressContextInput = {\n safeContractAddress: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n deviceModelId: DeviceModelId.FLEX,\n challenge: \"0xabcdef\",\n };\n\n it(\"should return true for valid input with SAFE and SIGNER types\", () => {\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(true);\n });\n\n it(\"should return true when expected types are subset of SAFE and SIGNER\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.SAFE])).toBe(\n true,\n );\n expect(loader.canHandle(validInput, [ClearSignContextType.SIGNER])).toBe(\n true,\n );\n });\n\n it(\"should return false when expected types include unsupported types\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n false,\n );\n expect(loader.canHandle(validInput, [ClearSignContextType.NFT])).toBe(\n false,\n );\n });\n\n it(\"should return false when expected types include other types besides SAFE and SIGNER\", () => {\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ClearSignContextType.TOKEN,\n ]),\n ).toBe(false);\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 [[], \"array input\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [\n { ...validInput, safeContractAddress: undefined },\n \"missing safeContractAddress\",\n ],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing deviceModelId\"],\n [{ ...validInput, challenge: undefined }, \"missing challenge\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [\n { ...validInput, safeContractAddress: \"invalid-hex\" },\n \"invalid safeContractAddress hex\",\n ],\n [\n { ...validInput, safeContractAddress: \"0x\" },\n \"empty safeContractAddress (0x)\",\n ],\n [\n { ...validInput, safeContractAddress: \"not-hex\" },\n \"non-hex safeContractAddress\",\n ],\n [\n { ...validInput, safeContractAddress: 123 },\n \"number safeContractAddress\",\n ],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n [{ ...validInput, chainId: undefined }, \"undefined chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [{ ...validInput, challenge: \"\" }, \"empty challenge string\"],\n [{ ...validInput, challenge: 123 }, \"number challenge\"],\n [{ ...validInput, challenge: null }, \"null challenge\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(\n loader.canHandle(input, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(false);\n });\n\n it(\"should return true for different device models\", () => {\n expect(\n loader.canHandle(\n { ...validInput, deviceModelId: DeviceModelId.NANO_S },\n [ClearSignContextType.SAFE, ClearSignContextType.SIGNER],\n ),\n ).toBe(true);\n expect(\n loader.canHandle(\n { ...validInput, deviceModelId: DeviceModelId.NANO_SP },\n [ClearSignContextType.SAFE, ClearSignContextType.SIGNER],\n ),\n ).toBe(true);\n expect(\n loader.canHandle(\n { ...validInput, deviceModelId: DeviceModelId.NANO_X },\n [ClearSignContextType.SAFE, ClearSignContextType.SIGNER],\n ),\n ).toBe(true);\n expect(\n loader.canHandle({ ...validInput, deviceModelId: DeviceModelId.STAX }, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(true);\n expect(\n loader.canHandle({ ...validInput, deviceModelId: DeviceModelId.FLEX }, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(true);\n });\n\n it(\"should return true for different chain IDs\", () => {\n expect(\n loader.canHandle({ ...validInput, chainId: 1 }, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(true);\n expect(\n loader.canHandle({ ...validInput, chainId: 137 }, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(true);\n expect(\n loader.canHandle({ ...validInput, chainId: 10 }, [\n ClearSignContextType.SAFE,\n ClearSignContextType.SIGNER,\n ]),\n ).toBe(true);\n });\n });\n\n describe(\"load function\", () => {\n const input: SafeAddressContextInput = {\n safeContractAddress: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n deviceModelId: DeviceModelId.FLEX,\n challenge: \"0xabcdef\",\n };\n\n it(\"should return SAFE and SIGNER contexts with certificates\", async () => {\n // GIVEN\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(mockSafeAccountResponse),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(mockSafeAccountDataSource.getDescriptors).toHaveBeenCalledWith({\n safeContractAddress: \"0x1234567890123456789012345678901234567890\",\n chainId: 1,\n challenge: \"0xabcdef\",\n });\n expect(mockPkiCertificateLoader.loadCertificate).toHaveBeenCalledTimes(2);\n expect(mockPkiCertificateLoader.loadCertificate).toHaveBeenNthCalledWith(\n 1,\n {\n keyId: \"safe-key-id\",\n keyUsage: \"safe-key-usage\",\n targetDevice: DeviceModelId.FLEX,\n },\n );\n expect(mockPkiCertificateLoader.loadCertificate).toHaveBeenNthCalledWith(\n 2,\n {\n keyId: \"signers-key-id\",\n keyUsage: \"signers-key-usage\",\n targetDevice: DeviceModelId.FLEX,\n },\n );\n expect(result).toEqual([\n {\n type: ClearSignContextType.SAFE,\n payload: \"safe-descriptor-payload\",\n certificate: mockCertificate,\n },\n {\n type: ClearSignContextType.SIGNER,\n payload: \"signers-descriptor-payload\",\n certificate: mockCertificate,\n },\n ]);\n });\n\n it(\"should return SAFE and SIGNER contexts without certificates when loadCertificate returns undefined\", async () => {\n // GIVEN\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(mockSafeAccountResponse),\n );\n vi.spyOn(mockPkiCertificateLoader, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.SAFE,\n payload: \"safe-descriptor-payload\",\n certificate: undefined,\n },\n {\n type: ClearSignContextType.SIGNER,\n payload: \"signers-descriptor-payload\",\n certificate: undefined,\n },\n ]);\n });\n\n it(\"should return ERROR context when data source returns Left\", async () => {\n // GIVEN\n const error = new Error(\"Failed to get safe account descriptors\");\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Left(error),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error,\n },\n ]);\n expect(mockPkiCertificateLoader.loadCertificate).not.toHaveBeenCalled();\n });\n\n it(\"should work with different device models\", async () => {\n // GIVEN\n const inputNanoS = { ...input, deviceModelId: DeviceModelId.NANO_S };\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(mockSafeAccountResponse),\n );\n\n // WHEN\n const result = await loader.load(inputNanoS);\n\n // THEN\n expect(mockPkiCertificateLoader.loadCertificate).toHaveBeenCalledWith(\n expect.objectContaining({\n targetDevice: DeviceModelId.NANO_S,\n }),\n );\n expect(result).toHaveLength(2);\n expect(result[0]?.type).toBe(ClearSignContextType.SAFE);\n expect(result[1]?.type).toBe(ClearSignContextType.SIGNER);\n });\n\n it(\"should work with different chain IDs\", async () => {\n // GIVEN\n const inputPolygon = { ...input, chainId: 137 };\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(mockSafeAccountResponse),\n );\n\n // WHEN\n await loader.load(inputPolygon);\n\n // THEN\n expect(mockSafeAccountDataSource.getDescriptors).toHaveBeenCalledWith(\n expect.objectContaining({\n chainId: 137,\n }),\n );\n });\n\n it(\"should work with different safe addresses\", async () => {\n // GIVEN\n const differentInput = {\n ...input,\n safeContractAddress:\n \"0xabcdefabcdefabcdefabcdefabcdefabcdefabcd\" as const,\n };\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(mockSafeAccountResponse),\n );\n\n // WHEN\n await loader.load(differentInput);\n\n // THEN\n expect(mockSafeAccountDataSource.getDescriptors).toHaveBeenCalledWith(\n expect.objectContaining({\n safeContractAddress: \"0xabcdefabcdefabcdefabcdefabcdefabcdefabcd\",\n }),\n );\n });\n\n it(\"should handle different certificate data for account and signers\", async () => {\n // GIVEN\n const accountCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3]),\n };\n const signersCertificate: PkiCertificate = {\n keyUsageNumber: 2,\n payload: new Uint8Array([4, 5, 6]),\n };\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(mockSafeAccountResponse),\n );\n vi.spyOn(mockPkiCertificateLoader, \"loadCertificate\")\n .mockResolvedValueOnce(accountCertificate)\n .mockResolvedValueOnce(signersCertificate);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.SAFE,\n payload: \"safe-descriptor-payload\",\n certificate: accountCertificate,\n },\n {\n type: ClearSignContextType.SIGNER,\n payload: \"signers-descriptor-payload\",\n certificate: signersCertificate,\n },\n ]);\n });\n\n it(\"should handle empty descriptor payloads\", async () => {\n // GIVEN\n const emptyResponse: GetSafeAccountResponse = {\n account: {\n signedDescriptor: \"\",\n keyId: \"key-id\",\n keyUsage: \"key-usage\",\n },\n signers: {\n signedDescriptor: \"\",\n keyId: \"key-id\",\n keyUsage: \"key-usage\",\n },\n };\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(emptyResponse),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.SAFE,\n payload: \"\",\n certificate: mockCertificate,\n },\n {\n type: ClearSignContextType.SIGNER,\n payload: \"\",\n certificate: mockCertificate,\n },\n ]);\n });\n\n it(\"should handle long descriptor payloads\", async () => {\n // GIVEN\n const longPayload = \"a\".repeat(1000);\n const longResponse: GetSafeAccountResponse = {\n account: {\n signedDescriptor: longPayload,\n keyId: \"key-id\",\n keyUsage: \"key-usage\",\n },\n signers: {\n signedDescriptor: longPayload,\n keyId: \"key-id\",\n keyUsage: \"key-usage\",\n },\n };\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Right(longResponse),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect((result[0] as ClearSignContextSuccess).payload).toBe(longPayload);\n expect((result[1] as ClearSignContextSuccess).payload).toBe(longPayload);\n });\n\n it(\"should handle data source errors gracefully\", async () => {\n // GIVEN\n const error = new Error(\"Network error\");\n vi.spyOn(mockSafeAccountDataSource, \"getDescriptors\").mockResolvedValue(\n Left(error),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Network error\"),\n },\n ]);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceModelId", "Left", "Right", "SafeAddressLoader", "ClearSignContextType", "mockSafeAccountDataSource", "mockPkiCertificateLoader", "loader", "mockCertificate", "mockSafeAccountResponse", "validInput", "input", "_description", "result", "error", "inputNanoS", "inputPolygon", "differentInput", "accountCertificate", "signersCertificate", "emptyResponse", "longPayload", "longResponse"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ContextFieldLoader.js.map
@@ -1,2 +1,2 @@
1
- var t=(e=>(e.TOKEN="token",e.NFT="nft",e.TRUSTED_NAME="trustedName",e.PLUGIN="plugin",e.EXTERNAL_PLUGIN="externalPlugin",e.TRANSACTION_INFO="transactionInfo",e.PROXY_DELEGATE_CALL="proxyDelegateCall",e.ENUM="enum",e.TRANSACTION_FIELD_DESCRIPTION="transactionFieldDescription",e.WEB3_CHECK="web3Check",e.DYNAMIC_NETWORK="dynamicNetwork",e.DYNAMIC_NETWORK_ICON="dynamicNetworkIcon",e.ERROR="error",e))(t||{});export{t as ClearSignContextType};
1
+ var n=(e=>(e.TOKEN="token",e.NFT="nft",e.TRUSTED_NAME="trustedName",e.PLUGIN="plugin",e.EXTERNAL_PLUGIN="externalPlugin",e.TRANSACTION_INFO="transactionInfo",e.PROXY_INFO="proxyInfo",e.ENUM="enum",e.TRANSACTION_FIELD_DESCRIPTION="transactionFieldDescription",e.TRANSACTION_CHECK="transactionCheck",e.DYNAMIC_NETWORK="dynamicNetwork",e.DYNAMIC_NETWORK_ICON="dynamicNetworkIcon",e.ERROR="error",e.SAFE="safe",e.SIGNER="signer",e))(n||{}),r=(t=>(t.TOKEN="token",t.NFT="nft",t.TRUSTED_NAME="trustedName",t.ENUM="enum",t.CALLDATA="calldata",t))(r||{});export{r as ClearSignContextReferenceType,n as ClearSignContextType};
2
2
  //# sourceMappingURL=ClearSignContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/shared/model/ClearSignContext.ts"],
4
- "sourcesContent": ["import { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\n\nimport { type GenericPath } from \"./GenericPath\";\n\nexport enum ClearSignContextType {\n TOKEN = \"token\",\n NFT = \"nft\",\n TRUSTED_NAME = \"trustedName\",\n PLUGIN = \"plugin\",\n EXTERNAL_PLUGIN = \"externalPlugin\",\n TRANSACTION_INFO = \"transactionInfo\",\n PROXY_DELEGATE_CALL = \"proxyDelegateCall\",\n ENUM = \"enum\",\n TRANSACTION_FIELD_DESCRIPTION = \"transactionFieldDescription\",\n WEB3_CHECK = \"web3Check\",\n DYNAMIC_NETWORK = \"dynamicNetwork\",\n DYNAMIC_NETWORK_ICON = \"dynamicNetworkIcon\",\n ERROR = \"error\",\n}\n\nexport type ClearSignContextReferenceType =\n | ClearSignContextType.TOKEN\n | ClearSignContextType.NFT\n | ClearSignContextType.ENUM\n | ClearSignContextType.TRUSTED_NAME;\n\nexport type ClearSignContextReference<\n Type extends ClearSignContextReferenceType = ClearSignContextReferenceType,\n> = Type extends ClearSignContextType.ENUM\n ? {\n type: ClearSignContextType.ENUM;\n valuePath: GenericPath;\n id: number; // enum id to reference\n }\n : Type extends ClearSignContextType.TRUSTED_NAME\n ? {\n type: ClearSignContextType.TRUSTED_NAME;\n valuePath: GenericPath;\n types: string[];\n sources: string[];\n }\n :\n | {\n type: Type;\n valuePath: GenericPath;\n value?: never;\n }\n | {\n type: Type;\n valuePath?: never;\n value: string;\n };\n\nexport type ClearSignContextSuccessType = Exclude<\n ClearSignContextType,\n ClearSignContextType.ERROR\n>;\n\n// NOTE: this is a union of all possible success types\n// There is currently two types of success:\n// - ENUM: which is a special case, we need to handle it differently\n// because we don't want to send the whole enum\n// but only the parts that are needed.\n// - id: the enum id to reference\n// - payload: the payload to send with a provideEnum command\n// - name: the name of the enum to be displayed on the device\n// - value: the value of the enum to be retrieved from the transaction\n// - All other types\n// - payload: the payload to send with a provide command\n// - reference: the reference to the value to be retrieved from the transaction\nexport type ClearSignContextSuccess<\n Type extends ClearSignContextSuccessType = ClearSignContextSuccessType,\n> = Type extends ClearSignContextType.ENUM\n ? {\n type: ClearSignContextType.ENUM;\n id: number;\n payload: string;\n value: number;\n certificate?: PkiCertificate;\n }\n : {\n type: Exclude<\n ClearSignContextType,\n ClearSignContextType.ENUM | ClearSignContextType.ERROR\n >;\n payload: string;\n reference?: ClearSignContextReference;\n certificate?: PkiCertificate;\n };\n\nexport type ClearSignContextError = {\n type: ClearSignContextType.ERROR;\n error: Error;\n};\n\nexport type ClearSignContext = ClearSignContextSuccess | ClearSignContextError;\n"],
5
- "mappings": "AAIO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,IAAM,MACNA,EAAA,aAAe,cACfA,EAAA,OAAS,SACTA,EAAA,gBAAkB,iBAClBA,EAAA,iBAAmB,kBACnBA,EAAA,oBAAsB,oBACtBA,EAAA,KAAO,OACPA,EAAA,8BAAgC,8BAChCA,EAAA,WAAa,YACbA,EAAA,gBAAkB,iBAClBA,EAAA,qBAAuB,qBACvBA,EAAA,MAAQ,QAbEA,OAAA",
6
- "names": ["ClearSignContextType"]
4
+ "sourcesContent": ["import { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\n\nimport { type GenericPath } from \"./GenericPath\";\n\nexport enum ClearSignContextType {\n TOKEN = \"token\",\n NFT = \"nft\",\n TRUSTED_NAME = \"trustedName\",\n PLUGIN = \"plugin\",\n EXTERNAL_PLUGIN = \"externalPlugin\",\n TRANSACTION_INFO = \"transactionInfo\",\n PROXY_INFO = \"proxyInfo\",\n ENUM = \"enum\",\n TRANSACTION_FIELD_DESCRIPTION = \"transactionFieldDescription\",\n TRANSACTION_CHECK = \"transactionCheck\",\n DYNAMIC_NETWORK = \"dynamicNetwork\",\n DYNAMIC_NETWORK_ICON = \"dynamicNetworkIcon\",\n ERROR = \"error\",\n SAFE = \"safe\",\n SIGNER = \"signer\",\n}\n\nexport enum ClearSignContextReferenceType {\n TOKEN = ClearSignContextType.TOKEN,\n NFT = ClearSignContextType.NFT,\n TRUSTED_NAME = ClearSignContextType.TRUSTED_NAME,\n ENUM = ClearSignContextType.ENUM,\n CALLDATA = \"calldata\",\n}\n\ntype PathOnly = {\n valuePath: GenericPath;\n value?: never;\n callee?: GenericPath;\n selector?: GenericPath;\n amount?: GenericPath;\n spender?: GenericPath;\n chainId?: GenericPath;\n};\n\ntype ValueOnly = {\n value: string;\n valuePath?: never;\n};\n\ntype PathOrValue = PathOnly | ValueOnly;\n\n// per-type payloads for references\ntype ClearSignContextReferencePayloads = {\n [ClearSignContextReferenceType.ENUM]: {\n valuePath: GenericPath;\n id: number; // enum id to reference\n };\n [ClearSignContextReferenceType.TRUSTED_NAME]: {\n valuePath: GenericPath;\n types: string[];\n sources: string[];\n };\n [ClearSignContextReferenceType.CALLDATA]: {\n callee: GenericPath;\n valuePath: GenericPath;\n selector?: GenericPath;\n amount?: GenericPath;\n spender?: GenericPath;\n chainId?: GenericPath;\n };\n [ClearSignContextReferenceType.TOKEN]: PathOrValue;\n [ClearSignContextReferenceType.NFT]: PathOrValue;\n};\n\n// discriminated union of all reference shapes, built from the payload map\ntype ClearSignContextReferenceUnion = {\n [T in ClearSignContextReferenceType]: {\n type: T;\n } & ClearSignContextReferencePayloads[T];\n}[ClearSignContextReferenceType];\n\nexport type ClearSignContextReference<\n T extends ClearSignContextReferenceType = ClearSignContextReferenceType,\n> = Extract<ClearSignContextReferenceUnion, { type: T }>;\n\nexport type ClearSignContextSuccessType = Exclude<\n ClearSignContextType,\n ClearSignContextType.ERROR\n>;\n\n// base payload shared by most success contexts\ntype ClearSignContextSuccessBase = {\n payload: string;\n certificate?: PkiCertificate;\n};\n\n// map from ClearSign success type to payload\ntype ClearSignContextSuccessPayloadsBase = {\n [K in ClearSignContextSuccessType]: ClearSignContextSuccessBase;\n};\n\n// special cases overrides for certain context types\ntype ClearSignContextSuccessPayloadOverrides = {\n [ClearSignContextType.ENUM]: ClearSignContextSuccessBase & {\n id: number;\n value: number;\n };\n [ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION]: ClearSignContextSuccessBase & {\n reference?: ClearSignContextReference;\n };\n};\n\ntype ClearSignContextSuccessPayloads = Omit<\n ClearSignContextSuccessPayloadsBase,\n ClearSignContextType.ENUM | ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION\n> &\n ClearSignContextSuccessPayloadOverrides;\n\n// union of all success contexts, built from the payload map.\ntype ClearSignContextSuccessUnion = {\n [T in ClearSignContextSuccessType]: {\n type: T;\n } & ClearSignContextSuccessPayloads[T];\n}[ClearSignContextSuccessType];\n\nexport type ClearSignContextSuccess<\n T extends ClearSignContextSuccessType = ClearSignContextSuccessType,\n> = Extract<ClearSignContextSuccessUnion, { type: T }>;\n\nexport type ClearSignContextError = {\n type: ClearSignContextType.ERROR;\n error: Error;\n};\n\nexport type ClearSignContext = ClearSignContextSuccess | ClearSignContextError;\n"],
5
+ "mappings": "AAIO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,IAAM,MACNA,EAAA,aAAe,cACfA,EAAA,OAAS,SACTA,EAAA,gBAAkB,iBAClBA,EAAA,iBAAmB,kBACnBA,EAAA,WAAa,YACbA,EAAA,KAAO,OACPA,EAAA,8BAAgC,8BAChCA,EAAA,kBAAoB,mBACpBA,EAAA,gBAAkB,iBAClBA,EAAA,qBAAuB,qBACvBA,EAAA,MAAQ,QACRA,EAAA,KAAO,OACPA,EAAA,OAAS,SAfCA,OAAA,IAkBAC,OACVA,EAAA,MAAQ,QACRA,EAAA,IAAM,MACNA,EAAA,aAAe,cACfA,EAAA,KAAO,OACPA,EAAA,SAAW,WALDA,OAAA",
6
+ "names": ["ClearSignContextType", "ClearSignContextReferenceType"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var e=(t=>(t.SOLANA_TOKEN="solanaToken",t.SOLANA_LIFI="solanaLifi",t.ERROR="error",t))(e||{});export{e as SolanaContextTypes};
2
+ //# sourceMappingURL=SolanaContextTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/shared/model/SolanaContextTypes.ts"],
4
+ "sourcesContent": ["import type { PkiCertificate } from \"@/pki/model/PkiCertificate\";\n\nexport enum SolanaContextTypes {\n SOLANA_TOKEN = \"solanaToken\",\n SOLANA_LIFI = \"solanaLifi\",\n ERROR = \"error\",\n}\n\nexport type SolanaTransactionDescriptor = {\n data: string;\n descriptorType: string;\n descriptorVersion: string;\n signatures: {\n prod?: string;\n test?: string;\n };\n};\n\nexport type SolanaTransactionDescriptorList = Record<\n string,\n SolanaTransactionDescriptor\n>;\n\nexport type SolanaTokenData = {\n solanaTokenDescriptor: {\n data: string;\n signature: string;\n };\n};\n\nexport type SolanaContextSuccessType = Exclude<\n SolanaContextTypes,\n SolanaContextTypes.ERROR\n>;\n\n// map from Solana success type to payload\ntype SolanaContextSuccessPayloads = {\n [SolanaContextTypes.SOLANA_TOKEN]: {\n payload: SolanaTokenData;\n certificate?: PkiCertificate;\n };\n [SolanaContextTypes.SOLANA_LIFI]: {\n payload: SolanaTransactionDescriptorList;\n };\n};\n\nexport type SolanaContextSuccess<\n T extends SolanaContextSuccessType = SolanaContextSuccessType,\n> = {\n type: T;\n} & SolanaContextSuccessPayloads[T];\n\nexport type SolanaContextError = {\n type: SolanaContextTypes.ERROR;\n error: Error;\n};\n\nexport type SolanaContext = SolanaContextSuccess | SolanaContextError;\n\nexport type SolanaTokenContextSuccess =\n SolanaContextSuccess<SolanaContextTypes.SOLANA_TOKEN>;\n\nexport type SolanaLifiContextSuccess =\n SolanaContextSuccess<SolanaContextTypes.SOLANA_LIFI>;\n\nexport type SolanaTokenContextResult =\n | SolanaTokenContextSuccess\n | SolanaContextError;\n\nexport type SolanaLifiContextResult =\n | SolanaLifiContextSuccess\n | SolanaContextError;\n\n// TODO LIFI\nexport type LoaderResult = SolanaTokenContextResult; //| SolanaLifiContextResult;\n"],
5
+ "mappings": "AAEO,IAAKA,OACVA,EAAA,aAAe,cACfA,EAAA,YAAc,aACdA,EAAA,MAAQ,QAHEA,OAAA",
6
+ "names": ["SolanaContextTypes"]
7
+ }
@@ -1,2 +1,2 @@
1
- const e=255;export{e as VERIFYING_CONTRACT_TOKEN_INDEX};
1
+ const a=255;var t=(e=>(e.None="none",e.Present="present",e.VerifyingContract="verifying_contract",e))(t||{});export{t as TypedDataCalldataParamPresence,a as VERIFYING_CONTRACT_TOKEN_INDEX};
2
2
  //# sourceMappingURL=TypedDataClearSignContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/shared/model/TypedDataClearSignContext.ts"],
4
- "sourcesContent": ["import type { HexaString } from \"@ledgerhq/device-management-kit\";\n\n// The general informations for a typed message\nexport type TypedDataMessageInfo = {\n displayName: string;\n filtersCount: number;\n signature: string;\n};\n\n// Token index and descriptor. Needed for tokens that are referenced by a typed message\nexport type TypedDataTokenIndex = number;\nexport type TypedDataToken = string;\n// Special token index value when the referenced token is the verifying contract\nexport const VERIFYING_CONTRACT_TOKEN_INDEX = 255;\n\n// Typed message filters, to select fields to display, and provide formatting informations\nexport type TypedDataFilterPath = string;\nexport type TypedDataFilterWithToken = {\n type: \"amount\" | \"token\";\n displayName: string;\n tokenIndex: TypedDataTokenIndex;\n path: TypedDataFilterPath;\n signature: string;\n};\nexport type TypedDataFilterWithTrustedName = {\n type: \"trusted-name\";\n displayName: string;\n types: string[];\n sources: string[];\n typesAndSourcesPayload: string;\n path: TypedDataFilterPath;\n signature: string;\n};\nexport type TypedDataFilter =\n | {\n type: \"datetime\" | \"raw\";\n displayName: string;\n path: TypedDataFilterPath;\n signature: string;\n }\n | TypedDataFilterWithToken\n | TypedDataFilterWithTrustedName;\n\n// Clear signing context for a typed message\nexport type TypedDataClearSignContextSuccess = {\n type: \"success\";\n messageInfo: TypedDataMessageInfo;\n filters: Record<TypedDataFilterPath, TypedDataFilter>;\n trustedNamesAddresses: Record<TypedDataFilterPath, HexaString>;\n tokens: Record<TypedDataTokenIndex, TypedDataToken>;\n};\nexport type TypedDataClearSignContextError = {\n type: \"error\";\n error: Error;\n};\nexport type TypedDataClearSignContext =\n | TypedDataClearSignContextSuccess\n | TypedDataClearSignContextError;\n"],
5
- "mappings": "AAaO,MAAMA,EAAiC",
6
- "names": ["VERIFYING_CONTRACT_TOKEN_INDEX"]
4
+ "sourcesContent": ["import type { HexaString } from \"@ledgerhq/device-management-kit\";\n\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport {\n type ClearSignContextSuccess,\n type ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { type TransactionSubset } from \"@/shared/model/TransactionSubset\";\n\n// The general informations for a typed message\nexport type TypedDataMessageInfo = {\n displayName: string;\n filtersCount: number;\n signature: string;\n};\n\n// Token index and descriptor. Needed for tokens that are referenced by a typed message\nexport type TypedDataTokenIndex = number;\nexport type TypedDataToken = string;\n// Calldata index. Needed for calldatas that are referenced by a typed message\nexport type TypedDataCalldataIndex = number;\n// Special token index value when the referenced token is the verifying contract\nexport const VERIFYING_CONTRACT_TOKEN_INDEX = 255;\n\n// Typed message filters, to select fields to display, and provide formatting informations\nexport type TypedDataFilterPath = string;\nexport type TypedDataFilterWithToken = {\n type: \"amount\" | \"token\";\n displayName: string;\n tokenIndex: TypedDataTokenIndex;\n path: TypedDataFilterPath;\n signature: string;\n};\nexport type TypedDataFilterWithTrustedName = {\n type: \"trusted-name\";\n displayName: string;\n types: string[];\n sources: string[];\n typesAndSourcesPayload: string;\n path: TypedDataFilterPath;\n signature: string;\n};\nexport type TypedDataFilterCalldata = {\n type:\n | \"calldata-value\"\n | \"calldata-callee\"\n | \"calldata-chain-id\"\n | \"calldata-selector\"\n | \"calldata-amount\"\n | \"calldata-spender\";\n displayName: string;\n calldataIndex: TypedDataCalldataIndex;\n path: TypedDataFilterPath;\n signature: string;\n};\nexport type TypedDataFilter =\n | {\n type: \"datetime\" | \"raw\";\n displayName: string;\n path: TypedDataFilterPath;\n signature: string;\n }\n | TypedDataFilterWithToken\n | TypedDataFilterWithTrustedName\n | TypedDataFilterCalldata;\n\n// Calldata info when referenced by a typed message\nexport enum TypedDataCalldataParamPresence {\n None = \"none\",\n Present = \"present\",\n VerifyingContract = \"verifying_contract\",\n}\nexport type TypedDataFilterCalldataInfo = {\n displayName: string;\n calldataIndex: TypedDataCalldataIndex;\n valueFlag: boolean;\n calleeFlag: TypedDataCalldataParamPresence;\n chainIdFlag: boolean;\n selectorFlag: boolean;\n amountFlag: boolean;\n spenderFlag: TypedDataCalldataParamPresence;\n signature: string;\n};\nexport type TypedDataCalldataInfo = {\n filter: TypedDataFilterCalldataInfo;\n subset: TransactionSubset;\n};\n\n// Clear signing context for a typed message\nexport type TypedDataClearSignContextSuccess = {\n type: \"success\";\n messageInfo: TypedDataMessageInfo;\n filters: Record<TypedDataFilterPath, TypedDataFilter>;\n trustedNamesAddresses: Record<TypedDataFilterPath, HexaString>;\n tokens: Record<TypedDataTokenIndex, TypedDataToken>;\n calldatas: Record<TypedDataCalldataIndex, TypedDataCalldataInfo>;\n certificate?: PkiCertificate;\n proxy?: ClearSignContextSuccess<ClearSignContextType.PROXY_INFO>;\n};\nexport type TypedDataClearSignContextError = {\n type: \"error\";\n error: Error;\n};\nexport type TypedDataClearSignContext =\n | TypedDataClearSignContextSuccess\n | TypedDataClearSignContextError;\n"],
5
+ "mappings": "AAsBO,MAAMA,EAAiC,IA6CvC,IAAKC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,kBAAoB,qBAHVA,OAAA",
6
+ "names": ["VERIFYING_CONTRACT_TOKEN_INDEX", "TypedDataCalldataParamPresence"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{KeyUsage as e}from"../../pki/model/KeyUsage";class s{static keyUsageMap=new Map([[e.GenuineCheck,1],[e.ExchangePayload,2],[e.NftMeta,3],[e.TrustedName,4],[e.BackupProvider,5],[e.ProtectOrchestrator,6],[e.PluginMeta,7],[e.CoinMeta,8],[e.SeedIdAuth,9],[e.TxSimulationSigner,10],[e.Calldata,11],[e.Network,12]]);static mapKeyUsageForFirmware(a){return this.keyUsageMap.get(a)??-1}}export{s as KeyUsageMapper};
1
+ import{KeyUsage as e}from"../../pki/model/KeyUsage";class s{static keyUsageMap=new Map([[e.GenuineCheck,1],[e.ExchangePayload,2],[e.NftMeta,3],[e.TrustedName,4],[e.BackupProvider,5],[e.ProtectOrchestrator,6],[e.PluginMeta,7],[e.CoinMeta,8],[e.SeedIdAuth,9],[e.TxSimulationSigner,10],[e.Calldata,11],[e.Network,12],[e.LESMultisig,14]]);static mapKeyUsageForFirmware(a){return Object.values(e).includes(a)?this.keyUsageMap.get(a)??-1:-1}}export{s as KeyUsageMapper};
2
2
  //# sourceMappingURL=KeyUsageMapper.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/shared/utils/KeyUsageMapper.ts"],
4
- "sourcesContent": ["import { KeyUsage } from \"@/pki/model/KeyUsage\";\n\nexport class KeyUsageMapper {\n private static keyUsageMap = new Map<KeyUsage, number>([\n [KeyUsage.GenuineCheck, 1],\n [KeyUsage.ExchangePayload, 2],\n [KeyUsage.NftMeta, 3],\n [KeyUsage.TrustedName, 4],\n [KeyUsage.BackupProvider, 5],\n [KeyUsage.ProtectOrchestrator, 6],\n [KeyUsage.PluginMeta, 7],\n [KeyUsage.CoinMeta, 8],\n [KeyUsage.SeedIdAuth, 9],\n [KeyUsage.TxSimulationSigner, 10],\n [KeyUsage.Calldata, 11],\n [KeyUsage.Network, 12],\n ]);\n\n static mapKeyUsageForFirmware(keyUsage: KeyUsage): number {\n return this.keyUsageMap.get(keyUsage as KeyUsage) ?? -1;\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,YAAAA,MAAgB,uBAElB,MAAMC,CAAe,CAC1B,OAAe,YAAc,IAAI,IAAsB,CACrD,CAACD,EAAS,aAAc,CAAC,EACzB,CAACA,EAAS,gBAAiB,CAAC,EAC5B,CAACA,EAAS,QAAS,CAAC,EACpB,CAACA,EAAS,YAAa,CAAC,EACxB,CAACA,EAAS,eAAgB,CAAC,EAC3B,CAACA,EAAS,oBAAqB,CAAC,EAChC,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,SAAU,CAAC,EACrB,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,mBAAoB,EAAE,EAChC,CAACA,EAAS,SAAU,EAAE,EACtB,CAACA,EAAS,QAAS,EAAE,CACvB,CAAC,EAED,OAAO,uBAAuBE,EAA4B,CACxD,OAAO,KAAK,YAAY,IAAIA,CAAoB,GAAK,EACvD,CACF",
4
+ "sourcesContent": ["import { KeyUsage } from \"@/pki/model/KeyUsage\";\n\nexport class KeyUsageMapper {\n private static keyUsageMap = new Map<KeyUsage, number>([\n [KeyUsage.GenuineCheck, 1],\n [KeyUsage.ExchangePayload, 2],\n [KeyUsage.NftMeta, 3],\n [KeyUsage.TrustedName, 4],\n [KeyUsage.BackupProvider, 5],\n [KeyUsage.ProtectOrchestrator, 6],\n [KeyUsage.PluginMeta, 7],\n [KeyUsage.CoinMeta, 8],\n [KeyUsage.SeedIdAuth, 9],\n [KeyUsage.TxSimulationSigner, 10],\n [KeyUsage.Calldata, 11],\n [KeyUsage.Network, 12],\n [KeyUsage.LESMultisig, 14],\n ]);\n\n static mapKeyUsageForFirmware(keyUsage: string): number {\n if (Object.values(KeyUsage).includes(keyUsage as KeyUsage)) {\n return this.keyUsageMap.get(keyUsage as KeyUsage) ?? -1;\n }\n return -1;\n }\n}\n"],
5
+ "mappings": "AAAA,OAAS,YAAAA,MAAgB,uBAElB,MAAMC,CAAe,CAC1B,OAAe,YAAc,IAAI,IAAsB,CACrD,CAACD,EAAS,aAAc,CAAC,EACzB,CAACA,EAAS,gBAAiB,CAAC,EAC5B,CAACA,EAAS,QAAS,CAAC,EACpB,CAACA,EAAS,YAAa,CAAC,EACxB,CAACA,EAAS,eAAgB,CAAC,EAC3B,CAACA,EAAS,oBAAqB,CAAC,EAChC,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,SAAU,CAAC,EACrB,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,mBAAoB,EAAE,EAChC,CAACA,EAAS,SAAU,EAAE,EACtB,CAACA,EAAS,QAAS,EAAE,EACrB,CAACA,EAAS,YAAa,EAAE,CAC3B,CAAC,EAED,OAAO,uBAAuBE,EAA0B,CACtD,OAAI,OAAO,OAAOF,CAAQ,EAAE,SAASE,CAAoB,EAChD,KAAK,YAAY,IAAIA,CAAoB,GAAK,GAEhD,EACT,CACF",
6
6
  "names": ["KeyUsage", "KeyUsageMapper", "keyUsage"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{KeyUsage as e}from"../../pki/model/KeyUsage";import{KeyUsageMapper as r}from"../../shared/utils/KeyUsageMapper";describe("KeyUsageMapper",()=>{describe("mapKeyUsageForFirmware",()=>{it.each([[e.GenuineCheck,1],[e.ExchangePayload,2],[e.NftMeta,3],[e.TrustedName,4],[e.BackupProvider,5],[e.ProtectOrchestrator,6],[e.PluginMeta,7],[e.CoinMeta,8],[e.SeedIdAuth,9],[e.TxSimulationSigner,10],[e.Calldata,11],[e.Network,12]])("should map key usage %s to %i",(a,t)=>{const o=r.mapKeyUsageForFirmware(a);expect(o).toEqual(t)}),it("should return -1 when key usage is not found",()=>{const a=r.mapKeyUsageForFirmware("unknown");expect(a).toEqual(-1)})})});
1
+ import{KeyUsage as e}from"../../pki/model/KeyUsage";import{KeyUsageMapper as r}from"../../shared/utils/KeyUsageMapper";describe("KeyUsageMapper",()=>{describe("mapKeyUsageForFirmware",()=>{it.each([[e.GenuineCheck,1],[e.ExchangePayload,2],[e.NftMeta,3],[e.TrustedName,4],[e.BackupProvider,5],[e.ProtectOrchestrator,6],[e.PluginMeta,7],[e.CoinMeta,8],[e.SeedIdAuth,9],[e.TxSimulationSigner,10],[e.Calldata,11],[e.Network,12],[e.LESMultisig,14]])("should map key usage %s to %i",(a,t)=>{const o=r.mapKeyUsageForFirmware(a);expect(o).toEqual(t)}),it("should return -1 when key usage is not found",()=>{const a=r.mapKeyUsageForFirmware("unknown");expect(a).toEqual(-1)})})});
2
2
  //# sourceMappingURL=KeyUsageMapper.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/shared/utils/KeyUsageMapper.test.ts"],
4
- "sourcesContent": ["import { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { KeyUsageMapper } from \"@/shared/utils/KeyUsageMapper\";\n\ndescribe(\"KeyUsageMapper\", () => {\n describe(\"mapKeyUsageForFirmware\", () => {\n it.each([\n [KeyUsage.GenuineCheck, 1],\n [KeyUsage.ExchangePayload, 2],\n [KeyUsage.NftMeta, 3],\n [KeyUsage.TrustedName, 4],\n [KeyUsage.BackupProvider, 5],\n [KeyUsage.ProtectOrchestrator, 6],\n [KeyUsage.PluginMeta, 7],\n [KeyUsage.CoinMeta, 8],\n [KeyUsage.SeedIdAuth, 9],\n [KeyUsage.TxSimulationSigner, 10],\n [KeyUsage.Calldata, 11],\n [KeyUsage.Network, 12],\n ])(`should map key usage %s to %i`, (keyUsage, expected) => {\n // WHEN\n const result = KeyUsageMapper.mapKeyUsageForFirmware(keyUsage);\n\n // THEN\n expect(result).toEqual(expected);\n });\n\n it(\"should return -1 when key usage is not found\", () => {\n // WHEN\n const result = KeyUsageMapper.mapKeyUsageForFirmware(\n \"unknown\" as KeyUsage,\n );\n\n // THEN\n expect(result).toEqual(-1);\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,YAAAA,MAAgB,uBACzB,OAAS,kBAAAC,MAAsB,gCAE/B,SAAS,iBAAkB,IAAM,CAC/B,SAAS,yBAA0B,IAAM,CACvC,GAAG,KAAK,CACN,CAACD,EAAS,aAAc,CAAC,EACzB,CAACA,EAAS,gBAAiB,CAAC,EAC5B,CAACA,EAAS,QAAS,CAAC,EACpB,CAACA,EAAS,YAAa,CAAC,EACxB,CAACA,EAAS,eAAgB,CAAC,EAC3B,CAACA,EAAS,oBAAqB,CAAC,EAChC,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,SAAU,CAAC,EACrB,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,mBAAoB,EAAE,EAChC,CAACA,EAAS,SAAU,EAAE,EACtB,CAACA,EAAS,QAAS,EAAE,CACvB,CAAC,EAAE,gCAAiC,CAACE,EAAUC,IAAa,CAE1D,MAAMC,EAASH,EAAe,uBAAuBC,CAAQ,EAG7D,OAAOE,CAAM,EAAE,QAAQD,CAAQ,CACjC,CAAC,EAED,GAAG,+CAAgD,IAAM,CAEvD,MAAMC,EAASH,EAAe,uBAC5B,SACF,EAGA,OAAOG,CAAM,EAAE,QAAQ,EAAE,CAC3B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { KeyUsageMapper } from \"@/shared/utils/KeyUsageMapper\";\n\ndescribe(\"KeyUsageMapper\", () => {\n describe(\"mapKeyUsageForFirmware\", () => {\n it.each([\n [KeyUsage.GenuineCheck, 1],\n [KeyUsage.ExchangePayload, 2],\n [KeyUsage.NftMeta, 3],\n [KeyUsage.TrustedName, 4],\n [KeyUsage.BackupProvider, 5],\n [KeyUsage.ProtectOrchestrator, 6],\n [KeyUsage.PluginMeta, 7],\n [KeyUsage.CoinMeta, 8],\n [KeyUsage.SeedIdAuth, 9],\n [KeyUsage.TxSimulationSigner, 10],\n [KeyUsage.Calldata, 11],\n [KeyUsage.Network, 12],\n [KeyUsage.LESMultisig, 14],\n ])(`should map key usage %s to %i`, (keyUsage, expected) => {\n // WHEN\n const result = KeyUsageMapper.mapKeyUsageForFirmware(keyUsage);\n\n // THEN\n expect(result).toEqual(expected);\n });\n\n it(\"should return -1 when key usage is not found\", () => {\n // WHEN\n const result = KeyUsageMapper.mapKeyUsageForFirmware(\n \"unknown\" as KeyUsage,\n );\n\n // THEN\n expect(result).toEqual(-1);\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,YAAAA,MAAgB,uBACzB,OAAS,kBAAAC,MAAsB,gCAE/B,SAAS,iBAAkB,IAAM,CAC/B,SAAS,yBAA0B,IAAM,CACvC,GAAG,KAAK,CACN,CAACD,EAAS,aAAc,CAAC,EACzB,CAACA,EAAS,gBAAiB,CAAC,EAC5B,CAACA,EAAS,QAAS,CAAC,EACpB,CAACA,EAAS,YAAa,CAAC,EACxB,CAACA,EAAS,eAAgB,CAAC,EAC3B,CAACA,EAAS,oBAAqB,CAAC,EAChC,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,SAAU,CAAC,EACrB,CAACA,EAAS,WAAY,CAAC,EACvB,CAACA,EAAS,mBAAoB,EAAE,EAChC,CAACA,EAAS,SAAU,EAAE,EACtB,CAACA,EAAS,QAAS,EAAE,EACrB,CAACA,EAAS,YAAa,EAAE,CAC3B,CAAC,EAAE,gCAAiC,CAACE,EAAUC,IAAa,CAE1D,MAAMC,EAASH,EAAe,uBAAuBC,CAAQ,EAG7D,OAAOE,CAAM,EAAE,QAAQD,CAAQ,CACjC,CAAC,EAED,GAAG,+CAAgD,IAAM,CAEvD,MAAMC,EAASH,EAAe,uBAC5B,SACF,EAGA,OAAOG,CAAM,EAAE,QAAQ,EAAE,CAC3B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["KeyUsage", "KeyUsageMapper", "keyUsage", "expected", "result"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ const r=e=>({debug:()=>{},info:()=>{},warn:()=>{},error:()=>{},subscribers:[]});export{r as NullLoggerPublisherService};
2
+ //# sourceMappingURL=NullLoggerPublisherService.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/shared/utils/NullLoggerPublisherService.ts"],
4
+ "sourcesContent": ["import type { LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\n\nexport const NullLoggerPublisherService: (\n tag: string,\n) => LoggerPublisherService = (_tag: string) => ({\n debug: () => {\n // no-op\n },\n info: () => {\n // no-op\n },\n warn: () => {\n // no-op\n },\n error: () => {\n // no-op\n },\n subscribers: [],\n});\n"],
5
+ "mappings": "AAEO,MAAMA,EAEkBC,IAAkB,CAC/C,MAAO,IAAM,CAEb,EACA,KAAM,IAAM,CAEZ,EACA,KAAM,IAAM,CAEZ,EACA,MAAO,IAAM,CAEb,EACA,YAAa,CAAC,CAChB",
6
+ "names": ["NullLoggerPublisherService", "_tag"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{describe as i,expect as o,it as t}from"vitest";import{NullLoggerPublisherService as r}from"./NullLoggerPublisherService";i("NullLoggerPublisherService",()=>{t("returns a LoggerPublisherService-like obj",()=>{const e=r("any-tag");o(e).toBeDefined(),o(typeof e.debug).toBe("function"),o(typeof e.info).toBe("function"),o(typeof e.warn).toBe("function"),o(typeof e.error).toBe("function"),o(Array.isArray(e.subscribers)).toBe(!0),o(e.subscribers).toHaveLength(0)}),t("methods are no-ops (do not throw)",()=>{const e=r("test");o(()=>e.debug("hello")).not.toThrow(),o(()=>e.info("hello")).not.toThrow(),o(()=>e.warn("hello")).not.toThrow(),o(()=>e.error("hello")).not.toThrow(),o(()=>e.debug("hello",{data:{a:1}})).not.toThrow()}),t("returns a new object per call (current implementation)",()=>{const e=r("x"),n=r("x");o(e).not.toBe(n)})});
2
+ //# sourceMappingURL=NullLoggerPublisherService.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/shared/utils/NullLoggerPublisherService.test.ts"],
4
+ "sourcesContent": ["import type { LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { NullLoggerPublisherService } from \"./NullLoggerPublisherService\";\n\ndescribe(\"NullLoggerPublisherService\", () => {\n it(\"returns a LoggerPublisherService-like obj\", () => {\n const logger = NullLoggerPublisherService(\n \"any-tag\",\n ) as LoggerPublisherService;\n\n expect(logger).toBeDefined();\n expect(typeof logger.debug).toBe(\"function\");\n expect(typeof logger.info).toBe(\"function\");\n expect(typeof logger.warn).toBe(\"function\");\n expect(typeof logger.error).toBe(\"function\");\n expect(Array.isArray(logger.subscribers)).toBe(true);\n expect(logger.subscribers).toHaveLength(0);\n });\n\n it(\"methods are no-ops (do not throw)\", () => {\n const logger = NullLoggerPublisherService(\"test\");\n\n expect(() => logger.debug(\"hello\")).not.toThrow();\n expect(() => logger.info(\"hello\")).not.toThrow();\n expect(() => logger.warn(\"hello\")).not.toThrow();\n expect(() => logger.error(\"hello\")).not.toThrow();\n\n expect(() => logger.debug(\"hello\", { data: { a: 1 } })).not.toThrow();\n });\n\n it(\"returns a new object per call (current implementation)\", () => {\n const logger1 = NullLoggerPublisherService(\"x\");\n const logger2 = NullLoggerPublisherService(\"x\");\n\n expect(logger1).not.toBe(logger2);\n });\n});\n"],
5
+ "mappings": "AACA,OAAS,YAAAA,EAAU,UAAAC,EAAQ,MAAAC,MAAU,SAErC,OAAS,8BAAAC,MAAkC,+BAE3CH,EAAS,6BAA8B,IAAM,CAC3CE,EAAG,4CAA6C,IAAM,CACpD,MAAME,EAASD,EACb,SACF,EAEAF,EAAOG,CAAM,EAAE,YAAY,EAC3BH,EAAO,OAAOG,EAAO,KAAK,EAAE,KAAK,UAAU,EAC3CH,EAAO,OAAOG,EAAO,IAAI,EAAE,KAAK,UAAU,EAC1CH,EAAO,OAAOG,EAAO,IAAI,EAAE,KAAK,UAAU,EAC1CH,EAAO,OAAOG,EAAO,KAAK,EAAE,KAAK,UAAU,EAC3CH,EAAO,MAAM,QAAQG,EAAO,WAAW,CAAC,EAAE,KAAK,EAAI,EACnDH,EAAOG,EAAO,WAAW,EAAE,aAAa,CAAC,CAC3C,CAAC,EAEDF,EAAG,oCAAqC,IAAM,CAC5C,MAAME,EAASD,EAA2B,MAAM,EAEhDF,EAAO,IAAMG,EAAO,MAAM,OAAO,CAAC,EAAE,IAAI,QAAQ,EAChDH,EAAO,IAAMG,EAAO,KAAK,OAAO,CAAC,EAAE,IAAI,QAAQ,EAC/CH,EAAO,IAAMG,EAAO,KAAK,OAAO,CAAC,EAAE,IAAI,QAAQ,EAC/CH,EAAO,IAAMG,EAAO,MAAM,OAAO,CAAC,EAAE,IAAI,QAAQ,EAEhDH,EAAO,IAAMG,EAAO,MAAM,QAAS,CAAE,KAAM,CAAE,EAAG,CAAE,CAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CACtE,CAAC,EAEDF,EAAG,yDAA0D,IAAM,CACjE,MAAMG,EAAUF,EAA2B,GAAG,EACxCG,EAAUH,EAA2B,GAAG,EAE9CF,EAAOI,CAAO,EAAE,IAAI,KAAKC,CAAO,CAClC,CAAC,CACH,CAAC",
6
+ "names": ["describe", "expect", "it", "NullLoggerPublisherService", "logger", "logger1", "logger2"]
7
+ }
@@ -1,2 +1,2 @@
1
- var w=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var u=(s,e,o,t)=>{for(var r=t>1?void 0:t?g(e,o):e,a=s.length-1,n;a>=0;a--)(n=s[a])&&(r=(t?n(e,o,r):n(r))||r);return t&&r&&w(e,o,r),r},f=(s,e)=>(o,t)=>e(o,t,s);import{hexaStringToBuffer as h}from"@ledgerhq/device-management-kit";import m from"axios";import{inject as E,injectable as A}from"inversify";import{Left as i,Right as d}from"purify-ts";import{configTypes as O}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as p,LEDGER_ORIGIN_TOKEN_HEADER as C}from"../../shared/constant/HttpHeaders";import S from"../../../package.json";let c=class{constructor(e){this.config=e;if(!this.config.originToken)throw new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required")}isSolanaSPLOwnerInfo(e){return typeof e!="object"||e===null?!1:typeof e.tokenAccount=="string"&&typeof e.owner=="string"&&typeof e.contract=="string"&&typeof e.signedDescriptor=="string"}async fetchAddressMetadata(e,o){return await m.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v2/solana/owner/${e}?challenge=${o}`,headers:{[p]:`context-module/${S.version}`,[C]:this.config.originToken}}).then(t=>this.isSolanaSPLOwnerInfo(t.data)?d(t.data):i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape"))).catch(()=>i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata")))}async computeAddressMetadata(e,o,t){return await m.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v2/solana/computed-token-account/${e}/${o}?challenge=${t}`,headers:{[p]:`context-module/${S.version}`,"X-Ledger-Client-Origin":this.config.originToken}}).then(r=>this.isSolanaSPLOwnerInfo(r.data)?d(r.data):i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape"))).catch(()=>i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to compute address metadata")))}async getOwnerInfo(e){const{tokenAddress:o,challenge:t,createATA:r}=e;if(!t)return i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required"));let a;if(o)a=await this.fetchAddressMetadata(o,t);else if(r?.address&&r?.mintAddress)a=await this.computeAddressMetadata(r.address,r.mintAddress,t);else return i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided"));return a.chain(n=>{const l=h(n.signedDescriptor);return l?d({descriptor:l,tokenAccount:n.tokenAccount,owner:n.owner,contract:n.contract}):i(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 descriptor received"))})}};c=u([A(),f(0,E(O.Config))],c);export{c as HttpSolanaOwnerInfoDataSource};
1
+ var w=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var f=(i,e,o,t)=>{for(var r=t>1?void 0:t?g(e,o):e,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=(t?s(e,o,r):s(r))||r);return t&&r&&w(e,o,r),r},u=(i,e)=>(o,t)=>e(o,t,i);import{hexaStringToBuffer as h}from"@ledgerhq/device-management-kit";import m from"axios";import{inject as E,injectable as I}from"inversify";import{Left as a,Right as l}from"purify-ts";import{configTypes as O}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as p,LEDGER_ORIGIN_TOKEN_HEADER as A}from"../../shared/constant/HttpHeaders";import S from"../../../package.json";let d=class{constructor(e){this.config=e;if(!this.config.originToken)throw new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required")}isSolanaSPLOwnerInfo(e){return typeof e!="object"||e===null?!1:typeof e.tokenAccount=="string"&&typeof e.owner=="string"&&typeof e.contract=="string"&&typeof e.signedDescriptor=="string"}async fetchAddressMetadata(e,o){return await m.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v2/solana/owner/${e}?challenge=${o}`,headers:{[p]:`context-module/${S.version}`,[A]:this.config.originToken}}).then(t=>this.isSolanaSPLOwnerInfo(t.data)?l(t.data):a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape"))).catch(()=>a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata")))}async computeAddressMetadata(e,o,t){return await m.request({method:"GET",url:`${this.config.metadataServiceDomain.url}/v2/solana/computed-token-account/${e}/${o}?challenge=${t}`,headers:{[p]:`context-module/${S.version}`,"X-Ledger-Client-Origin":this.config.originToken}}).then(r=>this.isSolanaSPLOwnerInfo(r.data)?l(r.data):a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape"))).catch(()=>a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to compute address metadata")))}async getOwnerInfo(e){const{tokenAddress:o,challenge:t,createATA:r}=e;if(!t)return a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required"));let n;if(o)n=await this.fetchAddressMetadata(o,t);else if(r?.address&&r?.mintAddress)n=await this.computeAddressMetadata(r.address,r.mintAddress,t);else return a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided"));return n.chain(s=>{const c=h(s.signedDescriptor);return c?l({tlvDescriptor:c}):a(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 tlvDescriptor received"))})}};d=f([I(),u(0,E(O.Config))],d);export{d as HttpSolanaOwnerInfoDataSource};
2
2
  //# sourceMappingURL=HttpSolanaOwnerInfoDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/solana/data/HttpSolanaOwnerInfoDataSource.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 { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport {\n SolanaSPLOwnerInfo,\n type SolanaTransactionContext,\n} from \"@/solana/domain/solanaContextTypes\";\nimport PACKAGE from \"@root/package.json\";\n\nimport {\n HttpSolanaOwnerInfoDataSourceResult,\n SolanaDataSource,\n} from \"./SolanaDataSource\";\n\n@injectable()\nexport class HttpSolanaOwnerInfoDataSource implements SolanaDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {\n if (!this.config.originToken) {\n throw new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required\",\n );\n }\n }\n\n private isSolanaSPLOwnerInfo(data: {\n tokenAccount?: unknown;\n owner?: unknown;\n contract?: unknown;\n signedDescriptor?: unknown;\n }): data is SolanaSPLOwnerInfo {\n if (typeof data !== \"object\" || data === null) return false;\n return (\n typeof data.tokenAccount === \"string\" &&\n typeof data.owner === \"string\" &&\n typeof data.contract === \"string\" &&\n typeof data.signedDescriptor === \"string\"\n );\n }\n\n async fetchAddressMetadata(\n tokenAddress: string,\n challenge: string,\n ): Promise<Either<Error, SolanaSPLOwnerInfo>> {\n return await axios\n .request<SolanaSPLOwnerInfo>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v2/solana/owner/${tokenAddress}?challenge=${challenge}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n })\n .then((res) => {\n if (!this.isSolanaSPLOwnerInfo(res.data))\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape\",\n ),\n );\n return Right(res.data);\n })\n .catch(() =>\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata\",\n ),\n ),\n );\n }\n\n async computeAddressMetadata(\n address: string,\n mintAddress: string,\n challenge: string,\n ): Promise<Either<Error, SolanaSPLOwnerInfo>> {\n return await axios\n .request<SolanaSPLOwnerInfo>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v2/solana/computed-token-account/${address}/${mintAddress}?challenge=${challenge}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n \"X-Ledger-Client-Origin\": this.config.originToken,\n },\n })\n .then((res) => {\n if (!this.isSolanaSPLOwnerInfo(res.data))\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape\",\n ),\n );\n return Right(res.data);\n })\n .catch(() =>\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to compute address metadata\",\n ),\n ),\n );\n }\n\n async getOwnerInfo(\n context: SolanaTransactionContext,\n ): Promise<Either<Error, HttpSolanaOwnerInfoDataSourceResult>> {\n const { tokenAddress, challenge, createATA } = context;\n\n if (!challenge) {\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required\",\n ),\n );\n }\n\n let ownerInfoResult: Either<Error, SolanaSPLOwnerInfo>;\n\n if (tokenAddress) {\n ownerInfoResult = await this.fetchAddressMetadata(\n tokenAddress,\n challenge,\n );\n } else if (createATA?.address && createATA?.mintAddress) {\n ownerInfoResult = await this.computeAddressMetadata(\n createATA.address,\n createATA.mintAddress,\n challenge,\n );\n } else {\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided\",\n ),\n );\n }\n\n return ownerInfoResult.chain((ownerInfo) => {\n const descriptor = hexaStringToBuffer(ownerInfo.signedDescriptor);\n if (!descriptor) {\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 descriptor received\",\n ),\n );\n }\n return Right({\n descriptor,\n tokenAccount: ownerInfo.tokenAccount,\n owner: ownerInfo.owner,\n contract: ownerInfo.contract,\n });\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,0BAE5B,OACE,gCAAAC,EACA,8BAAAC,MACK,gCAKP,OAAOC,MAAa,qBAQb,IAAMC,EAAN,KAAgE,CACrE,YAC+CC,EAC7C,CAD6C,YAAAA,EAE7C,GAAI,CAAC,KAAK,OAAO,YACf,MAAM,IAAI,MACR,2EACF,CAEJ,CAEQ,qBAAqBC,EAKE,CAC7B,OAAI,OAAOA,GAAS,UAAYA,IAAS,KAAa,GAEpD,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,OAAU,UACtB,OAAOA,EAAK,UAAa,UACzB,OAAOA,EAAK,kBAAqB,QAErC,CAEA,MAAM,qBACJC,EACAC,EAC4C,CAC5C,OAAO,MAAMC,EACV,QAA4B,CAC3B,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,oBAAoBF,CAAY,cAAcC,CAAS,GACpG,QAAS,CACP,CAACE,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,EACA,KAAMC,GACA,KAAK,qBAAqBA,EAAI,IAAI,EAMhCC,EAAMD,EAAI,IAAI,EALZE,EACL,IAAI,MACF,8FACF,CACF,CAEH,EACA,MAAM,IACLA,EACE,IAAI,MACF,mFACF,CACF,CACF,CACJ,CAEA,MAAM,uBACJC,EACAC,EACAT,EAC4C,CAC5C,OAAO,MAAMC,EACV,QAA4B,CAC3B,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,qCAAqCO,CAAO,IAAIC,CAAW,cAAcT,CAAS,GAC/H,QAAS,CACP,CAACE,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,yBAA0B,KAAK,OAAO,WACxC,CACF,CAAC,EACA,KAAME,GACA,KAAK,qBAAqBA,EAAI,IAAI,EAMhCC,EAAMD,EAAI,IAAI,EALZE,EACL,IAAI,MACF,gGACF,CACF,CAEH,EACA,MAAM,IACLA,EACE,IAAI,MACF,qFACF,CACF,CACF,CACJ,CAEA,MAAM,aACJG,EAC6D,CAC7D,KAAM,CAAE,aAAAX,EAAc,UAAAC,EAAW,UAAAW,CAAU,EAAID,EAE/C,GAAI,CAACV,EACH,OAAOO,EACL,IAAI,MACF,wEACF,CACF,EAGF,IAAIK,EAEJ,GAAIb,EACFa,EAAkB,MAAM,KAAK,qBAC3Bb,EACAC,CACF,UACSW,GAAW,SAAWA,GAAW,YAC1CC,EAAkB,MAAM,KAAK,uBAC3BD,EAAU,QACVA,EAAU,YACVX,CACF,MAEA,QAAOO,EACL,IAAI,MACF,0GACF,CACF,EAGF,OAAOK,EAAgB,MAAOC,GAAc,CAC1C,MAAMC,EAAaC,EAAmBF,EAAU,gBAAgB,EAChE,OAAKC,EAOER,EAAM,CACX,WAAAQ,EACA,aAAcD,EAAU,aACxB,MAAOA,EAAU,MACjB,SAAUA,EAAU,QACtB,CAAC,EAXQN,EACL,IAAI,MACF,qFACF,CACF,CAQJ,CAAC,CACH,CACF,EA5IaX,EAANoB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBxB",
6
- "names": ["hexaStringToBuffer", "axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpSolanaOwnerInfoDataSource", "config", "data", "tokenAddress", "challenge", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "res", "Right", "Left", "address", "mintAddress", "context", "createATA", "ownerInfoResult", "ownerInfo", "descriptor", "hexaStringToBuffer", "__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 { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport {\n SolanaSPLOwnerInfo,\n type SolanaTransactionContext,\n} from \"@/solana/domain/solanaContextTypes\";\nimport PACKAGE from \"@root/package.json\";\n\nimport {\n HttpSolanaOwnerInfoDataSourceResult,\n SolanaDataSource,\n} from \"./SolanaDataSource\";\n\n@injectable()\nexport class HttpSolanaOwnerInfoDataSource implements SolanaDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n ) {\n if (!this.config.originToken) {\n throw new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required\",\n );\n }\n }\n\n private isSolanaSPLOwnerInfo(data: {\n tokenAccount?: unknown;\n owner?: unknown;\n contract?: unknown;\n signedDescriptor?: unknown;\n }): data is SolanaSPLOwnerInfo {\n if (typeof data !== \"object\" || data === null) return false;\n return (\n typeof data.tokenAccount === \"string\" &&\n typeof data.owner === \"string\" &&\n typeof data.contract === \"string\" &&\n typeof data.signedDescriptor === \"string\"\n );\n }\n\n async fetchAddressMetadata(\n tokenAddress: string,\n challenge: string,\n ): Promise<Either<Error, SolanaSPLOwnerInfo>> {\n return await axios\n .request<SolanaSPLOwnerInfo>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v2/solana/owner/${tokenAddress}?challenge=${challenge}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n })\n .then((res) => {\n if (!this.isSolanaSPLOwnerInfo(res.data))\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape\",\n ),\n );\n return Right(res.data);\n })\n .catch(() =>\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata\",\n ),\n ),\n );\n }\n\n async computeAddressMetadata(\n address: string,\n mintAddress: string,\n challenge: string,\n ): Promise<Either<Error, SolanaSPLOwnerInfo>> {\n return await axios\n .request<SolanaSPLOwnerInfo>({\n method: \"GET\",\n url: `${this.config.metadataServiceDomain.url}/v2/solana/computed-token-account/${address}/${mintAddress}?challenge=${challenge}`,\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n \"X-Ledger-Client-Origin\": this.config.originToken,\n },\n })\n .then((res) => {\n if (!this.isSolanaSPLOwnerInfo(res.data))\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape\",\n ),\n );\n return Right(res.data);\n })\n .catch(() =>\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to compute address metadata\",\n ),\n ),\n );\n }\n\n async getOwnerInfo(\n context: SolanaTransactionContext,\n ): Promise<Either<Error, HttpSolanaOwnerInfoDataSourceResult>> {\n const { tokenAddress, challenge, createATA } = context;\n\n if (!challenge) {\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required\",\n ),\n );\n }\n\n let ownerInfoResult: Either<Error, SolanaSPLOwnerInfo>;\n\n if (tokenAddress) {\n ownerInfoResult = await this.fetchAddressMetadata(\n tokenAddress,\n challenge,\n );\n } else if (createATA?.address && createATA?.mintAddress) {\n ownerInfoResult = await this.computeAddressMetadata(\n createATA.address,\n createATA.mintAddress,\n challenge,\n );\n } else {\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided\",\n ),\n );\n }\n\n return ownerInfoResult.chain((ownerInfo) => {\n const tlvDescriptor = hexaStringToBuffer(ownerInfo.signedDescriptor);\n if (!tlvDescriptor) {\n return Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 tlvDescriptor received\",\n ),\n );\n }\n return Right({\n tlvDescriptor,\n });\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,0BAE5B,OACE,gCAAAC,EACA,8BAAAC,MACK,gCAKP,OAAOC,MAAa,qBAQb,IAAMC,EAAN,KAAgE,CACrE,YAC+CC,EAC7C,CAD6C,YAAAA,EAE7C,GAAI,CAAC,KAAK,OAAO,YACf,MAAM,IAAI,MACR,2EACF,CAEJ,CAEQ,qBAAqBC,EAKE,CAC7B,OAAI,OAAOA,GAAS,UAAYA,IAAS,KAAa,GAEpD,OAAOA,EAAK,cAAiB,UAC7B,OAAOA,EAAK,OAAU,UACtB,OAAOA,EAAK,UAAa,UACzB,OAAOA,EAAK,kBAAqB,QAErC,CAEA,MAAM,qBACJC,EACAC,EAC4C,CAC5C,OAAO,MAAMC,EACV,QAA4B,CAC3B,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,oBAAoBF,CAAY,cAAcC,CAAS,GACpG,QAAS,CACP,CAACE,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,CAACC,CAA0B,EAAG,KAAK,OAAO,WAC5C,CACF,CAAC,EACA,KAAMC,GACA,KAAK,qBAAqBA,EAAI,IAAI,EAMhCC,EAAMD,EAAI,IAAI,EALZE,EACL,IAAI,MACF,8FACF,CACF,CAEH,EACA,MAAM,IACLA,EACE,IAAI,MACF,mFACF,CACF,CACF,CACJ,CAEA,MAAM,uBACJC,EACAC,EACAT,EAC4C,CAC5C,OAAO,MAAMC,EACV,QAA4B,CAC3B,OAAQ,MACR,IAAK,GAAG,KAAK,OAAO,sBAAsB,GAAG,qCAAqCO,CAAO,IAAIC,CAAW,cAAcT,CAAS,GAC/H,QAAS,CACP,CAACE,CAA4B,EAAG,kBAAkBC,EAAQ,OAAO,GACjE,yBAA0B,KAAK,OAAO,WACxC,CACF,CAAC,EACA,KAAME,GACA,KAAK,qBAAqBA,EAAI,IAAI,EAMhCC,EAAMD,EAAI,IAAI,EALZE,EACL,IAAI,MACF,gGACF,CACF,CAEH,EACA,MAAM,IACLA,EACE,IAAI,MACF,qFACF,CACF,CACF,CACJ,CAEA,MAAM,aACJG,EAC6D,CAC7D,KAAM,CAAE,aAAAX,EAAc,UAAAC,EAAW,UAAAW,CAAU,EAAID,EAE/C,GAAI,CAACV,EACH,OAAOO,EACL,IAAI,MACF,wEACF,CACF,EAGF,IAAIK,EAEJ,GAAIb,EACFa,EAAkB,MAAM,KAAK,qBAC3Bb,EACAC,CACF,UACSW,GAAW,SAAWA,GAAW,YAC1CC,EAAkB,MAAM,KAAK,uBAC3BD,EAAU,QACVA,EAAU,YACVX,CACF,MAEA,QAAOO,EACL,IAAI,MACF,0GACF,CACF,EAGF,OAAOK,EAAgB,MAAOC,GAAc,CAC1C,MAAMC,EAAgBC,EAAmBF,EAAU,gBAAgB,EACnE,OAAKC,EAOER,EAAM,CACX,cAAAQ,CACF,CAAC,EARQP,EACL,IAAI,MACF,wFACF,CACF,CAKJ,CAAC,CACH,CACF,EAzIaX,EAANoB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,IAFjBxB",
6
+ "names": ["hexaStringToBuffer", "axios", "inject", "injectable", "Left", "Right", "configTypes", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "PACKAGE", "HttpSolanaOwnerInfoDataSource", "config", "data", "tokenAddress", "challenge", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "res", "Right", "Left", "address", "mintAddress", "context", "createATA", "ownerInfoResult", "ownerInfo", "tlvDescriptor", "hexaStringToBuffer", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceModelId as r,hexaStringToBuffer as l}from"@ledgerhq/device-management-kit";import s from"axios";import{Left as c}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as u}from"../../shared/constant/HttpHeaders";import{HttpSolanaOwnerInfoDataSource as n}from"../../solana/data/HttpSolanaOwnerInfoDataSource";import m from"../../../package.json";vi.mock("axios");function f(o){const d=new TextEncoder().encode(o);return Array.from(d).map(e=>e.toString(16).padStart(2,"0")).join("")}describe("HttpSolanaOwnerInfoDataSource",()=>{const o={metadataServiceDomain:{url:"https://some.doma.in"},originToken:"mock-origin-token"},i=f("mock-descriptor"),d={tokenAccount:"token-account",owner:"owner-address",contract:"contract-address",signedDescriptor:i};beforeEach(()=>{vi.resetAllMocks()}),it("should fetch address metadata via tokenAddress",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0};vi.spyOn(s,"request").mockResolvedValueOnce({data:d});const t=await new n(o).getOwnerInfo(e);expect(t.isRight()).toBe(!0),expect(t.extract()).toEqual({descriptor:l(i),tokenAccount:"token-account",owner:"owner-address",contract:"contract-address"})}),it("should compute address when tokenAddress is not provided",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:void 0,challenge:"random",createATA:{address:"some-address",mintAddress:"some-mint"}};vi.spyOn(s,"request").mockResolvedValueOnce({data:d});const t=await new n(o).getOwnerInfo(e);expect(t.isRight()).toBe(!0),expect(t.extract().tokenAccount).toBe("token-account")}),it("should return an error if both tokenAddress and createATA are missing or invalid",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:void 0,challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(c(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided")))}),it("should return an error if challenge is missing",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:void 0,createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(c(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required")))}),it("should return an error if the descriptor is not valid base64",async()=>{vi.spyOn(s,"request").mockResolvedValueOnce({data:{...d,signedDescriptor:"!!!not-valid-base64!!!"}});const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(c(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 descriptor received")))}),it("should return an error if the metadata request fails",async()=>{vi.spyOn(s,"request").mockRejectedValueOnce(new Error("Network error"));const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(c(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata")))}),it("should return an error if axios request return wrong shape for fetchAddressMetadata",async()=>{vi.spyOn(s,"request").mockResolvedValueOnce({data:{wrong:"field"}});const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(c(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape")))}),it("should return an error if axios request return wrong shape for computeAddressMetadata",async()=>{vi.spyOn(s,"request").mockResolvedValueOnce({data:{wrong:"field"}});const e={deviceModelId:r.FLEX,tokenAddress:void 0,challenge:"random",createATA:{address:"some-address",mintAddress:"some-mint"}},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(c(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape")))}),it("should throw if originToken is missing",()=>{expect(()=>{new n({...o,originToken:void 0})}).toThrow("[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required")}),it("should call axios with correct headers",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},a=vi.spyOn(s,"request").mockResolvedValueOnce({data:d});await new n(o).getOwnerInfo(e),expect(a).toHaveBeenCalledWith(expect.objectContaining({headers:{[u]:`context-module/${m.version}`,"X-Ledger-Client-Origin":o.originToken}}))})});
1
+ import{DeviceModelId as r,hexaStringToBuffer as l}from"@ledgerhq/device-management-kit";import s from"axios";import{Left as d}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as u}from"../../shared/constant/HttpHeaders";import{HttpSolanaOwnerInfoDataSource as n}from"../../solana/data/HttpSolanaOwnerInfoDataSource";import f from"../../../package.json";vi.mock("axios");function m(o){const c=new TextEncoder().encode(o);return Array.from(c).map(e=>e.toString(16).padStart(2,"0")).join("")}describe("HttpSolanaOwnerInfoDataSource",()=>{const o={metadataServiceDomain:{url:"https://some.doma.in"},originToken:"mock-origin-token"},i=m("mock-descriptor"),c={tokenAccount:"token-account",owner:"owner-address",contract:"contract-address",signedDescriptor:i};beforeEach(()=>{vi.resetAllMocks()}),it("should fetch address metadata via tokenAddress",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0};vi.spyOn(s,"request").mockResolvedValueOnce({data:c});const t=await new n(o).getOwnerInfo(e);expect(t.isRight()).toBe(!0),expect(t.extract()).toEqual({tlvDescriptor:l(i)})}),it("should return an error if both tokenAddress and createATA are missing or invalid",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:void 0,challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(d(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided")))}),it("should return an error if challenge is missing",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:void 0,createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(d(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required")))}),it("should return an error if the descriptor is not valid base64",async()=>{vi.spyOn(s,"request").mockResolvedValueOnce({data:{...c,signedDescriptor:"!!!not-valid-base64!!!"}});const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(d(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 tlvDescriptor received")))}),it("should return an error if the metadata request fails",async()=>{vi.spyOn(s,"request").mockRejectedValueOnce(new Error("Network error"));const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(d(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata")))}),it("should return an error if axios request return wrong shape for fetchAddressMetadata",async()=>{vi.spyOn(s,"request").mockResolvedValueOnce({data:{wrong:"field"}});const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(d(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape")))}),it("should return an error if axios request return wrong shape for computeAddressMetadata",async()=>{vi.spyOn(s,"request").mockResolvedValueOnce({data:{wrong:"field"}});const e={deviceModelId:r.FLEX,tokenAddress:void 0,challenge:"random",createATA:{address:"some-address",mintAddress:"some-mint"}},t=await new n(o).getOwnerInfo(e);expect(t).toEqual(d(new Error("[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape")))}),it("should throw if originToken is missing",()=>{expect(()=>{new n({...o,originToken:void 0})}).toThrow("[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required")}),it("should call axios with correct headers",async()=>{const e={deviceModelId:r.FLEX,tokenAddress:"some-token",challenge:"random",createATA:void 0},a=vi.spyOn(s,"request").mockResolvedValueOnce({data:c});await new n(o).getOwnerInfo(e),expect(a).toHaveBeenCalledWith(expect.objectContaining({headers:{[u]:`context-module/${f.version}`,"X-Ledger-Client-Origin":o.originToken}}))})});
2
2
  //# sourceMappingURL=HttpSolanaOwnerInfoDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/solana/data/HttpSolanaOwnerInfoDataSource.test.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n DeviceModelId,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport axios from \"axios\";\nimport { Left } from \"purify-ts\";\n\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport { HttpSolanaOwnerInfoDataSource } from \"@/solana/data/HttpSolanaOwnerInfoDataSource\";\nimport type { SolanaTransactionContext } from \"@/solana/domain/solanaContextTypes\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\nfunction stringToHex(str: string): string {\n const encoder = new TextEncoder();\n const bytes = encoder.encode(str); // Uint8Array\n return Array.from(bytes)\n .map((byte) => byte.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n\ndescribe(\"HttpSolanaOwnerInfoDataSource\", () => {\n const config = {\n metadataServiceDomain: { url: \"https://some.doma.in\" },\n originToken: \"mock-origin-token\",\n } as ContextModuleConfig;\n\n const signedDescriptorHex = stringToHex(\"mock-descriptor\");\n const responseData = {\n tokenAccount: \"token-account\",\n owner: \"owner-address\",\n contract: \"contract-address\",\n signedDescriptor: signedDescriptorHex,\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should fetch address metadata via tokenAddress\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: responseData });\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toEqual({\n descriptor: hexaStringToBuffer(signedDescriptorHex),\n tokenAccount: \"token-account\",\n owner: \"owner-address\",\n contract: \"contract-address\",\n });\n });\n\n it(\"should compute address when tokenAddress is not provided\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: undefined,\n challenge: \"random\",\n createATA: {\n address: \"some-address\",\n mintAddress: \"some-mint\",\n },\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: responseData });\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result.isRight()).toBe(true);\n expect((result.extract() as any).tokenAccount).toBe(\"token-account\");\n });\n\n it(\"should return an error if both tokenAddress and createATA are missing or invalid\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: undefined,\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided\",\n ),\n ),\n );\n });\n\n it(\"should return an error if challenge is missing\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: undefined,\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the descriptor is not valid base64\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({\n data: { ...responseData, signedDescriptor: \"!!!not-valid-base64!!!\" },\n });\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 descriptor received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the metadata request fails\", async () => {\n vi.spyOn(axios, \"request\").mockRejectedValueOnce(\n new Error(\"Network error\"),\n );\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata\",\n ),\n ),\n );\n });\n\n it(\"should return an error if axios request return wrong shape for fetchAddressMetadata\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({\n data: { wrong: \"field\" },\n });\n\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape\",\n ),\n ),\n );\n });\n\n it(\"should return an error if axios request return wrong shape for computeAddressMetadata\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({\n data: { wrong: \"field\" },\n });\n\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: undefined,\n challenge: \"random\",\n createATA: {\n address: \"some-address\",\n mintAddress: \"some-mint\",\n },\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape\",\n ),\n ),\n );\n });\n\n it(\"should throw if originToken is missing\", () => {\n expect(() => {\n new HttpSolanaOwnerInfoDataSource({\n ...config,\n originToken: undefined,\n } as any);\n }).toThrow(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required\",\n );\n });\n\n it(\"should call axios with correct headers\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n const spy = vi\n .spyOn(axios, \"request\")\n .mockResolvedValueOnce({ data: responseData });\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n await dataSource.getOwnerInfo(context);\n\n expect(spy).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n \"X-Ledger-Client-Origin\": config.originToken,\n },\n }),\n );\n });\n});\n"],
5
- "mappings": "AAEA,OACE,iBAAAA,EACA,sBAAAC,MACK,kCACP,OAAOC,MAAW,QAClB,OAAS,QAAAC,MAAY,YAGrB,OAAS,gCAAAC,MAAoC,gCAC7C,OAAS,iCAAAC,MAAqC,8CAE9C,OAAOC,MAAa,qBAEpB,GAAG,KAAK,OAAO,EAEf,SAASC,EAAYC,EAAqB,CAExC,MAAMC,EADU,IAAI,YAAY,EACV,OAAOD,CAAG,EAChC,OAAO,MAAM,KAAKC,CAAK,EACpB,IAAKC,GAASA,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAChD,KAAK,EAAE,CACZ,CAEA,SAAS,gCAAiC,IAAM,CAC9C,MAAMC,EAAS,CACb,sBAAuB,CAAE,IAAK,sBAAuB,EACrD,YAAa,mBACf,EAEMC,EAAsBL,EAAY,iBAAiB,EACnDM,EAAe,CACnB,aAAc,gBACd,MAAO,gBACP,SAAU,mBACV,iBAAkBD,CACpB,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,iDAAkD,SAAY,CAC/D,MAAME,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,aACd,UAAW,SACX,UAAW,MACb,EACA,GAAG,MAAME,EAAO,SAAS,EAAE,sBAAsB,CAAE,KAAMW,CAAa,CAAC,EAGvE,MAAME,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,EAClC,OAAOA,EAAO,QAAQ,CAAC,EAAE,QAAQ,CAC/B,WAAYd,EAAmBW,CAAmB,EAClD,aAAc,gBACd,MAAO,gBACP,SAAU,kBACZ,CAAC,CACH,CAAC,EAED,GAAG,2DAA4D,SAAY,CACzE,MAAME,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,OACd,UAAW,SACX,UAAW,CACT,QAAS,eACT,YAAa,WACf,CACF,EACA,GAAG,MAAME,EAAO,SAAS,EAAE,sBAAsB,CAAE,KAAMW,CAAa,CAAC,EAGvE,MAAME,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,EAClC,OAAQA,EAAO,QAAQ,EAAU,YAAY,EAAE,KAAK,eAAe,CACrE,CAAC,EAED,GAAG,mFAAoF,SAAY,CACjG,MAAMD,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,OACd,UAAW,SACX,UAAW,MACb,EAGMe,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,CAAM,EAAE,QACbZ,EACE,IAAI,MACF,0GACF,CACF,CACF,CACF,CAAC,EAED,GAAG,iDAAkD,SAAY,CAC/D,MAAMW,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,aACd,UAAW,OACX,UAAW,MACb,EAGMe,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,CAAM,EAAE,QACbZ,EACE,IAAI,MACF,wEACF,CACF,CACF,CACF,CAAC,EAED,GAAG,+DAAgE,SAAY,CAC7E,GAAG,MAAMD,EAAO,SAAS,EAAE,sBAAsB,CAC/C,KAAM,CAAE,GAAGW,EAAc,iBAAkB,wBAAyB,CACtE,CAAC,EACD,MAAMC,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,aACd,UAAW,SACX,UAAW,MACb,EAGMe,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,CAAM,EAAE,QACbZ,EACE,IAAI,MACF,qFACF,CACF,CACF,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CACrE,GAAG,MAAMD,EAAO,SAAS,EAAE,sBACzB,IAAI,MAAM,eAAe,CAC3B,EACA,MAAMY,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,aACd,UAAW,SACX,UAAW,MACb,EAGMe,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,CAAM,EAAE,QACbZ,EACE,IAAI,MACF,mFACF,CACF,CACF,CACF,CAAC,EAED,GAAG,sFAAuF,SAAY,CACpG,GAAG,MAAMD,EAAO,SAAS,EAAE,sBAAsB,CAC/C,KAAM,CAAE,MAAO,OAAQ,CACzB,CAAC,EAED,MAAMY,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,aACd,UAAW,SACX,UAAW,MACb,EAGMe,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,CAAM,EAAE,QACbZ,EACE,IAAI,MACF,8FACF,CACF,CACF,CACF,CAAC,EAED,GAAG,wFAAyF,SAAY,CACtG,GAAG,MAAMD,EAAO,SAAS,EAAE,sBAAsB,CAC/C,KAAM,CAAE,MAAO,OAAQ,CACzB,CAAC,EAED,MAAMY,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,OACd,UAAW,SACX,UAAW,CACT,QAAS,eACT,YAAa,WACf,CACF,EAGMe,EAAS,MADI,IAAIV,EAA8BM,CAAM,EAC3B,aAAaG,CAAO,EAEpD,OAAOC,CAAM,EAAE,QACbZ,EACE,IAAI,MACF,gGACF,CACF,CACF,CACF,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,OAAO,IAAM,CACX,IAAIE,EAA8B,CAChC,GAAGM,EACH,YAAa,MACf,CAAQ,CACV,CAAC,EAAE,QACD,2EACF,CACF,CAAC,EAED,GAAG,yCAA0C,SAAY,CACvD,MAAMG,EAAoC,CACxC,cAAed,EAAc,KAC7B,aAAc,aACd,UAAW,SACX,UAAW,MACb,EACMgB,EAAM,GACT,MAAMd,EAAO,SAAS,EACtB,sBAAsB,CAAE,KAAMW,CAAa,CAAC,EAG/C,MADmB,IAAIR,EAA8BM,CAAM,EAC1C,aAAaG,CAAO,EAErC,OAAOE,CAAG,EAAE,qBACV,OAAO,iBAAiB,CACtB,QAAS,CACP,CAACZ,CAA4B,EAAG,kBAAkBE,EAAQ,OAAO,GACjE,yBAA0BK,EAAO,WACnC,CACF,CAAC,CACH,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n DeviceModelId,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport axios from \"axios\";\nimport { Left } from \"purify-ts\";\n\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { LEDGER_CLIENT_VERSION_HEADER } from \"@/shared/constant/HttpHeaders\";\nimport { HttpSolanaOwnerInfoDataSource } from \"@/solana/data/HttpSolanaOwnerInfoDataSource\";\nimport type { SolanaTransactionContext } from \"@/solana/domain/solanaContextTypes\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\nfunction stringToHex(str: string): string {\n const encoder = new TextEncoder();\n const bytes = encoder.encode(str); // Uint8Array\n return Array.from(bytes)\n .map((byte) => byte.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n\ndescribe(\"HttpSolanaOwnerInfoDataSource\", () => {\n const config = {\n metadataServiceDomain: { url: \"https://some.doma.in\" },\n originToken: \"mock-origin-token\",\n } as ContextModuleConfig;\n\n const signedDescriptorHex = stringToHex(\"mock-descriptor\");\n const responseData = {\n tokenAccount: \"token-account\",\n owner: \"owner-address\",\n contract: \"contract-address\",\n signedDescriptor: signedDescriptorHex,\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should fetch address metadata via tokenAddress\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: responseData });\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toEqual({\n tlvDescriptor: hexaStringToBuffer(signedDescriptorHex),\n });\n });\n\n it(\"should return an error if both tokenAddress and createATA are missing or invalid\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: undefined,\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: either tokenAddress or valid createATA must be provided\",\n ),\n ),\n );\n });\n\n it(\"should return an error if challenge is missing\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: undefined,\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: challenge is required\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the descriptor is not valid base64\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({\n data: { ...responseData, signedDescriptor: \"!!!not-valid-base64!!!\" },\n });\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid base64 tlvDescriptor received\",\n ),\n ),\n );\n });\n\n it(\"should return an error if the metadata request fails\", async () => {\n vi.spyOn(axios, \"request\").mockRejectedValueOnce(\n new Error(\"Network error\"),\n );\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: Failed to fetch address metadata\",\n ),\n ),\n );\n });\n\n it(\"should return an error if axios request return wrong shape for fetchAddressMetadata\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({\n data: { wrong: \"field\" },\n });\n\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid fetchAddressMetadata response shape\",\n ),\n ),\n );\n });\n\n it(\"should return an error if axios request return wrong shape for computeAddressMetadata\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({\n data: { wrong: \"field\" },\n });\n\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: undefined,\n challenge: \"random\",\n createATA: {\n address: \"some-address\",\n mintAddress: \"some-mint\",\n },\n };\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n const result = await dataSource.getOwnerInfo(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: invalid computeAddressMetadata response shape\",\n ),\n ),\n );\n });\n\n it(\"should throw if originToken is missing\", () => {\n expect(() => {\n new HttpSolanaOwnerInfoDataSource({\n ...config,\n originToken: undefined,\n } as any);\n }).toThrow(\n \"[ContextModule] - HttpSolanaOwnerInfoDataSource: origin token is required\",\n );\n });\n\n it(\"should call axios with correct headers\", async () => {\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"some-token\",\n challenge: \"random\",\n createATA: undefined,\n };\n const spy = vi\n .spyOn(axios, \"request\")\n .mockResolvedValueOnce({ data: responseData });\n\n const dataSource = new HttpSolanaOwnerInfoDataSource(config);\n await dataSource.getOwnerInfo(context);\n\n expect(spy).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n \"X-Ledger-Client-Origin\": config.originToken,\n },\n }),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["DeviceModelId", "hexaStringToBuffer", "axios", "Left", "LEDGER_CLIENT_VERSION_HEADER", "HttpSolanaOwnerInfoDataSource", "PACKAGE", "stringToHex", "str", "bytes", "byte", "config", "signedDescriptorHex", "responseData", "context", "result", "spy"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var f=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var s=(r,e,t,o)=>{for(var a=o>1?void 0:o?p(e,t):e,i=r.length-1,n;i>=0;i--)(n=r[i])&&(a=(o?n(e,t,a):n(a))||a);return o&&a&&f(e,t,a),a},m=(r,e)=>(t,o)=>e(t,o,r);import{inject as d,injectable as l}from"inversify";import{Left as S}from"purify-ts";import{pkiTypes as u}from"../../pki/di/pkiTypes";import{KeyUsage as y}from"../../pki/model/KeyUsage";import{solanaContextTypes as C}from"../../solana/di/solanaContextTypes";let c=class{constructor(e,t){this._certificateLoader=t;this._dataSource=e}_dataSource;async load(e){const t=await this._certificateLoader.loadCertificate({keyId:"domain_metadata_key",keyUsage:y.TrustedName,targetDevice:e.deviceModelId});return t?(await this._dataSource.getOwnerInfo(e)).map(({descriptor:o,tokenAccount:a,owner:i,contract:n})=>({descriptor:o,tokenAccount:a,owner:i,contract:n,certificate:t})):S(new Error("[ContextModule] - DefaultSolanaContextLoader: CAL certificate is undefined"))}};c=s([l(),m(0,d(C.SolanaDataSource)),m(1,d(u.PkiCertificateLoader))],c);export{c as DefaultSolanaContextLoader};
1
+ var S=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var f=(i,e,a,o)=>{for(var r=o>1?void 0:o?y(e,a):e,n=i.length-1,d;n>=0;n--)(d=i[n])&&(r=(o?d(e,a,r):d(r))||r);return o&&r&&S(e,a,r),r},s=(i,e)=>(a,o)=>e(a,o,i);import{inject as l,injectable as T}from"inversify";import{Left as C}from"purify-ts";import{configTypes as k}from"../../config/di/configTypes";import{pkiTypes as v}from"../../pki/di/pkiTypes";import{KeyUsage as P}from"../../pki/model/KeyUsage";import{SolanaContextTypes as p}from"../../shared/model/SolanaContextTypes";import{solanaContextTypes as x}from"../../solana/di/solanaContextTypes";import{solanaTokenTypes as _}from"../../solanaToken/di/solanaTokenTypes";let c=class{constructor(e,a,o,r){this._dataSource=e;this._certificateLoader=a;this._solanaTokenLoader=o;this.logger=r("DefaultSolanaContextLoader")}logger;async load(e){this.logger.debug("[load] Loading solana context",{data:{input:e}});const{deviceModelId:a}=e,o=await this._certificateLoader.loadCertificate({keyId:"domain_metadata_key",keyUsage:P.TrustedName,targetDevice:a});if(!o)return C(new Error("[ContextModule] DefaultSolanaContextLoader: trustedNamePKICertificate is missing"));const n=[{loader:this._solanaTokenLoader,expectedType:p.SOLANA_TOKEN}].map(({loader:t,expectedType:m})=>{if(t.canHandle(e,m))return t.loadField(e)}).filter(t=>t!==void 0),u=(await Promise.allSettled(n)).map(t=>t.status==="fulfilled"?t.value:void 0).filter(t=>t!==void 0).sort((t,m)=>{const L=t.type===p.SOLANA_TOKEN?0:1,g=m.type===p.SOLANA_TOKEN?0:1;return L-g});return(await this._dataSource.getOwnerInfo(e)).map(({tlvDescriptor:t})=>({trustedNamePKICertificate:o,tlvDescriptor:t,loadersResults:u}))}};c=f([T(),s(0,l(x.SolanaDataSource)),s(1,l(v.PkiCertificateLoader)),s(2,l(_.SolanaTokenContextLoader)),s(3,l(k.ContextModuleLoggerFactory))],c);export{c as DefaultSolanaContextLoader};
2
2
  //# sourceMappingURL=DefaultSolanaContextLoader.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/solana/domain/DefaultSolanaContextLoader.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Left } from \"purify-ts\";\n\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { type SolanaDataSource } from \"@/solana/data/SolanaDataSource\";\nimport { solanaContextTypes } from \"@/solana/di/solanaContextTypes\";\n\nimport { SolanaContextLoader } from \"./SolanaContextLoader\";\nimport {\n SolanaTransactionContext,\n SolanaTransactionContextResult,\n} from \"./solanaContextTypes\";\n\n@injectable()\nexport class DefaultSolanaContextLoader implements SolanaContextLoader {\n private _dataSource: SolanaDataSource;\n\n constructor(\n @inject(solanaContextTypes.SolanaDataSource)\n dataSource: SolanaDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private readonly _certificateLoader: PkiCertificateLoader,\n ) {\n this._dataSource = dataSource;\n }\n\n async load(\n solanaContext: SolanaTransactionContext,\n ): Promise<SolanaTransactionContextResult> {\n // load the CAL certificate\n const certificate = await this._certificateLoader.loadCertificate({\n keyId: \"domain_metadata_key\",\n keyUsage: KeyUsage.TrustedName,\n targetDevice: solanaContext.deviceModelId,\n });\n if (!certificate) {\n return Left(\n new Error(\n \"[ContextModule] - DefaultSolanaContextLoader: CAL certificate is undefined\",\n ),\n );\n }\n\n // fetch the Solana context\n return (await this._dataSource.getOwnerInfo(solanaContext)).map(\n ({ descriptor, tokenAccount, owner, contract }) => ({\n descriptor,\n tokenAccount,\n owner,\n contract,\n certificate,\n }),\n );\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,QAAAC,MAAY,YAErB,OAAS,YAAAC,MAAgB,oBAEzB,OAAS,YAAAC,MAAgB,uBAEzB,OAAS,sBAAAC,MAA0B,iCAS5B,IAAMC,EAAN,KAAgE,CAGrE,YAEEC,EAEiBC,EACjB,CADiB,wBAAAA,EAEjB,KAAK,YAAcD,CACrB,CATQ,YAWR,MAAM,KACJE,EACyC,CAEzC,MAAMC,EAAc,MAAM,KAAK,mBAAmB,gBAAgB,CAChE,MAAO,sBACP,SAAUC,EAAS,YACnB,aAAcF,EAAc,aAC9B,CAAC,EACD,OAAKC,GASG,MAAM,KAAK,YAAY,aAAaD,CAAa,GAAG,IAC1D,CAAC,CAAE,WAAAG,EAAY,aAAAC,EAAc,MAAAC,EAAO,SAAAC,CAAS,KAAO,CAClD,WAAAH,EACA,aAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAL,CACF,EACF,EAhBSM,EACL,IAAI,MACF,4EACF,CACF,CAaJ,CACF,EAxCaV,EAANW,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,gBAAgB,GAE1CF,EAAA,EAAAC,EAAOE,EAAS,oBAAoB,IAN5BhB",
6
- "names": ["inject", "injectable", "Left", "pkiTypes", "KeyUsage", "solanaContextTypes", "DefaultSolanaContextLoader", "dataSource", "_certificateLoader", "solanaContext", "certificate", "KeyUsage", "descriptor", "tokenAccount", "owner", "contract", "Left", "__decorateClass", "injectable", "__decorateParam", "inject", "solanaContextTypes", "pkiTypes"]
4
+ "sourcesContent": ["import { LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\nimport { Left } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport {\n LoaderResult,\n SolanaContextTypes,\n} from \"@/shared/model/SolanaContextTypes\";\nimport { type SolanaDataSource } from \"@/solana/data/SolanaDataSource\";\nimport { solanaContextTypes } from \"@/solana/di/solanaContextTypes\";\n// import { lifiTypes } from \"@/solanaLifi/di/solanaLifiTypes\";\n// import { SolanaLifiContextLoader } from \"@/solanaLifi/domain/SolanaLifiContextLoader\";\nimport { solanaTokenTypes } from \"@/solanaToken/di/solanaTokenTypes\";\nimport { SolanaTokenContextLoader } from \"@/solanaToken/domain/SolanaTokenContextLoader\";\n\nimport { type SolanaContextLoader } from \"./SolanaContextLoader\";\nimport {\n SolanaTransactionContext,\n SolanaTransactionContextResult,\n} from \"./solanaContextTypes\";\n\n@injectable()\nexport class DefaultSolanaContextLoader implements SolanaContextLoader {\n private logger: LoggerPublisherService;\n\n constructor(\n @inject(solanaContextTypes.SolanaDataSource)\n private readonly _dataSource: SolanaDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private readonly _certificateLoader: PkiCertificateLoader,\n @inject(solanaTokenTypes.SolanaTokenContextLoader)\n private readonly _solanaTokenLoader: SolanaTokenContextLoader,\n @inject(configTypes.ContextModuleLoggerFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n // @inject(lifiTypes.SolanaLifiContextLoader)\n // private readonly _solanaLifiLoader: SolanaLifiContextLoader,\n ) {\n this.logger = loggerFactory(\"DefaultSolanaContextLoader\");\n }\n\n async load(\n solanaContext: SolanaTransactionContext,\n ): Promise<SolanaTransactionContextResult> {\n this.logger.debug(\"[load] Loading solana context\", {\n data: { input: solanaContext },\n });\n const { deviceModelId } = solanaContext;\n\n const trustedNamePKICertificate =\n await this._certificateLoader.loadCertificate({\n keyId: \"domain_metadata_key\",\n keyUsage: KeyUsage.TrustedName,\n targetDevice: deviceModelId,\n });\n\n if (!trustedNamePKICertificate) {\n return Left(\n new Error(\n \"[ContextModule] DefaultSolanaContextLoader: trustedNamePKICertificate is missing\",\n ),\n );\n }\n\n const loaderEntries = [\n {\n loader: this._solanaTokenLoader,\n expectedType: SolanaContextTypes.SOLANA_TOKEN,\n },\n // TODO LIFI\n // Lifi loader currently disabled as WIP\n // {\n // loader: this._solanaLifiLoader,\n // expectedType: SolanaContextTypes.SOLANA_LIFI,\n // },\n ];\n\n const loaderPromises: Promise<LoaderResult>[] = loaderEntries\n .map(({ loader, expectedType }) => {\n if (loader.canHandle(solanaContext, expectedType)) {\n return loader.loadField(solanaContext);\n }\n return undefined;\n })\n .filter((p): p is Promise<LoaderResult> => p !== undefined);\n\n const settledLoaders = await Promise.allSettled(loaderPromises);\n\n const loadersResults = settledLoaders\n .map((r) => (r.status === \"fulfilled\" ? r.value : undefined))\n .filter((v): v is LoaderResult => v !== undefined)\n // always sort with SOLANA_TOKEN first\n .sort((a, b) => {\n const A = a.type === SolanaContextTypes.SOLANA_TOKEN ? 0 : 1;\n const B = b.type === SolanaContextTypes.SOLANA_TOKEN ? 0 : 1;\n return A - B;\n });\n\n const tlvDescriptorEither =\n await this._dataSource.getOwnerInfo(solanaContext);\n\n return tlvDescriptorEither.map(({ tlvDescriptor }) => ({\n trustedNamePKICertificate,\n tlvDescriptor,\n loadersResults,\n }));\n }\n}\n"],
5
+ "mappings": "iOACA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,QAAAC,MAAY,YAErB,OAAS,eAAAC,MAAmB,0BAC5B,OAAS,YAAAC,MAAgB,oBAEzB,OAAS,YAAAC,MAAgB,uBACzB,OAEE,sBAAAC,MACK,oCAEP,OAAS,sBAAAC,MAA0B,iCAGnC,OAAS,oBAAAC,MAAwB,oCAU1B,IAAMC,EAAN,KAAgE,CAGrE,YAEmBC,EAEAC,EAEAC,EAEjBC,EAGA,CATiB,iBAAAH,EAEA,wBAAAC,EAEA,wBAAAC,EAMjB,KAAK,OAASC,EAAc,4BAA4B,CAC1D,CAfQ,OAiBR,MAAM,KACJC,EACyC,CACzC,KAAK,OAAO,MAAM,gCAAiC,CACjD,KAAM,CAAE,MAAOA,CAAc,CAC/B,CAAC,EACD,KAAM,CAAE,cAAAC,CAAc,EAAID,EAEpBE,EACJ,MAAM,KAAK,mBAAmB,gBAAgB,CAC5C,MAAO,sBACP,SAAUC,EAAS,YACnB,aAAcF,CAChB,CAAC,EAEH,GAAI,CAACC,EACH,OAAOE,EACL,IAAI,MACF,kFACF,CACF,EAgBF,MAAMC,EAbgB,CACpB,CACE,OAAQ,KAAK,mBACb,aAAcC,EAAmB,YACnC,CAOF,EAGG,IAAI,CAAC,CAAE,OAAAC,EAAQ,aAAAC,CAAa,IAAM,CACjC,GAAID,EAAO,UAAUP,EAAeQ,CAAY,EAC9C,OAAOD,EAAO,UAAUP,CAAa,CAGzC,CAAC,EACA,OAAQS,GAAkCA,IAAM,MAAS,EAItDC,GAFiB,MAAM,QAAQ,WAAWL,CAAc,GAG3D,IAAKM,GAAOA,EAAE,SAAW,YAAcA,EAAE,MAAQ,MAAU,EAC3D,OAAQC,GAAyBA,IAAM,MAAS,EAEhD,KAAK,CAACC,EAAGC,IAAM,CACd,MAAMC,EAAIF,EAAE,OAASP,EAAmB,aAAe,EAAI,EACrDU,EAAIF,EAAE,OAASR,EAAmB,aAAe,EAAI,EAC3D,OAAOS,EAAIC,CACb,CAAC,EAKH,OAFE,MAAM,KAAK,YAAY,aAAahB,CAAa,GAExB,IAAI,CAAC,CAAE,cAAAiB,CAAc,KAAO,CACrD,0BAAAf,EACA,cAAAe,EACA,eAAAP,CACF,EAAE,CACJ,CACF,EApFaf,EAANuB,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,gBAAgB,GAE1CF,EAAA,EAAAC,EAAOE,EAAS,oBAAoB,GAEpCH,EAAA,EAAAC,EAAOG,EAAiB,wBAAwB,GAEhDJ,EAAA,EAAAC,EAAOI,EAAY,0BAA0B,IAVrC9B",
6
+ "names": ["inject", "injectable", "Left", "configTypes", "pkiTypes", "KeyUsage", "SolanaContextTypes", "solanaContextTypes", "solanaTokenTypes", "DefaultSolanaContextLoader", "_dataSource", "_certificateLoader", "_solanaTokenLoader", "loggerFactory", "solanaContext", "deviceModelId", "trustedNamePKICertificate", "KeyUsage", "Left", "loaderPromises", "SolanaContextTypes", "loader", "expectedType", "p", "loadersResults", "r", "v", "a", "b", "A", "B", "tlvDescriptor", "__decorateClass", "injectable", "__decorateParam", "inject", "solanaContextTypes", "pkiTypes", "solanaTokenTypes", "configTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceModelId as i}from"@ledgerhq/device-management-kit";import{Left as d,Right as l}from"purify-ts";import{KeyUsage as s}from"../../pki/model/KeyUsage";import{DefaultSolanaContextLoader as f}from"../../solana/domain/DefaultSolanaContextLoader";describe("DefaultSolanaContextLoader",()=>{let a,e,r;const o={deviceModelId:i.FLEX,tokenAddress:"token-addr",challenge:"challenge-str"},n={descriptor:"cert-desc",signature:"cert-sig",keyUsageNumber:0,payload:new Uint8Array};beforeEach(()=>{vi.resetAllMocks(),a={getOwnerInfo:vi.fn()},e={loadCertificate:vi.fn()},r=new f(a,e)}),it("should call dataSource.getSolanaContext and certificateLoader.loadCertificate with correct args",async()=>{e.loadCertificate.mockResolvedValue(n),a.getOwnerInfo.mockResolvedValue(l({descriptor:Buffer.from("d"),tokenAccount:"tkn",owner:"own",contract:"ctr"})),await r.load(o),expect(e.loadCertificate).toHaveBeenCalledWith({keyId:"domain_metadata_key",keyUsage:s.TrustedName,targetDevice:o.deviceModelId}),expect(a.getOwnerInfo).toHaveBeenCalledWith(o)}),it("should return Left if certificate loader returns undefined",async()=>{e.loadCertificate.mockResolvedValue(void 0);const t=await r.load(o);expect(t).toEqual(d(new Error("[ContextModule] - DefaultSolanaContextLoader: CAL certificate is undefined")))}),it("should propagate Left from dataSource.getSolanaContext",async()=>{e.loadCertificate.mockResolvedValue(n);const t=new Error("DS failure");a.getOwnerInfo.mockResolvedValue(d(t));const c=await r.load(o);expect(c).toEqual(d(t))}),it("should return Right with merged data and certificate on success",async()=>{e.loadCertificate.mockResolvedValue(n);const t={descriptor:Buffer.from("dd"),tokenAccount:"tokenAcct",owner:"ownerAddr",contract:"contractAddr",certificate:n};a.getOwnerInfo.mockResolvedValue(l(t));const c=await r.load(o);expect(c.isRight()).toBe(!0),expect(c.extract()).toEqual({...t,certificate:n})})});
1
+ import{DeviceModelId as y}from"@ledgerhq/device-management-kit";import{Left as m,Right as f}from"purify-ts";import{beforeEach as g,describe as k,expect as o,it as s,vi as t}from"vitest";import{KeyUsage as T}from"../../pki/model/KeyUsage";import{SolanaContextTypes as d}from"../../shared/model/SolanaContextTypes";import{NullLoggerPublisherService as I}from"../../shared/utils/NullLoggerPublisherService";import{SolanaTokenContextLoader as O}from"../../solanaToken/domain/SolanaTokenContextLoader";k("SolanaTokenContextLoader",()=>{let l,i;const c=new Uint8Array([240,202,204,26]),n={descriptor:{data:{symbol:"SOL",name:"Solana",decimals:9},signatures:{prod:"prod-sig",test:"test-sig"}}},p={tokenInternalId:"token-1",deviceModelId:y.FLEX};g(()=>{t.restoreAllMocks(),l={getTokenInfosPayload:t.fn()},i={loadCertificate:t.fn()}});const r=e=>{const a={cal:{mode:e}};return new O(l,a,i,I)};k("canHandle",()=>{s("returns true when tokenInternalId is provided",()=>{const e=r("prod");o(e.canHandle({tokenInternalId:"abc123"},d.SOLANA_TOKEN)).toBe(!0)}),s("returns false when tokenInternalId is missing or falsy",()=>{const e=r("prod");o(e.canHandle({tokenInternalId:""},d.SOLANA_TOKEN)).toBe(!1),o(e.canHandle({tokenInternalId:void 0},d.SOLANA_TOKEN)).toBe(!1),o(e.canHandle({},d.SOLANA_TOKEN)).toBe(!1)})}),k("loadField",()=>{s("returns an error when datasource returns Left(error) and still fetched certificate beforehand",async()=>{const e=r("prod"),a=new Error("datasource failed");t.spyOn(l,"getTokenInfosPayload").mockResolvedValue(m(a)),t.spyOn(i,"loadCertificate").mockResolvedValue({keyUsageNumber:0,payload:c});const u=await e.loadField(p);o(l.getTokenInfosPayload).toHaveBeenCalledWith({tokenInternalId:"token-1"}),o(i.loadCertificate).toHaveBeenCalledWith({keyId:"token_metadata_key",keyUsage:T.CoinMeta,targetDevice:p.deviceModelId}),o(u).toEqual({type:d.ERROR,error:a})}),s("returns SOLANA_TOKEN with prod signature by default (falsy mode), and includes certificate",async()=>{const e=r("");t.spyOn(l,"getTokenInfosPayload").mockResolvedValue(f(n)),t.spyOn(i,"loadCertificate").mockResolvedValue({keyUsageNumber:0,payload:c});const a=await e.loadField({...p,tokenInternalId:"token-2"});o(a).toEqual({type:d.SOLANA_TOKEN,payload:{solanaTokenDescriptor:{data:n.descriptor.data,signature:"prod-sig"}},certificate:{keyUsageNumber:0,payload:c}})}),s("returns SOLANA_TOKEN with signature matching config.cal.mode",async()=>{const e=r("test");t.spyOn(l,"getTokenInfosPayload").mockResolvedValue(f(n)),t.spyOn(i,"loadCertificate").mockResolvedValue({keyUsageNumber:1,payload:c});const a=await e.loadField({...p,tokenInternalId:"token-3"});o(a).toEqual({type:d.SOLANA_TOKEN,payload:{solanaTokenDescriptor:{data:n.descriptor.data,signature:"test-sig"}},certificate:{keyUsageNumber:1,payload:c}})}),s("works even if certificate loader returns undefined (certificate omitted)",async()=>{const e=r("prod");t.spyOn(l,"getTokenInfosPayload").mockResolvedValue(f(n)),t.spyOn(i,"loadCertificate").mockResolvedValue(void 0);const a=await e.loadField(p);o(a).toEqual({type:d.SOLANA_TOKEN,payload:{solanaTokenDescriptor:{data:n.descriptor.data,signature:"prod-sig"}},certificate:void 0})})}),k("pluckTokenData (private)",()=>{s("picks the signature for the configured mode",()=>{const e=r("test"),u=e.pluckTokenData.bind(e)(n);o(u).toEqual({solanaTokenDescriptor:{data:n.descriptor.data,signature:"test-sig"}})}),s("falls back to 'prod' when config.cal.mode is falsy",()=>{const a=r(void 0).pluckTokenData(n);o(a).toEqual({solanaTokenDescriptor:{data:n.descriptor.data,signature:"prod-sig"}})})})});
2
2
  //# sourceMappingURL=DefaultSolanaContextLoader.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/solana/domain/DefaultSolanaContextLoader.test.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { DefaultSolanaContextLoader } from \"@/solana/domain/DefaultSolanaContextLoader\";\nimport type {\n SolanaTransactionContext,\n SolanaTransactionContextResultSuccess,\n} from \"@/solana/domain/solanaContextTypes\";\n\ndescribe(\"DefaultSolanaContextLoader\", () => {\n let mockDataSource: {\n getOwnerInfo: any;\n };\n let mockCertLoader: {\n loadCertificate: any;\n };\n let loader: DefaultSolanaContextLoader;\n\n const context: SolanaTransactionContext = {\n deviceModelId: DeviceModelId.FLEX,\n tokenAddress: \"token-addr\",\n challenge: \"challenge-str\",\n } as any;\n\n const fakeCert = {\n descriptor: \"cert-desc\",\n signature: \"cert-sig\",\n keyUsageNumber: 0,\n payload: new Uint8Array(),\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n mockDataSource = {\n getOwnerInfo: vi.fn(),\n };\n mockCertLoader = {\n loadCertificate: vi.fn(),\n };\n\n loader = new DefaultSolanaContextLoader(\n mockDataSource as any,\n mockCertLoader as any,\n );\n });\n\n it(\"should call dataSource.getSolanaContext and certificateLoader.loadCertificate with correct args\", async () => {\n // given\n mockCertLoader.loadCertificate.mockResolvedValue(fakeCert);\n mockDataSource.getOwnerInfo.mockResolvedValue(\n Right({\n descriptor: Buffer.from(\"d\"),\n tokenAccount: \"tkn\",\n owner: \"own\",\n contract: \"ctr\",\n }),\n );\n\n // when\n await loader.load(context);\n\n // then\n expect(mockCertLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: \"domain_metadata_key\",\n keyUsage: KeyUsage.TrustedName,\n targetDevice: context.deviceModelId,\n });\n expect(mockDataSource.getOwnerInfo).toHaveBeenCalledWith(context);\n });\n\n it(\"should return Left if certificate loader returns undefined\", async () => {\n mockCertLoader.loadCertificate.mockResolvedValue(undefined);\n\n const result = await loader.load(context);\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] - DefaultSolanaContextLoader: CAL certificate is undefined\",\n ),\n ),\n );\n });\n\n it(\"should propagate Left from dataSource.getSolanaContext\", async () => {\n mockCertLoader.loadCertificate.mockResolvedValue(fakeCert);\n const dsError = new Error(\"DS failure\");\n mockDataSource.getOwnerInfo.mockResolvedValue(Left(dsError));\n\n const result = await loader.load(context);\n\n expect(result).toEqual(Left(dsError));\n });\n\n it(\"should return Right with merged data and certificate on success\", async () => {\n mockCertLoader.loadCertificate.mockResolvedValue(fakeCert);\n\n const dsPayload: SolanaTransactionContextResultSuccess = {\n descriptor: Buffer.from(\"dd\"),\n tokenAccount: \"tokenAcct\",\n owner: \"ownerAddr\",\n contract: \"contractAddr\",\n certificate: fakeCert,\n };\n mockDataSource.getOwnerInfo.mockResolvedValue(Right(dsPayload));\n\n const result = await loader.load(context);\n\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toEqual({\n ...dsPayload,\n certificate: fakeCert,\n });\n });\n});\n"],
5
- "mappings": "AACA,OAAS,iBAAAA,MAAqB,kCAC9B,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAE5B,OAAS,YAAAC,MAAgB,uBACzB,OAAS,8BAAAC,MAAkC,6CAM3C,SAAS,6BAA8B,IAAM,CAC3C,IAAIC,EAGAC,EAGAC,EAEJ,MAAMC,EAAoC,CACxC,cAAeR,EAAc,KAC7B,aAAc,aACd,UAAW,eACb,EAEMS,EAAW,CACf,WAAY,YACZ,UAAW,WACX,eAAgB,EAChB,QAAS,IAAI,UACf,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,EACjBJ,EAAiB,CACf,aAAc,GAAG,GAAG,CACtB,EACAC,EAAiB,CACf,gBAAiB,GAAG,GAAG,CACzB,EAEAC,EAAS,IAAIH,EACXC,EACAC,CACF,CACF,CAAC,EAED,GAAG,kGAAmG,SAAY,CAEhHA,EAAe,gBAAgB,kBAAkBG,CAAQ,EACzDJ,EAAe,aAAa,kBAC1BH,EAAM,CACJ,WAAY,OAAO,KAAK,GAAG,EAC3B,aAAc,MACd,MAAO,MACP,SAAU,KACZ,CAAC,CACH,EAGA,MAAMK,EAAO,KAAKC,CAAO,EAGzB,OAAOF,EAAe,eAAe,EAAE,qBAAqB,CAC1D,MAAO,sBACP,SAAUH,EAAS,YACnB,aAAcK,EAAQ,aACxB,CAAC,EACD,OAAOH,EAAe,YAAY,EAAE,qBAAqBG,CAAO,CAClE,CAAC,EAED,GAAG,6DAA8D,SAAY,CAC3EF,EAAe,gBAAgB,kBAAkB,MAAS,EAE1D,MAAMI,EAAS,MAAMH,EAAO,KAAKC,CAAO,EAExC,OAAOE,CAAM,EAAE,QACbT,EACE,IAAI,MACF,4EACF,CACF,CACF,CACF,CAAC,EAED,GAAG,yDAA0D,SAAY,CACvEK,EAAe,gBAAgB,kBAAkBG,CAAQ,EACzD,MAAME,EAAU,IAAI,MAAM,YAAY,EACtCN,EAAe,aAAa,kBAAkBJ,EAAKU,CAAO,CAAC,EAE3D,MAAMD,EAAS,MAAMH,EAAO,KAAKC,CAAO,EAExC,OAAOE,CAAM,EAAE,QAAQT,EAAKU,CAAO,CAAC,CACtC,CAAC,EAED,GAAG,kEAAmE,SAAY,CAChFL,EAAe,gBAAgB,kBAAkBG,CAAQ,EAEzD,MAAMG,EAAmD,CACvD,WAAY,OAAO,KAAK,IAAI,EAC5B,aAAc,YACd,MAAO,YACP,SAAU,eACV,YAAaH,CACf,EACAJ,EAAe,aAAa,kBAAkBH,EAAMU,CAAS,CAAC,EAE9D,MAAMF,EAAS,MAAMH,EAAO,KAAKC,CAAO,EAExC,OAAOE,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,EAClC,OAAOA,EAAO,QAAQ,CAAC,EAAE,QAAQ,CAC/B,GAAGE,EACH,YAAaH,CACf,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["DeviceModelId", "Left", "Right", "KeyUsage", "DefaultSolanaContextLoader", "mockDataSource", "mockCertLoader", "loader", "context", "fakeCert", "result", "dsError", "dsPayload"]
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport type { PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { SolanaContextTypes } from \"@/shared/model/SolanaContextTypes\";\nimport { NullLoggerPublisherService } from \"@/shared/utils/NullLoggerPublisherService\";\nimport type { SolanaTransactionContext } from \"@/solana/domain/solanaContextTypes\";\nimport {\n type SolanaTokenDataSource,\n type TokenDataResponse,\n} from \"@/solanaToken/data/SolanaTokenDataSource\";\nimport { SolanaTokenContextLoader } from \"@/solanaToken/domain/SolanaTokenContextLoader\";\n\ndescribe(\"SolanaTokenContextLoader\", () => {\n let mockDataSource: SolanaTokenDataSource;\n let mockCertLoader: PkiCertificateLoader;\n\n const bytes = new Uint8Array([0xf0, 0xca, 0xcc, 0x1a]);\n\n const tokenDataResponse: TokenDataResponse = {\n descriptor: {\n data: { symbol: \"SOL\", name: \"Solana\", decimals: 9 } as any,\n signatures: {\n prod: \"prod-sig\",\n test: \"test-sig\",\n } as any,\n },\n } as any;\n\n const baseCtx = {\n tokenInternalId: \"token-1\",\n deviceModelId: DeviceModelId.FLEX,\n } as any;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n\n mockDataSource = {\n getTokenInfosPayload: vi.fn(),\n } as unknown as SolanaTokenDataSource;\n\n mockCertLoader = {\n loadCertificate: vi.fn(),\n } as unknown as PkiCertificateLoader;\n });\n\n const makeLoader = (mode?: string) => {\n const config = { cal: { mode } } as unknown as ContextModuleConfig;\n return new SolanaTokenContextLoader(\n mockDataSource,\n config,\n mockCertLoader,\n NullLoggerPublisherService,\n );\n };\n\n describe(\"canHandle\", () => {\n it(\"returns true when tokenInternalId is provided\", () => {\n const loader = makeLoader(\"prod\");\n\n expect(\n loader.canHandle(\n {\n tokenInternalId: \"abc123\",\n } as SolanaTransactionContext,\n SolanaContextTypes.SOLANA_TOKEN,\n ),\n ).toBe(true);\n });\n\n it(\"returns false when tokenInternalId is missing or falsy\", () => {\n const loader = makeLoader(\"prod\");\n\n expect(\n loader.canHandle(\n { tokenInternalId: \"\" } as any,\n SolanaContextTypes.SOLANA_TOKEN,\n ),\n ).toBe(false);\n expect(\n loader.canHandle(\n { tokenInternalId: undefined } as any,\n SolanaContextTypes.SOLANA_TOKEN,\n ),\n ).toBe(false);\n expect(loader.canHandle({} as any, SolanaContextTypes.SOLANA_TOKEN)).toBe(\n false,\n );\n });\n });\n\n describe(\"loadField\", () => {\n it(\"returns an error when datasource returns Left(error) and still fetched certificate beforehand\", async () => {\n const loader = makeLoader(\"prod\");\n const error = new Error(\"datasource failed\");\n\n vi.spyOn(mockDataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Left(error),\n );\n vi.spyOn(mockCertLoader, \"loadCertificate\").mockResolvedValue({\n keyUsageNumber: 0,\n payload: bytes,\n });\n\n const result = await loader.loadField(baseCtx);\n\n expect(mockDataSource.getTokenInfosPayload).toHaveBeenCalledWith({\n tokenInternalId: \"token-1\",\n });\n expect(mockCertLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: \"token_metadata_key\",\n keyUsage: KeyUsage.CoinMeta,\n targetDevice: baseCtx.deviceModelId,\n });\n expect(result).toEqual({\n type: SolanaContextTypes.ERROR,\n error,\n });\n });\n\n it(\"returns SOLANA_TOKEN with prod signature by default (falsy mode), and includes certificate\", async () => {\n const loader = makeLoader(\"\"); // falsy -> default 'prod'\n\n vi.spyOn(mockDataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Right(tokenDataResponse),\n );\n vi.spyOn(mockCertLoader, \"loadCertificate\").mockResolvedValue({\n keyUsageNumber: 0,\n payload: bytes,\n });\n\n const result = await loader.loadField({\n ...baseCtx,\n tokenInternalId: \"token-2\",\n });\n\n expect(result).toEqual({\n type: SolanaContextTypes.SOLANA_TOKEN,\n payload: {\n solanaTokenDescriptor: {\n data: tokenDataResponse.descriptor.data,\n signature: \"prod-sig\",\n },\n },\n certificate: { keyUsageNumber: 0, payload: bytes },\n });\n });\n\n it(\"returns SOLANA_TOKEN with signature matching config.cal.mode\", async () => {\n const loader = makeLoader(\"test\");\n\n vi.spyOn(mockDataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Right(tokenDataResponse),\n );\n vi.spyOn(mockCertLoader, \"loadCertificate\").mockResolvedValue({\n keyUsageNumber: 1,\n payload: bytes,\n });\n\n const result = await loader.loadField({\n ...baseCtx,\n tokenInternalId: \"token-3\",\n });\n\n expect(result).toEqual({\n type: SolanaContextTypes.SOLANA_TOKEN,\n payload: {\n solanaTokenDescriptor: {\n data: tokenDataResponse.descriptor.data,\n signature: \"test-sig\",\n },\n },\n certificate: { keyUsageNumber: 1, payload: bytes },\n });\n });\n\n it(\"works even if certificate loader returns undefined (certificate omitted)\", async () => {\n const loader = makeLoader(\"prod\");\n\n vi.spyOn(mockDataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Right(tokenDataResponse),\n );\n vi.spyOn(mockCertLoader, \"loadCertificate\").mockResolvedValue(undefined);\n\n const result = await loader.loadField(baseCtx);\n\n expect(result).toEqual({\n type: SolanaContextTypes.SOLANA_TOKEN,\n payload: {\n solanaTokenDescriptor: {\n data: tokenDataResponse.descriptor.data,\n signature: \"prod-sig\",\n },\n },\n certificate: undefined,\n });\n });\n });\n\n describe(\"pluckTokenData (private)\", () => {\n it(\"picks the signature for the configured mode\", () => {\n const loader = makeLoader(\"test\");\n const pluck = (loader as any).pluckTokenData.bind(loader);\n\n const result = pluck(tokenDataResponse);\n\n expect(result).toEqual({\n solanaTokenDescriptor: {\n data: tokenDataResponse.descriptor.data,\n signature: \"test-sig\",\n },\n });\n });\n\n it(\"falls back to 'prod' when config.cal.mode is falsy\", () => {\n const loader = makeLoader(undefined as any);\n const result = (loader as any).pluckTokenData(tokenDataResponse);\n\n expect(result).toEqual({\n solanaTokenDescriptor: {\n data: tokenDataResponse.descriptor.data,\n signature: \"prod-sig\",\n },\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceModelId", "Left", "Right", "beforeEach", "describe", "expect", "it", "vi", "KeyUsage", "SolanaContextTypes", "NullLoggerPublisherService", "SolanaTokenContextLoader", "mockDataSource", "mockCertLoader", "bytes", "tokenDataResponse", "baseCtx", "makeLoader", "mode", "config", "loader", "error", "result"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var f=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var c=(i,t,r,e)=>{for(var o=e>1?void 0:e?d(t,r):t,n=i.length-1,a;n>=0;n--)(a=i[n])&&(o=(e?a(t,r,o):a(o))||o);return e&&o&&f(t,r,o),o},p=(i,t)=>(r,e)=>t(r,e,i);import l from"axios";import{inject as u,injectable as E}from"inversify";import{Left as m,Right as h}from"purify-ts";import{configTypes as g}from"../../config/di/configTypes";import{LEDGER_CLIENT_VERSION_HEADER as C}from"../../shared/constant/HttpHeaders";import D from"../../../package.json";let s=class{constructor(t){this.config=t}async getTransactionDescriptorsPayload({templateId:t}){try{const{data:r}=await l.request({method:"GET",url:`${this.config.cal.url}/swap_templates`,params:{template_id:t,output:"id,chain_id,instructions,descriptors",ref:"ref=commit:866b6e7633a7a806fab7f9941bcc3df7ee640784"},headers:{[C]:`context-module/${D.version}`}});return!r||r.length===0||!r[0]?m(new Error(`[ContextModule] HttpSolanaLifiDataSource: no transaction descriptors for id ${t}`)):h(r[0])}catch{return m(new Error("[ContextModule] HttpSolanaLifiDataSource: Failed to fetch transaction descriptors"))}}};s=c([E(),p(0,u(g.Config))],s);export{s as HttpSolanaLifiDataSource};
2
+ //# sourceMappingURL=HttpSolanaLifiDataSource.js.map