@ledgerhq/live-common 34.49.0-nightly.6 → 34.50.0-nightly.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 (241) hide show
  1. package/lib/__tests__/test-helpers/bridge.js +1 -1
  2. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  3. package/lib/__tests__/test-helpers/environment.js +2 -0
  4. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  5. package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
  6. package/lib/bridge/generic-alpaca/alpaca/index.js +3 -0
  7. package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -1
  8. package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  9. package/lib/bridge/generic-alpaca/createTransaction.js +11 -0
  10. package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
  11. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  12. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +2 -3
  13. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  14. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  15. package/lib/bridge/generic-alpaca/getAccountShape.js +11 -3
  16. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  17. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  18. package/lib/bridge/generic-alpaca/getTransactionStatus.js +6 -4
  19. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  20. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  21. package/lib/bridge/generic-alpaca/prepareTransaction.js +32 -4
  22. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  23. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  24. package/lib/bridge/generic-alpaca/signOperation.js +4 -2
  25. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
  26. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  27. package/lib/bridge/generic-alpaca/signer/index.js +37 -0
  28. package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
  29. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -0
  30. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
  31. package/lib/bridge/generic-alpaca/signer/signTransaction.js +8 -1
  32. package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
  33. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +15 -1
  34. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -1
  35. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +1 -1
  36. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
  37. package/lib/bridge/generic-alpaca/tests/signOperation.test.js +2 -2
  38. package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
  39. package/lib/bridge/generic-alpaca/types.d.ts +7 -1
  40. package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
  41. package/lib/bridge/generic-alpaca/utils.d.ts +7 -1
  42. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
  43. package/lib/bridge/generic-alpaca/utils.js +31 -29
  44. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  45. package/lib/bridge/generic-alpaca/utils.test.js +32 -0
  46. package/lib/bridge/generic-alpaca/utils.test.js.map +1 -1
  47. package/lib/bridge/impl.d.ts.map +1 -1
  48. package/lib/bridge/impl.js +1 -0
  49. package/lib/bridge/impl.js.map +1 -1
  50. package/lib/e2e/enum/Network.d.ts +1 -0
  51. package/lib/e2e/enum/Network.d.ts.map +1 -1
  52. package/lib/e2e/enum/Network.js +1 -0
  53. package/lib/e2e/enum/Network.js.map +1 -1
  54. package/lib/e2e/index.d.ts +4 -0
  55. package/lib/e2e/index.d.ts.map +1 -1
  56. package/lib/families/canton/bridge/mock.d.ts.map +1 -1
  57. package/lib/families/canton/bridge/mock.js +1 -0
  58. package/lib/families/canton/bridge/mock.js.map +1 -1
  59. package/lib/families/canton/config.d.ts.map +1 -1
  60. package/lib/families/canton/config.js +2 -0
  61. package/lib/families/canton/config.js.map +1 -1
  62. package/lib/families/evm/config.d.ts.map +1 -1
  63. package/lib/families/evm/config.js +26 -0
  64. package/lib/families/evm/config.js.map +1 -1
  65. package/lib/families/kaspa/bridge.integration.test.js +1 -4
  66. package/lib/families/kaspa/bridge.integration.test.js.map +1 -1
  67. package/lib/families/tezos/react.d.ts +2 -1
  68. package/lib/families/tezos/react.d.ts.map +1 -1
  69. package/lib/families/tezos/react.js +19 -1
  70. package/lib/families/tezos/react.js.map +1 -1
  71. package/lib/families/tezos/setup.d.ts +1 -4
  72. package/lib/families/tezos/setup.d.ts.map +1 -1
  73. package/lib/families/tezos/setup.js +3 -11
  74. package/lib/families/tezos/setup.js.map +1 -1
  75. package/lib/featureFlags/defaultFeatures.d.ts +2 -0
  76. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  77. package/lib/featureFlags/defaultFeatures.js +2 -0
  78. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  79. package/lib/generated/bridge/js.d.ts +0 -1
  80. package/lib/generated/bridge/js.d.ts.map +1 -1
  81. package/lib/generated/bridge/js.js +10 -12
  82. package/lib/generated/bridge/js.js.map +1 -1
  83. package/lib/modularDrawer/hooks/useRightBalanceAsset.d.ts +5 -1
  84. package/lib/modularDrawer/hooks/useRightBalanceAsset.d.ts.map +1 -1
  85. package/lib/modularDrawer/hooks/useRightBalanceAsset.js +11 -14
  86. package/lib/modularDrawer/hooks/useRightBalanceAsset.js.map +1 -1
  87. package/lib/modularDrawer/hooks/useRightBalanceNetwork.d.ts +2 -1
  88. package/lib/modularDrawer/hooks/useRightBalanceNetwork.d.ts.map +1 -1
  89. package/lib/modularDrawer/hooks/useRightBalanceNetwork.js +3 -3
  90. package/lib/modularDrawer/hooks/useRightBalanceNetwork.js.map +1 -1
  91. package/lib/modularDrawer/modules/createAssetConfiguration.d.ts.map +1 -1
  92. package/lib/modularDrawer/modules/createAssetConfiguration.js +1 -0
  93. package/lib/modularDrawer/modules/createAssetConfiguration.js.map +1 -1
  94. package/lib/modularDrawer/utils/groupCurrenciesByProvider.d.ts +7 -0
  95. package/lib/modularDrawer/utils/groupCurrenciesByProvider.d.ts.map +1 -0
  96. package/lib/modularDrawer/utils/groupCurrenciesByProvider.js +21 -0
  97. package/lib/modularDrawer/utils/groupCurrenciesByProvider.js.map +1 -0
  98. package/lib/modularDrawer/utils/index.d.ts +2 -1
  99. package/lib/modularDrawer/utils/index.d.ts.map +1 -1
  100. package/lib/modularDrawer/utils/index.js +3 -1
  101. package/lib/modularDrawer/utils/index.js.map +1 -1
  102. package/lib/modularDrawer/utils/type.d.ts +18 -0
  103. package/lib/modularDrawer/utils/type.d.ts.map +1 -1
  104. package/lib-es/__tests__/test-helpers/bridge.js +1 -1
  105. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  106. package/lib-es/__tests__/test-helpers/environment.js +2 -0
  107. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  108. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
  109. package/lib-es/bridge/generic-alpaca/alpaca/index.js +3 -0
  110. package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -1
  111. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  112. package/lib-es/bridge/generic-alpaca/createTransaction.js +11 -0
  113. package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
  114. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  115. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +2 -3
  116. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  117. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  118. package/lib-es/bridge/generic-alpaca/getAccountShape.js +11 -3
  119. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  120. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  121. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +6 -4
  122. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  123. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  124. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +32 -4
  125. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  126. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  127. package/lib-es/bridge/generic-alpaca/signOperation.js +4 -2
  128. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
  129. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  130. package/lib-es/bridge/generic-alpaca/signer/index.js +38 -1
  131. package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
  132. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -0
  133. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
  134. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js +6 -0
  135. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
  136. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +15 -1
  137. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -1
  138. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +1 -1
  139. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
  140. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +2 -2
  141. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
  142. package/lib-es/bridge/generic-alpaca/types.d.ts +7 -1
  143. package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
  144. package/lib-es/bridge/generic-alpaca/utils.d.ts +7 -1
  145. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
  146. package/lib-es/bridge/generic-alpaca/utils.js +31 -29
  147. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  148. package/lib-es/bridge/generic-alpaca/utils.test.js +33 -1
  149. package/lib-es/bridge/generic-alpaca/utils.test.js.map +1 -1
  150. package/lib-es/bridge/impl.d.ts.map +1 -1
  151. package/lib-es/bridge/impl.js +1 -0
  152. package/lib-es/bridge/impl.js.map +1 -1
  153. package/lib-es/e2e/enum/Network.d.ts +1 -0
  154. package/lib-es/e2e/enum/Network.d.ts.map +1 -1
  155. package/lib-es/e2e/enum/Network.js +1 -0
  156. package/lib-es/e2e/enum/Network.js.map +1 -1
  157. package/lib-es/e2e/index.d.ts +4 -0
  158. package/lib-es/e2e/index.d.ts.map +1 -1
  159. package/lib-es/families/canton/bridge/mock.d.ts.map +1 -1
  160. package/lib-es/families/canton/bridge/mock.js +1 -0
  161. package/lib-es/families/canton/bridge/mock.js.map +1 -1
  162. package/lib-es/families/canton/config.d.ts.map +1 -1
  163. package/lib-es/families/canton/config.js +2 -0
  164. package/lib-es/families/canton/config.js.map +1 -1
  165. package/lib-es/families/evm/config.d.ts.map +1 -1
  166. package/lib-es/families/evm/config.js +26 -0
  167. package/lib-es/families/evm/config.js.map +1 -1
  168. package/lib-es/families/kaspa/bridge.integration.test.js +1 -4
  169. package/lib-es/families/kaspa/bridge.integration.test.js.map +1 -1
  170. package/lib-es/families/tezos/react.d.ts +2 -1
  171. package/lib-es/families/tezos/react.d.ts.map +1 -1
  172. package/lib-es/families/tezos/react.js +17 -0
  173. package/lib-es/families/tezos/react.js.map +1 -1
  174. package/lib-es/families/tezos/setup.d.ts +1 -4
  175. package/lib-es/families/tezos/setup.d.ts.map +1 -1
  176. package/lib-es/families/tezos/setup.js +2 -9
  177. package/lib-es/families/tezos/setup.js.map +1 -1
  178. package/lib-es/featureFlags/defaultFeatures.d.ts +2 -0
  179. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  180. package/lib-es/featureFlags/defaultFeatures.js +2 -0
  181. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  182. package/lib-es/generated/bridge/js.d.ts +0 -1
  183. package/lib-es/generated/bridge/js.d.ts.map +1 -1
  184. package/lib-es/generated/bridge/js.js +0 -2
  185. package/lib-es/generated/bridge/js.js.map +1 -1
  186. package/lib-es/modularDrawer/hooks/useRightBalanceAsset.d.ts +5 -1
  187. package/lib-es/modularDrawer/hooks/useRightBalanceAsset.d.ts.map +1 -1
  188. package/lib-es/modularDrawer/hooks/useRightBalanceAsset.js +11 -14
  189. package/lib-es/modularDrawer/hooks/useRightBalanceAsset.js.map +1 -1
  190. package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.d.ts +2 -1
  191. package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.d.ts.map +1 -1
  192. package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.js +3 -3
  193. package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.js.map +1 -1
  194. package/lib-es/modularDrawer/modules/createAssetConfiguration.d.ts.map +1 -1
  195. package/lib-es/modularDrawer/modules/createAssetConfiguration.js +1 -0
  196. package/lib-es/modularDrawer/modules/createAssetConfiguration.js.map +1 -1
  197. package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.d.ts +7 -0
  198. package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.d.ts.map +1 -0
  199. package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.js +17 -0
  200. package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.js.map +1 -0
  201. package/lib-es/modularDrawer/utils/index.d.ts +2 -1
  202. package/lib-es/modularDrawer/utils/index.d.ts.map +1 -1
  203. package/lib-es/modularDrawer/utils/index.js +2 -1
  204. package/lib-es/modularDrawer/utils/index.js.map +1 -1
  205. package/lib-es/modularDrawer/utils/type.d.ts +18 -0
  206. package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
  207. package/package.json +68 -68
  208. package/src/__tests__/test-helpers/bridge.ts +1 -1
  209. package/src/__tests__/test-helpers/environment.ts +2 -0
  210. package/src/bridge/generic-alpaca/alpaca/index.ts +4 -0
  211. package/src/bridge/generic-alpaca/createTransaction.ts +11 -0
  212. package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +6 -3
  213. package/src/bridge/generic-alpaca/getAccountShape.ts +13 -3
  214. package/src/bridge/generic-alpaca/getTransactionStatus.ts +6 -4
  215. package/src/bridge/generic-alpaca/prepareTransaction.ts +59 -6
  216. package/src/bridge/generic-alpaca/signOperation.ts +8 -2
  217. package/src/bridge/generic-alpaca/signer/index.ts +44 -1
  218. package/src/bridge/generic-alpaca/signer/signTransaction.ts +10 -0
  219. package/src/bridge/generic-alpaca/tests/estimateMaxSpendable.test.ts +15 -1
  220. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +1 -0
  221. package/src/bridge/generic-alpaca/tests/signOperation.test.ts +2 -2
  222. package/src/bridge/generic-alpaca/types.ts +13 -2
  223. package/src/bridge/generic-alpaca/utils.test.ts +65 -0
  224. package/src/bridge/generic-alpaca/utils.ts +42 -30
  225. package/src/bridge/impl.ts +1 -0
  226. package/src/e2e/enum/Network.ts +1 -0
  227. package/src/families/canton/bridge/mock.ts +1 -0
  228. package/src/families/canton/config.ts +2 -0
  229. package/src/families/evm/config.ts +26 -0
  230. package/src/families/kaspa/__snapshots__/bridge.integration.test.ts.snap +66 -0
  231. package/src/families/kaspa/bridge.integration.test.ts +1 -4
  232. package/src/families/tezos/react.ts +20 -1
  233. package/src/families/tezos/setup.ts +3 -22
  234. package/src/featureFlags/defaultFeatures.ts +2 -0
  235. package/src/generated/bridge/js.ts +0 -2
  236. package/src/modularDrawer/hooks/useRightBalanceAsset.tsx +26 -21
  237. package/src/modularDrawer/hooks/useRightBalanceNetwork.tsx +4 -2
  238. package/src/modularDrawer/modules/createAssetConfiguration.ts +1 -0
  239. package/src/modularDrawer/utils/groupCurrenciesByProvider.ts +27 -0
  240. package/src/modularDrawer/utils/index.ts +2 -0
  241. package/src/modularDrawer/utils/type.ts +19 -0
@@ -10,15 +10,18 @@ import { buildProviderCurrenciesMap } from "../utils/buildProviderCurrenciesMap"
10
10
  import { CurrenciesByProviderId } from "../../deposit/type";
11
11
  import { calculateProviderTotals } from "../utils/calculateProviderTotal";
12
12
  import { getProviderCurrency } from "../utils/getProviderCurrency";
13
- import { getBalanceAndFiatValueByAssets } from "../utils/getBalanceAndFiatValueByAssets";
14
13
  import { groupAccountsByAsset } from "../utils/groupAccountsByAsset";
15
14
 
16
15
  export type AssetDeps = {
17
16
  useBalanceDeps: UseBalanceDeps;
18
17
  balanceItem: (asset: { fiatValue?: string; balance?: string }) => ReactNode;
18
+ assetsMap: Map<
19
+ string,
20
+ { mainCurrency: CryptoOrTokenCurrency; currencies: CryptoOrTokenCurrency[] }
21
+ >;
19
22
  };
20
23
 
21
- export function createUseRightBalanceAsset({ useBalanceDeps, balanceItem }: AssetDeps) {
24
+ export function createUseRightBalanceAsset({ useBalanceDeps, balanceItem, assetsMap }: AssetDeps) {
22
25
  const formatProviderResult = (
23
26
  providerCurrency: CryptoOrTokenCurrency,
24
27
  totalBalance: BigNumber,
@@ -58,15 +61,26 @@ export function createUseRightBalanceAsset({ useBalanceDeps, balanceItem }: Asse
58
61
 
59
62
  return useMemo(() => {
60
63
  if (!providerMap) {
61
- const allBalance = getBalanceAndFiatValueByAssets(
62
- flattenedAccounts,
63
- assets,
64
- state,
65
- counterValueCurrency,
66
- discreet,
67
- locale,
68
- );
69
- const balanceMap = new Map(allBalance.map(b => [b.id, b]));
64
+ const balanceMap = new Map();
65
+
66
+ for (const [, { currencies, mainCurrency }] of assetsMap) {
67
+ const { totalBalance, totalFiatValue } = calculateProviderTotals(currencies, grouped);
68
+
69
+ const { balance, fiatValue } = formatProviderResult(
70
+ mainCurrency,
71
+ totalBalance,
72
+ totalFiatValue,
73
+ counterValueCurrency,
74
+ locale,
75
+ discreet,
76
+ );
77
+
78
+ balanceMap.set(mainCurrency.id, {
79
+ balance: balance,
80
+ fiatValue: fiatValue,
81
+ });
82
+ }
83
+
70
84
  const assetsWithBalanceData = assets.map(asset => {
71
85
  const balanceData = balanceMap.get(asset.id) || {};
72
86
  return {
@@ -126,15 +140,6 @@ export function createUseRightBalanceAsset({ useBalanceDeps, balanceItem }: Asse
126
140
  ...asset,
127
141
  rightElement: balanceItem(balanceData),
128
142
  }));
129
- }, [
130
- assets,
131
- providerMap,
132
- flattenedAccounts,
133
- state,
134
- counterValueCurrency,
135
- discreet,
136
- locale,
137
- grouped,
138
- ]);
143
+ }, [providerMap, assets, grouped, counterValueCurrency, locale, discreet]);
139
144
  };
140
145
  }
@@ -12,6 +12,7 @@ export type NetworkDeps = {
12
12
 
13
13
  type Params = {
14
14
  assets: CryptoOrTokenCurrency[];
15
+ networks: CryptoOrTokenCurrency[];
15
16
  selectedAssetId: string;
16
17
  currenciesByProvider: CurrenciesByProviderId[];
17
18
  };
@@ -21,6 +22,7 @@ export function createUseRightBalanceNetwork({ useBalanceDeps, balanceItem }: Ne
21
22
  assets: networks,
22
23
  selectedAssetId,
23
24
  currenciesByProvider,
25
+ networks: actualNetworks,
24
26
  }: Params) {
25
27
  const { flattenedAccounts, discreet, state, counterValueCurrency, locale } = useBalanceDeps();
26
28
 
@@ -77,7 +79,7 @@ export function createUseRightBalanceNetwork({ useBalanceDeps, balanceItem }: Ne
77
79
 
78
80
  const networkBalanceData = getBalanceAndFiatValueByAssets(
79
81
  flattenedAccounts,
80
- networks,
82
+ actualNetworks,
81
83
  state,
82
84
  counterValueCurrency,
83
85
  discreet,
@@ -86,7 +88,7 @@ export function createUseRightBalanceNetwork({ useBalanceDeps, balanceItem }: Ne
86
88
 
87
89
  const balanceMap = new Map(networkBalanceData.map(b => [b.id, b]));
88
90
 
89
- const networksWithBalance = networks.map(network => {
91
+ const networksWithBalance = actualNetworks.map(network => {
90
92
  const balanceData = balanceMap.get(network.id) || {};
91
93
  return {
92
94
  network,
@@ -24,6 +24,7 @@ const getRightElement =
24
24
  return createUseRightBalanceAsset({
25
25
  useBalanceDeps: AssetConfigurationDeps.useBalanceDeps,
26
26
  balanceItem: AssetConfigurationDeps.balanceItem,
27
+ assetsMap: AssetConfigurationDeps.assetsMap,
27
28
  });
28
29
  }
29
30
  };
@@ -0,0 +1,27 @@
1
+ import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
2
+ import { AssetData } from "./type";
3
+
4
+ export const groupCurrenciesByProvider = (assetsSorted: AssetData[]) => {
5
+ const assetMap = new Map<
6
+ string,
7
+ { mainCurrency: CryptoOrTokenCurrency; currencies: CryptoOrTokenCurrency[] }
8
+ >();
9
+
10
+ if (assetsSorted) {
11
+ for (const item of assetsSorted) {
12
+ const {
13
+ asset: { id: providerId },
14
+ networks = [],
15
+ } = item;
16
+ if (networks.length > 0) {
17
+ const mainCurrency = networks.find(c => c.id === providerId) ?? networks[0];
18
+ assetMap.set(providerId, {
19
+ mainCurrency,
20
+ currencies: networks,
21
+ });
22
+ }
23
+ }
24
+ }
25
+
26
+ return assetMap;
27
+ };
@@ -2,6 +2,7 @@ import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
2
2
  import { CurrenciesByProviderId } from "../../deposit/type";
3
3
  import { haveOneCommonProvider } from "./haveOneCommonProvider";
4
4
  import { getBalanceAndFiatValue } from "./getBalanceAndFiatValue";
5
+ import { groupCurrenciesByProvider } from "./groupCurrenciesByProvider";
5
6
 
6
7
  function isCorrespondingCurrency(
7
8
  elem: CryptoOrTokenCurrency,
@@ -33,4 +34,5 @@ export {
33
34
  getEffectiveCurrency,
34
35
  haveOneCommonProvider,
35
36
  getBalanceAndFiatValue,
37
+ groupCurrenciesByProvider,
36
38
  };
@@ -6,6 +6,8 @@ import { Observable } from "rxjs";
6
6
  import { WalletAPIAccount } from "../../wallet-api/types";
7
7
  import { CurrenciesByProviderId } from "../../deposit/type";
8
8
  import { EnhancedModularDrawerConfiguration } from "../../wallet-api/ModularDrawer/types";
9
+ import { InterestRate } from "../data/entities";
10
+ import { MarketItemResponse } from "../../market/utils/types";
9
11
 
10
12
  export type ApyType = "NRR" | "APY" | "APR";
11
13
 
@@ -115,8 +117,25 @@ export type AssetConfigurationDeps = {
115
117
  MarketPriceIndicator: (args: { price: string; percent: number }) => ReactNode;
116
118
  useBalanceDeps: UseBalanceDeps;
117
119
  balanceItem: (asset: { fiatValue?: string; balance?: string }) => ReactNode;
120
+ assetsMap: Map<
121
+ string,
122
+ { mainCurrency: CryptoOrTokenCurrency; currencies: CryptoOrTokenCurrency[] }
123
+ >;
118
124
  };
119
125
 
120
126
  export type CreateAssetConfigurationHook = (
121
127
  AssetConfigurationDeps: AssetConfigurationDeps,
122
128
  ) => (props: Props) => (assets: CryptoOrTokenCurrency[]) => (CryptoOrTokenCurrency & AssetType)[];
129
+
130
+ export type AssetData = {
131
+ asset: {
132
+ id: string;
133
+ ticker: string;
134
+ name: string;
135
+ assetsIds: Record<string, string>;
136
+ metaCurrencyId?: string;
137
+ };
138
+ networks: CryptoOrTokenCurrency[];
139
+ interestRates?: InterestRate;
140
+ market?: Partial<MarketItemResponse>;
141
+ };