@ledgerhq/ledger-wallet-provider-core 1.1.2-develop.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/api/LedgerButtonCore.d.ts +14 -1
  2. package/dist/api/LedgerButtonCore.d.ts.map +1 -1
  3. package/dist/api/index.d.ts +3 -0
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/model/ButtonCoreContext.d.ts +1 -0
  6. package/dist/api/model/ButtonCoreContext.d.ts.map +1 -1
  7. package/dist/api/model/index.d.ts +3 -1
  8. package/dist/api/model/index.d.ts.map +1 -1
  9. package/dist/api/model/solana/SolanaTypes.d.ts +25 -0
  10. package/dist/api/model/solana/SolanaTypes.d.ts.map +1 -0
  11. package/dist/api/utils/index.d.ts +3 -1
  12. package/dist/api/utils/index.d.ts.map +1 -1
  13. package/dist/index.js +24316 -24165
  14. package/dist/internal/account/service/AccountService.d.ts +5 -0
  15. package/dist/internal/account/service/AccountService.d.ts.map +1 -1
  16. package/dist/internal/account/use-case/fetchAccountsWithBalanceUseCase.d.ts +4 -1
  17. package/dist/internal/account/use-case/fetchAccountsWithBalanceUseCase.d.ts.map +1 -1
  18. package/dist/internal/account/use-case/fetchAccountsWithFiatUseCase.d.ts +5 -2
  19. package/dist/internal/account/use-case/fetchAccountsWithFiatUseCase.d.ts.map +1 -1
  20. package/dist/internal/account/use-case/fetchSelectedAccountUseCase.d.ts.map +1 -1
  21. package/dist/internal/account/use-case/getDetailedSelectedAccountUseCase.d.ts +1 -4
  22. package/dist/internal/account/use-case/getDetailedSelectedAccountUseCase.d.ts.map +1 -1
  23. package/dist/internal/account/use-case/hydrateAccountWithFiatUseCase.d.ts +4 -2
  24. package/dist/internal/account/use-case/hydrateAccountWithFiatUseCase.d.ts.map +1 -1
  25. package/dist/internal/account/use-case/hydrateAccountWithTxHistoryUseCase.d.ts +4 -1
  26. package/dist/internal/account/use-case/hydrateAccountWithTxHistoryUseCase.d.ts.map +1 -1
  27. package/dist/internal/backend/model/trackEvent.d.ts +27 -11
  28. package/dist/internal/backend/model/trackEvent.d.ts.map +1 -1
  29. package/dist/internal/balance/balanceModule.d.ts.map +1 -1
  30. package/dist/internal/balance/balanceModuleTypes.d.ts +1 -2
  31. package/dist/internal/balance/balanceModuleTypes.d.ts.map +1 -1
  32. package/dist/internal/balance/constants/index.d.ts +1 -1
  33. package/dist/internal/balance/constants/index.d.ts.map +1 -1
  34. package/dist/internal/balance/constants/networkConstants.d.ts +8 -8
  35. package/dist/internal/balance/constants/networkConstants.d.ts.map +1 -1
  36. package/dist/internal/balance/datasource/cal/DefaultCalDataSource.d.ts.map +1 -1
  37. package/dist/internal/balance/datasource/cal/calTypes.d.ts +10 -0
  38. package/dist/internal/balance/datasource/cal/calTypes.d.ts.map +1 -1
  39. package/dist/internal/balance/datasource/coinService/CoinServiceDataSource.d.ts +7 -0
  40. package/dist/internal/balance/datasource/coinService/CoinServiceDataSource.d.ts.map +1 -0
  41. package/dist/internal/balance/datasource/coinService/DefaultCoinServiceDataSource.d.ts +14 -0
  42. package/dist/internal/balance/datasource/coinService/DefaultCoinServiceDataSource.d.ts.map +1 -0
  43. package/dist/internal/balance/datasource/coinService/StubCoinServiceDataSource.d.ts +2 -0
  44. package/dist/internal/balance/datasource/coinService/StubCoinServiceDataSource.d.ts.map +1 -0
  45. package/dist/internal/balance/datasource/{alpaca/alpacaTypes.d.ts → coinService/coinServiceTypes.d.ts} +11 -11
  46. package/dist/internal/balance/datasource/coinService/coinServiceTypes.d.ts.map +1 -0
  47. package/dist/internal/balance/model/error.d.ts +18 -18
  48. package/dist/internal/balance/model/error.d.ts.map +1 -1
  49. package/dist/internal/balance/service/DefaultBalanceService.d.ts +3 -3
  50. package/dist/internal/balance/service/DefaultBalanceService.d.ts.map +1 -1
  51. package/dist/internal/config/model/config.d.ts +1 -1
  52. package/dist/internal/config/model/config.d.ts.map +1 -1
  53. package/dist/internal/context/DefaultContextService.d.ts.map +1 -1
  54. package/dist/internal/context/model/ContextEvent.d.ts +3 -0
  55. package/dist/internal/context/model/ContextEvent.d.ts.map +1 -1
  56. package/dist/internal/currency/constant.d.ts +6 -0
  57. package/dist/internal/currency/constant.d.ts.map +1 -0
  58. package/dist/internal/currency/currencyModule.d.ts +3 -0
  59. package/dist/internal/currency/currencyModule.d.ts.map +1 -0
  60. package/dist/internal/currency/currencyModuleTypes.d.ts +5 -0
  61. package/dist/internal/currency/currencyModuleTypes.d.ts.map +1 -0
  62. package/dist/internal/currency/{formatCurrency.d.ts → currencyUtils.d.ts} +1 -1
  63. package/dist/internal/currency/currencyUtils.d.ts.map +1 -0
  64. package/dist/internal/currency/datasource/DefaultFiatCurrencyDataSource.d.ts +13 -0
  65. package/dist/internal/currency/datasource/DefaultFiatCurrencyDataSource.d.ts.map +1 -0
  66. package/dist/internal/currency/datasource/FiatCurrencyDataSource.d.ts +6 -0
  67. package/dist/internal/currency/datasource/FiatCurrencyDataSource.d.ts.map +1 -0
  68. package/dist/internal/currency/datasource/fiatCurrencyTypes.d.ts +5 -0
  69. package/dist/internal/currency/datasource/fiatCurrencyTypes.d.ts.map +1 -0
  70. package/dist/internal/currency/service/CurrencyService.d.ts +7 -0
  71. package/dist/internal/currency/service/CurrencyService.d.ts.map +1 -0
  72. package/dist/internal/currency/service/DefaultCurrencyService.d.ts +14 -0
  73. package/dist/internal/currency/service/DefaultCurrencyService.d.ts.map +1 -0
  74. package/dist/internal/device/deviceModule.d.ts.map +1 -1
  75. package/dist/internal/device/deviceModuleTypes.d.ts +0 -5
  76. package/dist/internal/device/deviceModuleTypes.d.ts.map +1 -1
  77. package/dist/internal/di.d.ts.map +1 -1
  78. package/dist/internal/diTypes.d.ts +1 -0
  79. package/dist/internal/diTypes.d.ts.map +1 -1
  80. package/dist/internal/event-tracking/EventTrackingUtils.d.ts +10 -3
  81. package/dist/internal/event-tracking/EventTrackingUtils.d.ts.map +1 -1
  82. package/dist/internal/event-tracking/eventTrackingModule.d.ts.map +1 -1
  83. package/dist/internal/event-tracking/eventTrackingModuleTypes.d.ts +4 -0
  84. package/dist/internal/event-tracking/eventTrackingModuleTypes.d.ts.map +1 -1
  85. package/dist/internal/event-tracking/service/DefaultEventTrackingService.d.ts.map +1 -1
  86. package/dist/internal/event-tracking/usecase/TrackCurrencyChanged.d.ts +12 -0
  87. package/dist/internal/event-tracking/usecase/TrackCurrencyChanged.d.ts.map +1 -0
  88. package/dist/internal/event-tracking/usecase/TrackLanguageChanged.d.ts +12 -0
  89. package/dist/internal/event-tracking/usecase/TrackLanguageChanged.d.ts.map +1 -0
  90. package/dist/internal/event-tracking/usecase/TrackMobileRedirectLedgerWallet.d.ts +12 -0
  91. package/dist/internal/event-tracking/usecase/TrackMobileRedirectLedgerWallet.d.ts.map +1 -0
  92. package/dist/internal/event-tracking/usecase/TrackOnboarding.d.ts.map +1 -1
  93. package/dist/internal/event-tracking/usecase/TrackViewTransactionDetailsClick.d.ts +14 -0
  94. package/dist/internal/event-tracking/usecase/TrackViewTransactionDetailsClick.d.ts.map +1 -0
  95. package/dist/internal/evm-provider/EvmProviderUI.d.ts +14 -0
  96. package/dist/internal/evm-provider/EvmProviderUI.d.ts.map +1 -0
  97. package/dist/internal/evm-provider/LedgerEIP1193Provider.d.ts +82 -0
  98. package/dist/internal/evm-provider/LedgerEIP1193Provider.d.ts.map +1 -0
  99. package/dist/internal/evm-provider/evmProviderModule.d.ts +7 -0
  100. package/dist/internal/evm-provider/evmProviderModule.d.ts.map +1 -0
  101. package/dist/internal/evm-provider/evmProviderModuleTypes.d.ts +11 -0
  102. package/dist/internal/evm-provider/evmProviderModuleTypes.d.ts.map +1 -0
  103. package/dist/internal/{balance/service → evm-provider/gas-fee}/DefaultGasFeeEstimationService.d.ts +5 -5
  104. package/dist/internal/evm-provider/gas-fee/DefaultGasFeeEstimationService.d.ts.map +1 -0
  105. package/dist/internal/{balance/service → evm-provider/gas-fee}/GasFeeEstimationService.d.ts +1 -1
  106. package/dist/internal/evm-provider/gas-fee/GasFeeEstimationService.d.ts.map +1 -0
  107. package/dist/internal/evm-provider/isBlockingRequestMethod.d.ts +2 -0
  108. package/dist/internal/evm-provider/isBlockingRequestMethod.d.ts.map +1 -0
  109. package/dist/internal/{web3-provider → evm-provider/jsonrpc}/datasource/LedgerRemoteDatasource.d.ts +4 -4
  110. package/dist/internal/evm-provider/jsonrpc/datasource/LedgerRemoteDatasource.d.ts.map +1 -0
  111. package/dist/internal/{web3-provider → evm-provider/jsonrpc}/datasource/StubLedgerRemoteDatasource.d.ts +1 -1
  112. package/dist/internal/evm-provider/jsonrpc/datasource/StubLedgerRemoteDatasource.d.ts.map +1 -0
  113. package/dist/internal/{web3-provider → evm-provider/jsonrpc}/use-case/JSONRPCRequest.d.ts +2 -2
  114. package/dist/internal/evm-provider/jsonrpc/use-case/JSONRPCRequest.d.ts.map +1 -0
  115. package/dist/internal/evm-provider/supportedChains.d.ts +15 -0
  116. package/dist/internal/evm-provider/supportedChains.d.ts.map +1 -0
  117. package/dist/internal/evm-provider/supportedRpcMethods.d.ts +17 -0
  118. package/dist/internal/evm-provider/supportedRpcMethods.d.ts.map +1 -0
  119. package/dist/internal/evm-provider/transaction/TransactionHelper.d.ts.map +1 -0
  120. package/dist/internal/evm-provider/use-case/BroadcastTransaction.d.ts.map +1 -0
  121. package/dist/internal/{device → evm-provider}/use-case/SignPersonalMessageUseCase.d.ts +1 -1
  122. package/dist/internal/evm-provider/use-case/SignPersonalMessageUseCase.d.ts.map +1 -0
  123. package/dist/internal/{device → evm-provider}/use-case/SignRawTransaction.d.ts +1 -1
  124. package/dist/internal/evm-provider/use-case/SignRawTransaction.d.ts.map +1 -0
  125. package/dist/internal/{device → evm-provider}/use-case/SignTransaction.d.ts +1 -1
  126. package/dist/internal/evm-provider/use-case/SignTransaction.d.ts.map +1 -0
  127. package/dist/internal/{device → evm-provider}/use-case/SignTypedData.d.ts +1 -1
  128. package/dist/internal/evm-provider/use-case/SignTypedData.d.ts.map +1 -0
  129. package/dist/internal/{blockchain/evm → evm-provider/utils}/chainUtils.d.ts +1 -0
  130. package/dist/internal/evm-provider/utils/chainUtils.d.ts.map +1 -0
  131. package/dist/internal/pending-transaction/controller/DefaultPendingTransactionController.d.ts +5 -1
  132. package/dist/internal/pending-transaction/controller/DefaultPendingTransactionController.d.ts.map +1 -1
  133. package/dist/internal/pending-transaction/model/PendingTransaction.d.ts +1 -0
  134. package/dist/internal/pending-transaction/model/PendingTransaction.d.ts.map +1 -1
  135. package/dist/internal/pending-transaction/use-case/ConfirmPendingTransactionsUseCase.d.ts +11 -2
  136. package/dist/internal/pending-transaction/use-case/ConfirmPendingTransactionsUseCase.d.ts.map +1 -1
  137. package/dist/internal/pending-transaction/use-case/TrackBroadcastedTransactionUseCase.d.ts.map +1 -1
  138. package/dist/internal/solana-provider/SolanaProviderUI.d.ts +11 -0
  139. package/dist/internal/solana-provider/SolanaProviderUI.d.ts.map +1 -0
  140. package/dist/internal/solana-provider/rpc/datasource/SolanaRemoteDatasource.d.ts +16 -0
  141. package/dist/internal/solana-provider/rpc/datasource/SolanaRemoteDatasource.d.ts.map +1 -0
  142. package/dist/internal/solana-provider/rpc/datasource/StubSolanaRemoteDatasource.d.ts +19 -0
  143. package/dist/internal/solana-provider/rpc/datasource/StubSolanaRemoteDatasource.d.ts.map +1 -0
  144. package/dist/internal/solana-provider/solanaProviderModule.d.ts +7 -0
  145. package/dist/internal/solana-provider/solanaProviderModule.d.ts.map +1 -0
  146. package/dist/internal/solana-provider/solanaProviderModuleTypes.d.ts +4 -0
  147. package/dist/internal/solana-provider/solanaProviderModuleTypes.d.ts.map +1 -0
  148. package/dist/internal/solana-provider/supportedClusters.d.ts +4 -0
  149. package/dist/internal/solana-provider/supportedClusters.d.ts.map +1 -0
  150. package/dist/internal/solana-provider/utils/clusterUtils.d.ts +7 -0
  151. package/dist/internal/solana-provider/utils/clusterUtils.d.ts.map +1 -0
  152. package/dist/internal/storage/DefaultStorageService.d.ts +4 -0
  153. package/dist/internal/storage/DefaultStorageService.d.ts.map +1 -1
  154. package/dist/internal/storage/StorageService.d.ts +4 -0
  155. package/dist/internal/storage/StorageService.d.ts.map +1 -1
  156. package/dist/internal/storage/model/constant.d.ts +2 -0
  157. package/dist/internal/storage/model/constant.d.ts.map +1 -1
  158. package/dist/internal/storage/service/DefaultIndexedDbService.d.ts +4 -0
  159. package/dist/internal/storage/service/DefaultIndexedDbService.d.ts.map +1 -1
  160. package/dist/internal/storage/service/IndexedDbService.d.ts +4 -0
  161. package/dist/internal/storage/service/IndexedDbService.d.ts.map +1 -1
  162. package/dist/internal/transaction/service/DefaultTransactionService.d.ts +4 -4
  163. package/dist/internal/transaction/service/DefaultTransactionService.d.ts.map +1 -1
  164. package/dist/internal/transaction/utils/buildExplorerTransactionUrl.d.ts +2 -0
  165. package/dist/internal/transaction/utils/buildExplorerTransactionUrl.d.ts.map +1 -0
  166. package/dist/internal/transaction-history/datasource/coinService/DefaultTransactionHistoryDataSource.d.ts +34 -0
  167. package/dist/internal/transaction-history/datasource/coinService/DefaultTransactionHistoryDataSource.d.ts.map +1 -0
  168. package/dist/internal/transaction-history/datasource/coinService/TransactionHistoryDataSource.d.ts +7 -0
  169. package/dist/internal/transaction-history/datasource/coinService/TransactionHistoryDataSource.d.ts.map +1 -0
  170. package/dist/internal/transaction-history/datasource/coinService/coinServiceDtos.d.ts +57 -0
  171. package/dist/internal/transaction-history/datasource/coinService/coinServiceDtos.d.ts.map +1 -0
  172. package/dist/internal/transaction-history/di/transactionHistoryModule.d.ts.map +1 -0
  173. package/dist/internal/transaction-history/di/transactionHistoryModuleTypes.d.ts.map +1 -0
  174. package/dist/internal/transaction-history/model/TransactionHistoryError.d.ts +1 -1
  175. package/dist/internal/transaction-history/model/transactionHistoryTypes.d.ts +71 -57
  176. package/dist/internal/transaction-history/model/transactionHistoryTypes.d.ts.map +1 -1
  177. package/dist/internal/transaction-history/use-case/FetchTransactionHistoryUseCase.d.ts +6 -10
  178. package/dist/internal/transaction-history/use-case/FetchTransactionHistoryUseCase.d.ts.map +1 -1
  179. package/dist/internal/transaction-history/use-case/HydrateTransactionsWithFiatUseCase.d.ts +18 -16
  180. package/dist/internal/transaction-history/use-case/HydrateTransactionsWithFiatUseCase.d.ts.map +1 -1
  181. package/dist/internal/transaction-history/use-case/buildTransactionHistoryItem.d.ts +28 -0
  182. package/dist/internal/transaction-history/use-case/buildTransactionHistoryItem.d.ts.map +1 -0
  183. package/dist/schemas/event-schemas.d.ts +221 -40
  184. package/dist/schemas/event-schemas.d.ts.map +1 -1
  185. package/package.json +4 -4
  186. package/dist/internal/balance/datasource/alpaca/AlpacaDataSource.d.ts +0 -7
  187. package/dist/internal/balance/datasource/alpaca/AlpacaDataSource.d.ts.map +0 -1
  188. package/dist/internal/balance/datasource/alpaca/DefaultAlpacaDataSource.d.ts +0 -14
  189. package/dist/internal/balance/datasource/alpaca/DefaultAlpacaDataSource.d.ts.map +0 -1
  190. package/dist/internal/balance/datasource/alpaca/StubAlpacaDataSource.d.ts +0 -2
  191. package/dist/internal/balance/datasource/alpaca/StubAlpacaDataSource.d.ts.map +0 -1
  192. package/dist/internal/balance/datasource/alpaca/alpacaTypes.d.ts.map +0 -1
  193. package/dist/internal/balance/service/DefaultGasFeeEstimationService.d.ts.map +0 -1
  194. package/dist/internal/balance/service/GasFeeEstimationService.d.ts.map +0 -1
  195. package/dist/internal/blockchain/evm/chainUtils.d.ts.map +0 -1
  196. package/dist/internal/currency/formatCurrency.d.ts.map +0 -1
  197. package/dist/internal/device/use-case/BroadcastTransaction.d.ts.map +0 -1
  198. package/dist/internal/device/use-case/SignPersonalMessage.d.ts +0 -22
  199. package/dist/internal/device/use-case/SignPersonalMessage.d.ts.map +0 -1
  200. package/dist/internal/device/use-case/SignPersonalMessageUseCase.d.ts.map +0 -1
  201. package/dist/internal/device/use-case/SignRawTransaction.d.ts.map +0 -1
  202. package/dist/internal/device/use-case/SignTransaction.d.ts.map +0 -1
  203. package/dist/internal/device/use-case/SignTypedData.d.ts.map +0 -1
  204. package/dist/internal/transaction/utils/TransactionHelper.d.ts.map +0 -1
  205. package/dist/internal/transaction-history/datasource/DefaultTransactionHistoryDataSource.d.ts +0 -16
  206. package/dist/internal/transaction-history/datasource/DefaultTransactionHistoryDataSource.d.ts.map +0 -1
  207. package/dist/internal/transaction-history/datasource/TransactionHistoryDataSource.d.ts +0 -7
  208. package/dist/internal/transaction-history/datasource/TransactionHistoryDataSource.d.ts.map +0 -1
  209. package/dist/internal/transaction-history/transactionHistoryModule.d.ts.map +0 -1
  210. package/dist/internal/transaction-history/transactionHistoryModuleTypes.d.ts.map +0 -1
  211. package/dist/internal/web3-provider/datasource/LedgerRemoteDatasource.d.ts.map +0 -1
  212. package/dist/internal/web3-provider/datasource/StubLedgerRemoteDatasource.d.ts.map +0 -1
  213. package/dist/internal/web3-provider/use-case/JSONRPCRequest.d.ts.map +0 -1
  214. package/dist/internal/web3-provider/web3ProviderModule.d.ts +0 -7
  215. package/dist/internal/web3-provider/web3ProviderModule.d.ts.map +0 -1
  216. package/dist/internal/web3-provider/web3ProviderModuleTypes.d.ts +0 -5
  217. package/dist/internal/web3-provider/web3ProviderModuleTypes.d.ts.map +0 -1
  218. /package/dist/internal/{transaction/utils → evm-provider/transaction}/TransactionHelper.d.ts +0 -0
  219. /package/dist/internal/{device → evm-provider}/use-case/BroadcastTransaction.d.ts +0 -0
  220. /package/dist/internal/transaction-history/{transactionHistoryModule.d.ts → di/transactionHistoryModule.d.ts} +0 -0
  221. /package/dist/internal/transaction-history/{transactionHistoryModuleTypes.d.ts → di/transactionHistoryModuleTypes.d.ts} +0 -0
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Private wire-format types for the Coin Service account-operations endpoint.
3
+ *
4
+ * GET https://coin-service.api.ledger.com/v1/{network}/account/{address}/operations
5
+ *
6
+ * These types intentionally never leave the `coinService/` adapter folder.
7
+ * `DefaultTransactionHistoryDataSource` maps them to the domain types
8
+ * (`TransactionHistoryEntry`, `TransactionHistoryPage`) before returning to
9
+ * callers, so no use case ever sees a Coin Service-shaped object.
10
+ *
11
+ * Source of truth: Coin Service account-operations OpenAPI spec.
12
+ */
13
+ export type CoinServiceAddress = string;
14
+ export type CoinServiceOperationAssetDto = {
15
+ type: string;
16
+ assetReference?: string;
17
+ };
18
+ export type CoinServiceBlockInfoDto = {
19
+ height: number;
20
+ time?: string;
21
+ };
22
+ /**
23
+ * Note on `hash`: the Coin Service API occasionally returns operations with a
24
+ * missing/empty `tx.hash`. The adapter drops those at the boundary, so
25
+ * downstream domain entries can rely on `hash` being a non-empty string.
26
+ */
27
+ export type CoinServiceOperationTransactionDto = {
28
+ hash: string;
29
+ fees: string;
30
+ block: CoinServiceBlockInfoDto;
31
+ failed: boolean;
32
+ date?: string;
33
+ feesPayer?: CoinServiceAddress;
34
+ };
35
+ /**
36
+ * EVM-specific operation details. Per the spec, `details` is loosely typed
37
+ * (`additionalProperties: true`); only the field the adapter actually reads
38
+ * is declared here.
39
+ */
40
+ export type CoinServiceEvmOperationDetailsDto = {
41
+ assetAmount?: string;
42
+ };
43
+ export type CoinServiceAccountOperationDto = {
44
+ id: string;
45
+ tx: CoinServiceOperationTransactionDto;
46
+ type: string;
47
+ value: string;
48
+ senders: CoinServiceAddress[];
49
+ recipients: CoinServiceAddress[];
50
+ asset?: CoinServiceOperationAssetDto;
51
+ details?: CoinServiceEvmOperationDetailsDto;
52
+ };
53
+ export type CoinServiceAccountOperationsResponseDto = {
54
+ items: CoinServiceAccountOperationDto[];
55
+ next?: string;
56
+ };
57
+ //# sourceMappingURL=coinServiceDtos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinServiceDtos.d.ts","sourceRoot":"","sources":["../../../../../src/internal/transaction-history/datasource/coinService/coinServiceDtos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,uBAAuB,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,kCAAkC,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,4BAA4B,CAAC;IACrC,OAAO,CAAC,EAAE,iCAAiC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG;IACpD,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionHistoryModule.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/di/transactionHistoryModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQ5C,KAAK,+BAA+B,GAAG;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,EAC9C,IAAI,GACL,EAAE,+BAA+B,mBAwBjC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionHistoryModuleTypes.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/di/transactionHistoryModuleTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B;;;;CAMhC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { LedgerButtonError } from '../../../api/errors/LedgerButtonError.js';
2
2
  export type TransactionHistoryErrorContext = {
3
3
  address?: string;
4
- blockchain?: string;
4
+ currencyId?: string;
5
5
  originalError?: string;
6
6
  };
7
7
  export declare class TransactionHistoryError extends LedgerButtonError<TransactionHistoryErrorContext> {
@@ -1,84 +1,98 @@
1
- /**
2
- * Raw API response types from Ledger Explorer API
3
- * GET https://explorers.api.live.ledger.com/blockchain/v4/{blockchain}/address/{address}/txs
4
- */
5
- export type ExplorerBlockInfo = {
6
- hash: string;
7
- height: number;
8
- time: string;
1
+ export type TransactionHistoryEntryAsset = {
2
+ isNative: true;
3
+ } | {
4
+ isNative: false;
5
+ contractAddress: string;
9
6
  };
10
- export type EvmTransferEvent = {
11
- contract: string;
12
- from: string;
13
- to: string;
14
- count: string;
7
+ export type TransactionHistoryEntryFee = {
8
+ amount: string;
9
+ payer?: string;
15
10
  };
16
- export type EvmAction = {
17
- from: string;
18
- to: string;
19
- value: string;
20
- gas: string;
21
- gas_used: string;
22
- error: string | null;
23
- };
24
- export type ExplorerTransaction = {
11
+ export type TransactionHistoryEntry = {
25
12
  hash: string;
26
- transaction_type: number;
27
- nonce: string;
28
- nonce_value: number;
29
13
  value: string;
30
- gas: string;
31
- gas_price: string;
32
- max_fee_per_gas?: string;
33
- max_priority_fee_per_gas?: string;
34
- from: string;
35
- to: string;
36
- transfer_events: EvmTransferEvent[];
37
- erc721_transfer_events: unknown[];
38
- erc1155_transfer_events: unknown[];
39
- approval_events: unknown[];
40
- actions: EvmAction[];
41
- confirmations: number;
42
- input: string | null;
43
- gas_used: string;
44
- cumulative_gas_used: string | null;
45
- status: number;
46
- received_at: string;
47
- block?: ExplorerBlockInfo;
48
- txPoolStatus: unknown | null;
14
+ senders: string[];
15
+ recipients: string[];
16
+ fee?: TransactionHistoryEntryFee;
17
+ failed: boolean;
18
+ blockHeight?: number;
19
+ timestamp: string;
20
+ asset: TransactionHistoryEntryAsset;
21
+ direction?: TransactionDirection;
22
+ isFeeOnlyOperation: boolean;
49
23
  };
50
- export type ExplorerResponse = {
51
- data: ExplorerTransaction[];
52
- token: string | null;
24
+ export type TransactionHistoryPage = {
25
+ items: TransactionHistoryEntry[];
26
+ nextPageToken?: string;
53
27
  };
54
28
  /**
55
- * Options for fetching transaction history
29
+ * Options for fetching transaction history.
56
30
  */
57
31
  export type TransactionHistoryOptions = {
58
- batchSize?: number;
59
32
  pageToken?: string;
60
33
  };
61
34
  /**
62
- * Transformed transaction item for display
35
+ * Direction of the transaction relative to the user account.
36
+ * - "sent": user is the sender
37
+ * - "received": user is the recipient
38
+ * - "self": user is both sender and recipient (e.g. self-transfer)
39
+ */
40
+ export type TransactionDirection = "sent" | "received" | "self";
41
+ /**
42
+ * Semantic kind of the transaction inferred from the underlying operation.
43
+ *
44
+ * - "fees": a separate fee-only operation (e.g. a row paired with a failed
45
+ * parent transaction). Distinct from `"contract"` so the UI can render
46
+ * gas-only rows differently from real contract interactions.
47
+ */
48
+ export type TransactionKind = "transfer" | "swap" | "approve" | "contract" | "fees" | "unknown";
49
+ /**
50
+ * On-chain status of the transaction.
51
+ */
52
+ export type TransactionStatus = "confirmed" | "failed" | "pending";
53
+ /**
54
+ * Back-compat alias kept for the existing UI which still consumes a binary
55
+ * sent/received distinction. Prefer `TransactionDirection` for new code.
63
56
  */
64
57
  export type TransactionType = "sent" | "received";
58
+ /**
59
+ * Asset metadata attached to a transaction's value (and to its fee when the
60
+ * fee is paid in a different asset). All formatting is deferred to the
61
+ * presentation layer; consumers receive raw values and these decimals.
62
+ */
63
+ export type TransactionHistoryItemAsset = {
64
+ ledgerId: string;
65
+ name: string | undefined;
66
+ ticker: string;
67
+ decimals: number;
68
+ };
69
+ export type TransactionHistoryItemFee = {
70
+ amount: string;
71
+ asset: TransactionHistoryItemAsset;
72
+ fiatAmount?: string;
73
+ };
74
+ /**
75
+ * Domain shape of a transaction returned by the use case. Carries raw values
76
+ * and asset metadata only; the presentation layer is responsible for
77
+ * formatting, explorer URL substitution, and any locale-aware display.
78
+ */
65
79
  export type TransactionHistoryItem = {
66
80
  hash: string;
67
81
  type: TransactionType;
82
+ direction: TransactionDirection;
83
+ kind: TransactionKind;
84
+ status: TransactionStatus;
68
85
  value: string;
69
- formattedValue: string;
70
- currencyName: string;
71
- ticker: string;
86
+ asset: TransactionHistoryItemAsset;
72
87
  timestamp: string;
73
- ledgerId?: string;
88
+ blockHeight?: number;
74
89
  fiatValue?: string;
75
90
  fiatCurrency?: string;
91
+ fee?: TransactionHistoryItemFee;
76
92
  };
77
- /**
78
- * Result type for the use case
79
- */
80
93
  export type TransactionHistoryResult = {
81
94
  transactions: TransactionHistoryItem[];
95
+ transactionExplorerUrlTemplate?: string;
82
96
  nextPageToken?: string;
83
97
  };
84
98
  //# sourceMappingURL=transactionHistoryTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionHistoryTypes.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/model/transactionHistoryTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,sBAAsB,EAAE,OAAO,EAAE,CAAC;IAClC,uBAAuB,EAAE,OAAO,EAAE,CAAC;IACnC,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,CAAC;AAElD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"transactionHistoryTypes.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/model/transactionHistoryTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,0BAA0B,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,4BAA4B,CAAC;IACpC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,MAAM,GACN,SAAS,GACT,UAAU,GACV,MAAM,GACN,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,2BAA2B,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,oBAAoB,CAAC;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,2BAA2B,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,yBAAyB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -2,22 +2,18 @@ import { Factory } from 'inversify';
2
2
  import { Either } from 'purify-ts';
3
3
  import { CalDataSource } from '../../balance/datasource/cal/CalDataSource.js';
4
4
  import { LoggerPublisher } from '../../logger/service/LoggerPublisher.js';
5
- import { TransactionHistoryDataSource } from '../datasource/TransactionHistoryDataSource.js';
5
+ import { TransactionHistoryDataSource } from '../datasource/coinService/TransactionHistoryDataSource.js';
6
6
  import { TransactionHistoryError } from '../model/TransactionHistoryError.js';
7
7
  import { TransactionHistoryOptions, TransactionHistoryResult } from '../model/transactionHistoryTypes.js';
8
8
  export declare class FetchTransactionHistoryUseCase {
9
9
  private readonly dataSource;
10
10
  private readonly calDataSource;
11
11
  private readonly logger;
12
- private tokenInfoCache;
13
12
  constructor(loggerFactory: Factory<LoggerPublisher>, dataSource: TransactionHistoryDataSource, calDataSource: CalDataSource);
14
- execute(blockchain: string, address: string, currencyId: string, options?: TransactionHistoryOptions): Promise<Either<TransactionHistoryError, TransactionHistoryResult>>;
15
- private transformResponse;
16
- private transformTransaction;
17
- private getRelevantTokenTransfer;
18
- private getTokenAssetInfo;
19
- private determineTransactionType;
20
- private getNativeValue;
21
- private extractTimestamp;
13
+ execute(address: string, currencyId: string, options?: TransactionHistoryOptions): Promise<Either<TransactionHistoryError, TransactionHistoryResult>>;
14
+ private buildFallbackNativeAssetInfo;
15
+ private transformPage;
16
+ private resolveAssetInfo;
17
+ private resolveTokenAssetInfo;
22
18
  }
23
19
  //# sourceMappingURL=FetchTransactionHistoryUseCase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FetchTransactionHistoryUseCase.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/use-case/FetchTransactionHistoryUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAInF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAKL,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,qCAAqC,CAAC;AAU7C,qBACa,8BAA8B;IAQvC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAThC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAqC;gBAIzD,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,EAEtB,UAAU,EAAE,4BAA4B,EAExC,aAAa,EAAE,aAAa;IAKzC,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;YAmDvD,iBAAiB;YAuBjB,oBAAoB;IA8ClC,OAAO,CAAC,wBAAwB;YAmBlB,iBAAiB;IAyC/B,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"FetchTransactionHistoryUseCase.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/use-case/FetchTransactionHistoryUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAGnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2DAA2D,CAAC;AAE9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,yBAAyB,EAEzB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAM7C,qBACa,8BAA8B;IAOvC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAIvC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,EAEtB,UAAU,EAAE,4BAA4B,EAExC,aAAa,EAAE,aAAa;IAKzC,OAAO,CACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IAkDrE,OAAO,CAAC,4BAA4B;YAStB,aAAa;YA8Bb,gBAAgB;YAWhB,qBAAqB;CA8BpC"}
@@ -7,32 +7,34 @@ export declare class HydrateTransactionsWithFiatUseCase {
7
7
  private readonly logger;
8
8
  constructor(loggerFactory: Factory<LoggerPublisher>, counterValueDataSource: CounterValueDataSource);
9
9
  /**
10
- * Hydrates transactions with fiat values by fetching historical exchange rates.
10
+ * Hydrates transactions with fiat values by fetching historical exchange
11
+ * rates.
11
12
  *
12
13
  * Process:
13
- * 1. Groups transactions by ledgerId (native currency vs tokens)
14
- * 2. For each group, fetches historical rates from Counter Value API
15
- * 3. Applies the correct rate to each transaction based on its date
16
- * 4. Returns transactions with fiatValue and fiatCurrency fields populated
17
- *
14
+ * 1. Groups transactions by ledgerId (native currency vs tokens).
15
+ * 2. For each group, fetches historical rates from Counter Value API.
16
+ * 3. Applies the correct rate to each transaction (and to its fee when the
17
+ * fee asset matches the transaction asset).
18
+ * 4. Returns transactions with `fiatValue`/`fiatCurrency` populated, and
19
+ * `fee.fiatAmount` populated when applicable.
18
20
  */
19
21
  execute(transactions: TransactionHistoryItem[], targetCurrency: string): Promise<TransactionHistoryItem[]>;
20
22
  /**
21
- * Groups transactions by their ledgerId.
22
- *
23
- * The ledgerId identifies the asset type:
24
- * - "ethereum" for native ETH transactions
25
- * - "ethereum/erc20/usdc" for USDC token transactions
26
- * - "ethereum/erc20/dai" for DAI token transactions
27
- * - etc.
28
- *
29
- * Transactions without a ledgerId are grouped under "unknown" and will be skipped
30
- * during fiat hydration.
23
+ * Groups transactions by their `asset.ledgerId`. Transactions without a
24
+ * `ledgerId` end up under `UNKNOWN_LEDGER_ID` and skip hydration.
31
25
  */
32
26
  private groupTransactionsByLedgerId;
33
27
  private hydrateTransactionGroup;
34
28
  private getDateRange;
35
29
  private getDateFromTimestamp;
36
30
  private applyHistoricalRatesToTransactions;
31
+ /**
32
+ * The historical rate fetched here is for `tx.asset.ledgerId` (the asset of
33
+ * the transferred value). It only applies to the fee when the fee asset
34
+ * matches that asset — typically native transfers and the fees-only rows
35
+ * of failed transactions, where both fall back to the native asset.
36
+ */
37
+ private computeFiatFee;
38
+ private computeFiat;
37
39
  }
38
40
  //# sourceMappingURL=HydrateTransactionsWithFiatUseCase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HydrateTransactionsWithFiatUseCase.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/use-case/HydrateTransactionsWithFiatUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAOlF,qBACa,kCAAkC;IAO3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IANzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAIvC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,EAEtB,sBAAsB,EAAE,sBAAsB;IAKjE;;;;;;;;;OASG;IACG,OAAO,CACX,YAAY,EAAE,sBAAsB,EAAE,EACtC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuBpC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;YAgBrB,uBAAuB;IA8CrC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kCAAkC;CA0B3C"}
1
+ {"version":3,"file":"HydrateTransactionsWithFiatUseCase.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/use-case/HydrateTransactionsWithFiatUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,qCAAqC,CAAC;AAS7C,qBACa,kCAAkC;IAO3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IANzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAIvC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,EAEtB,sBAAsB,EAAE,sBAAsB;IAKjE;;;;;;;;;;;OAWG;IACG,OAAO,CACX,YAAY,EAAE,sBAAsB,EAAE,EACtC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuBpC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;YAerB,uBAAuB;IA8CrC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kCAAkC;IA+B1C;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,WAAW;CAcpB"}
@@ -0,0 +1,28 @@
1
+ import { TransactionDirection, TransactionHistoryEntry, TransactionHistoryItem, TransactionHistoryItemAsset, TransactionHistoryItemFee, TransactionKind, TransactionStatus, TransactionType } from '../model/transactionHistoryTypes.js';
2
+ export type AssetInfo = TransactionHistoryItemAsset;
3
+ export type BuildTransactionHistoryItemArgs = {
4
+ entry: TransactionHistoryEntry;
5
+ normalizedAddress: string;
6
+ assetInfo: AssetInfo;
7
+ nativeAssetInfo: AssetInfo;
8
+ };
9
+ /**
10
+ * Pure transformation of a normalized `TransactionHistoryEntry` (plus its
11
+ * resolved asset metadata) into a domain-level `TransactionHistoryItem`.
12
+ *
13
+ * The result carries raw values only; the presentation layer is responsible
14
+ * for formatting amounts, building explorer URLs, and any locale-aware
15
+ * display. This function has no I/O, no DI, and no logger.
16
+ */
17
+ export declare function buildTransactionHistoryItem({ entry, normalizedAddress, assetInfo, nativeAssetInfo, }: BuildTransactionHistoryItemArgs): TransactionHistoryItem;
18
+ export declare function determineDirection(entry: TransactionHistoryEntry, normalizedAddress: string): TransactionDirection;
19
+ export declare function determineKind(entry: TransactionHistoryEntry): TransactionKind;
20
+ export declare function determineStatus(entry: TransactionHistoryEntry): TransactionStatus;
21
+ export declare function toLegacyType(direction: TransactionDirection): TransactionType;
22
+ /**
23
+ * Returns the fee paid by the user, if any, in raw form. The fee asset is
24
+ * the native asset of the chain — adapters whose providers charge gas in a
25
+ * non-native asset would need a richer signal on `TransactionHistoryEntry`.
26
+ */
27
+ export declare function extractFee(entry: TransactionHistoryEntry, normalizedAddress: string, nativeAssetInfo: AssetInfo): TransactionHistoryItemFee | undefined;
28
+ //# sourceMappingURL=buildTransactionHistoryItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransactionHistoryItem.d.ts","sourceRoot":"","sources":["../../../../src/internal/transaction-history/use-case/buildTransactionHistoryItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG,2BAA2B,CAAC;AAEpD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,uBAAuB,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,eAAe,GAChB,EAAE,+BAA+B,GAAG,sBAAsB,CAe1D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,EAC9B,iBAAiB,EAAE,MAAM,GACxB,oBAAoB,CActB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,eAAe,CAE7E;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,uBAAuB,GAC7B,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,oBAAoB,GAAG,eAAe,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,uBAAuB,EAC9B,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,SAAS,GACzB,yBAAyB,GAAG,SAAS,CAYvC"}