@ledgerhq/live-common 34.50.0 → 34.51.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.
- package/lib/__tests__/test-helpers/bridge.js +1 -1
- package/lib/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib/__tests__/test-helpers/environment.js +1 -1
- package/lib/__tests__/test-helpers/environment.js.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.js +3 -0
- package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/buildSubAccounts.d.ts +4 -4
- package/lib/bridge/generic-alpaca/buildSubAccounts.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/buildSubAccounts.js +7 -9
- package/lib/bridge/generic-alpaca/buildSubAccounts.js.map +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.js +11 -0
- package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.js +15 -9
- package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.js +29 -4
- package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/index.js +37 -0
- package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -0
- package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.js +8 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +15 -1
- package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -1
- package/lib/bridge/generic-alpaca/tests/getAccountShape.test.js +5 -3
- package/lib/bridge/generic-alpaca/tests/getAccountShape.test.js.map +1 -1
- package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +60 -0
- package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
- package/lib/bridge/generic-alpaca/tests/signOperation.test.js +1 -1
- package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
- package/lib/bridge/generic-alpaca/types.d.ts +1 -2
- package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.d.ts +2 -2
- package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.js +23 -4
- package/lib/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib/bridge/impl.d.ts.map +1 -1
- package/lib/bridge/impl.js +1 -0
- package/lib/bridge/impl.js.map +1 -1
- package/lib/dada-client/entities/index.d.ts.map +1 -0
- package/lib/dada-client/entities/index.js.map +1 -0
- package/lib/{modularDrawer/data → dada-client}/entities/interestRateSelectors.d.ts +1 -1
- package/lib/dada-client/entities/interestRateSelectors.d.ts.map +1 -0
- package/lib/dada-client/entities/interestRateSelectors.js.map +1 -0
- package/lib/{modularDrawer/data → dada-client}/entities/marketSelectors.d.ts +1 -1
- package/lib/dada-client/entities/marketSelectors.d.ts.map +1 -0
- package/lib/dada-client/entities/marketSelectors.js.map +1 -0
- package/lib/dada-client/entities/selectorUtils.d.ts.map +1 -0
- package/lib/dada-client/entities/selectorUtils.js.map +1 -0
- package/lib/dada-client/hooks/__tests__/useAssetsData.test.d.ts.map +1 -0
- package/lib/{modularDrawer/hooks/__test__ → dada-client/hooks/__tests__}/useAssetsData.test.js +2 -2
- package/lib/dada-client/hooks/__tests__/useAssetsData.test.js.map +1 -0
- package/lib/dada-client/hooks/useAssetData.d.ts +10 -0
- package/lib/dada-client/hooks/useAssetData.d.ts.map +1 -0
- package/lib/dada-client/hooks/useAssetData.js +23 -0
- package/lib/dada-client/hooks/useAssetData.js.map +1 -0
- package/lib/dada-client/hooks/useAssetsData.d.ts +19 -0
- package/lib/dada-client/hooks/useAssetsData.d.ts.map +1 -0
- package/lib/{modularDrawer → dada-client}/hooks/useAssetsData.js +1 -1
- package/lib/dada-client/hooks/useAssetsData.js.map +1 -0
- package/lib/dada-client/hooks/useInterestRatesByCurrencies.d.ts.map +1 -0
- package/lib/{modularDrawer → dada-client}/hooks/useInterestRatesByCurrencies.js +3 -3
- package/lib/dada-client/hooks/useInterestRatesByCurrencies.js.map +1 -0
- package/lib/dada-client/hooks/useMarketByCurrencies.d.ts.map +1 -0
- package/lib/{modularDrawer → dada-client}/hooks/useMarketByCurrencies.js +5 -6
- package/lib/dada-client/hooks/useMarketByCurrencies.js.map +1 -0
- package/lib/{modularDrawer/data → dada-client}/state-manager/api.d.ts +134 -1
- package/lib/{modularDrawer/data → dada-client}/state-manager/api.d.ts.map +1 -1
- package/lib/{modularDrawer/data → dada-client}/state-manager/api.js +21 -2
- package/lib/dada-client/state-manager/api.js.map +1 -0
- package/lib/dada-client/state-manager/types.d.ts.map +1 -0
- package/lib/dada-client/state-manager/types.js.map +1 -0
- package/lib/dada-client/types/trend.d.ts +2 -0
- package/lib/dada-client/types/trend.d.ts.map +1 -0
- package/lib/dada-client/types/trend.js +3 -0
- package/lib/dada-client/types/trend.js.map +1 -0
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +1 -1
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.js +6 -1
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.js.map +1 -1
- package/lib/e2e/enum/Account.d.ts +2 -0
- package/lib/e2e/enum/Account.d.ts.map +1 -1
- package/lib/e2e/enum/Account.js +4 -0
- package/lib/e2e/enum/Account.js.map +1 -1
- package/lib/e2e/enum/AppInfos.d.ts +1 -0
- package/lib/e2e/enum/AppInfos.d.ts.map +1 -1
- package/lib/e2e/enum/AppInfos.js +1 -0
- package/lib/e2e/enum/AppInfos.js.map +1 -1
- package/lib/e2e/enum/Currency.d.ts +2 -0
- package/lib/e2e/enum/Currency.d.ts.map +1 -1
- package/lib/e2e/enum/Currency.js +4 -0
- package/lib/e2e/enum/Currency.js.map +1 -1
- package/lib/e2e/enum/Network.d.ts +2 -1
- package/lib/e2e/enum/Network.d.ts.map +1 -1
- package/lib/e2e/enum/Network.js +1 -0
- package/lib/e2e/enum/Network.js.map +1 -1
- package/lib/e2e/enum/Provider.d.ts +1 -0
- package/lib/e2e/enum/Provider.d.ts.map +1 -1
- package/lib/e2e/enum/Provider.js +1 -0
- package/lib/e2e/enum/Provider.js.map +1 -1
- package/lib/e2e/families/hedera.d.ts +2 -0
- package/lib/e2e/families/hedera.d.ts.map +1 -0
- package/lib/e2e/families/hedera.js +11 -0
- package/lib/e2e/families/hedera.js.map +1 -0
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +12 -0
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/e2e/swap.d.ts +1 -1
- package/lib/e2e/swap.d.ts.map +1 -1
- package/lib/e2e/swap.js +6 -5
- package/lib/e2e/swap.js.map +1 -1
- package/lib/exchange/platform/types.d.ts +2 -0
- package/lib/exchange/platform/types.d.ts.map +1 -1
- package/lib/exchange/swap/completeExchange.d.ts.map +1 -1
- package/lib/exchange/swap/completeExchange.js +22 -1
- package/lib/exchange/swap/completeExchange.js.map +1 -1
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.js +8 -0
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
- package/lib/exchange/swap/postSwapState.d.ts.map +1 -1
- package/lib/exchange/swap/postSwapState.js +19 -23
- package/lib/exchange/swap/postSwapState.js.map +1 -1
- package/lib/exchange/swap/setBroadcastTransaction.d.ts +4 -4
- package/lib/exchange/swap/setBroadcastTransaction.js +7 -7
- package/lib/exchange/swap/setBroadcastTransaction.js.map +1 -1
- package/lib/exchange/swap/types.d.ts +3 -3
- package/lib/exchange/swap/types.d.ts.map +1 -1
- package/lib/exchange/swap/updateAccountSwapStatus.d.ts.map +1 -1
- package/lib/exchange/swap/updateAccountSwapStatus.js +6 -4
- package/lib/exchange/swap/updateAccountSwapStatus.js.map +1 -1
- package/lib/families/canton/config.js +10 -10
- package/lib/families/canton/config.js.map +1 -1
- package/lib/families/evm/shouldUseReceiveOptions.d.ts +3 -0
- package/lib/families/evm/shouldUseReceiveOptions.d.ts.map +1 -0
- package/lib/families/evm/shouldUseReceiveOptions.js +5 -0
- package/lib/families/evm/shouldUseReceiveOptions.js.map +1 -0
- package/lib/families/evm/shouldUseReceiveOptions.test.d.ts +2 -0
- package/lib/families/evm/shouldUseReceiveOptions.test.d.ts.map +1 -0
- package/lib/families/evm/shouldUseReceiveOptions.test.js +26 -0
- package/lib/families/evm/shouldUseReceiveOptions.test.js.map +1 -0
- package/lib/families/hedera/exchange.d.ts +9 -0
- package/lib/families/hedera/exchange.d.ts.map +1 -0
- package/lib/families/hedera/exchange.js +36 -0
- package/lib/families/hedera/exchange.js.map +1 -0
- package/lib/families/tezos/config.js +2 -2
- package/lib/families/tezos/react.d.ts +2 -1
- package/lib/families/tezos/react.d.ts.map +1 -1
- package/lib/families/tezos/react.js +19 -1
- package/lib/families/tezos/react.js.map +1 -1
- package/lib/families/tezos/setup.d.ts +1 -4
- package/lib/families/tezos/setup.d.ts.map +1 -1
- package/lib/families/tezos/setup.js +3 -11
- package/lib/families/tezos/setup.js.map +1 -1
- package/lib/generated/bridge/js.d.ts +0 -1
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js +10 -12
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib/hw/actions/completeExchange.d.ts +2 -0
- package/lib/hw/actions/completeExchange.d.ts.map +1 -1
- package/lib/hw/actions/completeExchange.js +1 -0
- package/lib/hw/actions/completeExchange.js.map +1 -1
- package/lib/hw/signMessage/index.d.ts.map +1 -1
- package/lib/hw/signMessage/index.js +7 -0
- package/lib/hw/signMessage/index.js.map +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.d.ts +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.js +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftApyModule.js.map +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.js +1 -1
- package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.js.map +1 -1
- package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.js +6 -3
- package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.js.map +1 -1
- package/lib/modularDrawer/hooks/useAssetAccountCounts.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useAssetAccountCounts.js +2 -4
- package/lib/modularDrawer/hooks/useAssetAccountCounts.js.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts +7 -0
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -0
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +224 -0
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -0
- package/lib/modularDrawer/hooks/useLeftAccountsApy.js +1 -1
- package/lib/modularDrawer/hooks/useLeftAccountsApy.js.map +1 -1
- package/lib/modularDrawer/hooks/useRightBalanceAsset.d.ts +8 -10
- package/lib/modularDrawer/hooks/useRightBalanceAsset.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useRightBalanceAsset.js +21 -64
- package/lib/modularDrawer/hooks/useRightBalanceAsset.js.map +1 -1
- package/lib/modularDrawer/hooks/useRightBalanceNetwork.d.ts +7 -28
- package/lib/modularDrawer/hooks/useRightBalanceNetwork.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useRightBalanceNetwork.js +12 -56
- package/lib/modularDrawer/hooks/useRightBalanceNetwork.js.map +1 -1
- package/lib/modularDrawer/modules/createAssetConfiguration.d.ts.map +1 -1
- package/lib/modularDrawer/modules/createAssetConfiguration.js +2 -2
- package/lib/modularDrawer/modules/createAssetConfiguration.js.map +1 -1
- package/lib/modularDrawer/modules/createNetworkConfiguration.d.ts +1 -1
- package/lib/modularDrawer/modules/createNetworkConfiguration.d.ts.map +1 -1
- package/lib/modularDrawer/modules/createNetworkConfiguration.js +15 -4
- package/lib/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
- package/lib/modularDrawer/utils/__tests__/calculateProviderTotal.test.d.ts +2 -0
- package/lib/modularDrawer/utils/__tests__/calculateProviderTotal.test.d.ts.map +1 -0
- package/lib/modularDrawer/utils/__tests__/calculateProviderTotal.test.js +212 -0
- package/lib/modularDrawer/utils/__tests__/calculateProviderTotal.test.js.map +1 -0
- package/lib/modularDrawer/utils/__tests__/groupAccountsByAsset.test.d.ts +2 -0
- package/lib/modularDrawer/utils/__tests__/groupAccountsByAsset.test.d.ts.map +1 -0
- package/lib/modularDrawer/utils/__tests__/groupAccountsByAsset.test.js +202 -0
- package/lib/modularDrawer/utils/__tests__/groupAccountsByAsset.test.js.map +1 -0
- package/lib/modularDrawer/utils/calculateProviderTotal.d.ts +1 -0
- package/lib/modularDrawer/utils/calculateProviderTotal.d.ts.map +1 -1
- package/lib/modularDrawer/utils/calculateProviderTotal.js +10 -2
- package/lib/modularDrawer/utils/calculateProviderTotal.js.map +1 -1
- package/lib/modularDrawer/utils/currencyUtils.d.ts.map +1 -1
- package/lib/modularDrawer/utils/currencyUtils.js.map +1 -1
- package/lib/modularDrawer/utils/getBalanceAndFiatValueByAssets.d.ts +6 -4
- package/lib/modularDrawer/utils/getBalanceAndFiatValueByAssets.d.ts.map +1 -1
- package/lib/modularDrawer/utils/getBalanceAndFiatValueByAssets.js +9 -22
- package/lib/modularDrawer/utils/getBalanceAndFiatValueByAssets.js.map +1 -1
- package/lib/modularDrawer/utils/getInterestRateForAsset.d.ts +1 -1
- package/lib/modularDrawer/utils/getInterestRateForAsset.d.ts.map +1 -1
- package/lib/modularDrawer/utils/groupAccountsByAsset.d.ts +4 -3
- package/lib/modularDrawer/utils/groupAccountsByAsset.d.ts.map +1 -1
- package/lib/modularDrawer/utils/groupAccountsByAsset.js +27 -11
- package/lib/modularDrawer/utils/groupAccountsByAsset.js.map +1 -1
- package/lib/modularDrawer/utils/index.d.ts +2 -6
- package/lib/modularDrawer/utils/index.d.ts.map +1 -1
- package/lib/modularDrawer/utils/index.js +2 -13
- package/lib/modularDrawer/utils/index.js.map +1 -1
- package/lib/modularDrawer/utils/index.test.js +0 -26
- package/lib/modularDrawer/utils/index.test.js.map +1 -1
- package/lib/modularDrawer/utils/sortByBalance.d.ts +1 -3
- package/lib/modularDrawer/utils/sortByBalance.d.ts.map +1 -1
- package/lib/modularDrawer/utils/sortByBalance.js +6 -18
- package/lib/modularDrawer/utils/sortByBalance.js.map +1 -1
- package/lib/modularDrawer/utils/type.d.ts +15 -17
- package/lib/modularDrawer/utils/type.d.ts.map +1 -1
- package/lib/wallet-api/CustomDeeplink/server.d.ts +16 -0
- package/lib/wallet-api/CustomDeeplink/server.d.ts.map +1 -0
- package/lib/wallet-api/CustomDeeplink/server.js +10 -0
- package/lib/wallet-api/CustomDeeplink/server.js.map +1 -0
- package/lib/wallet-api/Exchange/server.js +6 -6
- package/lib/wallet-api/Exchange/server.js.map +1 -1
- package/lib/wallet-api/constants.d.ts +1 -1
- package/lib/wallet-api/constants.d.ts.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib-es/__tests__/test-helpers/environment.js +1 -1
- package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.js +3 -0
- package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/buildSubAccounts.d.ts +4 -4
- package/lib-es/bridge/generic-alpaca/buildSubAccounts.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/buildSubAccounts.js +7 -9
- package/lib-es/bridge/generic-alpaca/buildSubAccounts.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js +11 -0
- package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.js +15 -9
- package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js +29 -4
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/index.js +38 -1
- package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -0
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.js +6 -0
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +15 -1
- package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/tests/getAccountShape.test.js +5 -3
- package/lib-es/bridge/generic-alpaca/tests/getAccountShape.test.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +60 -0
- package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +1 -1
- package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/types.d.ts +1 -2
- package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts +2 -2
- package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js +23 -4
- package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib-es/bridge/impl.d.ts.map +1 -1
- package/lib-es/bridge/impl.js +1 -0
- package/lib-es/bridge/impl.js.map +1 -1
- package/lib-es/dada-client/entities/index.d.ts.map +1 -0
- package/lib-es/dada-client/entities/index.js.map +1 -0
- package/lib-es/{modularDrawer/data → dada-client}/entities/interestRateSelectors.d.ts +1 -1
- package/lib-es/dada-client/entities/interestRateSelectors.d.ts.map +1 -0
- package/lib-es/dada-client/entities/interestRateSelectors.js.map +1 -0
- package/lib-es/{modularDrawer/data → dada-client}/entities/marketSelectors.d.ts +1 -1
- package/lib-es/dada-client/entities/marketSelectors.d.ts.map +1 -0
- package/lib-es/dada-client/entities/marketSelectors.js.map +1 -0
- package/lib-es/dada-client/entities/selectorUtils.d.ts.map +1 -0
- package/lib-es/dada-client/entities/selectorUtils.js.map +1 -0
- package/lib-es/dada-client/hooks/__tests__/useAssetsData.test.d.ts.map +1 -0
- package/lib-es/{modularDrawer/hooks/__test__ → dada-client/hooks/__tests__}/useAssetsData.test.js +2 -2
- package/lib-es/dada-client/hooks/__tests__/useAssetsData.test.js.map +1 -0
- package/lib-es/dada-client/hooks/useAssetData.d.ts +10 -0
- package/lib-es/dada-client/hooks/useAssetData.d.ts.map +1 -0
- package/lib-es/dada-client/hooks/useAssetData.js +19 -0
- package/lib-es/dada-client/hooks/useAssetData.js.map +1 -0
- package/lib-es/dada-client/hooks/useAssetsData.d.ts +19 -0
- package/lib-es/dada-client/hooks/useAssetsData.d.ts.map +1 -0
- package/lib-es/{modularDrawer → dada-client}/hooks/useAssetsData.js +1 -1
- package/lib-es/dada-client/hooks/useAssetsData.js.map +1 -0
- package/lib-es/dada-client/hooks/useInterestRatesByCurrencies.d.ts.map +1 -0
- package/lib-es/{modularDrawer → dada-client}/hooks/useInterestRatesByCurrencies.js +3 -3
- package/lib-es/dada-client/hooks/useInterestRatesByCurrencies.js.map +1 -0
- package/lib-es/dada-client/hooks/useMarketByCurrencies.d.ts.map +1 -0
- package/lib-es/{modularDrawer → dada-client}/hooks/useMarketByCurrencies.js +5 -6
- package/lib-es/dada-client/hooks/useMarketByCurrencies.js.map +1 -0
- package/lib-es/{modularDrawer/data → dada-client}/state-manager/api.d.ts +134 -1
- package/lib-es/{modularDrawer/data → dada-client}/state-manager/api.d.ts.map +1 -1
- package/lib-es/{modularDrawer/data → dada-client}/state-manager/api.js +20 -1
- package/lib-es/dada-client/state-manager/api.js.map +1 -0
- package/lib-es/dada-client/state-manager/types.d.ts.map +1 -0
- package/lib-es/dada-client/state-manager/types.js.map +1 -0
- package/lib-es/dada-client/types/trend.d.ts +2 -0
- package/lib-es/dada-client/types/trend.d.ts.map +1 -0
- package/lib-es/dada-client/types/trend.js +2 -0
- package/lib-es/dada-client/types/trend.js.map +1 -0
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +1 -1
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js +6 -1
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js.map +1 -1
- package/lib-es/e2e/enum/Account.d.ts +2 -0
- package/lib-es/e2e/enum/Account.d.ts.map +1 -1
- package/lib-es/e2e/enum/Account.js +4 -0
- package/lib-es/e2e/enum/Account.js.map +1 -1
- package/lib-es/e2e/enum/AppInfos.d.ts +1 -0
- package/lib-es/e2e/enum/AppInfos.d.ts.map +1 -1
- package/lib-es/e2e/enum/AppInfos.js +1 -0
- package/lib-es/e2e/enum/AppInfos.js.map +1 -1
- package/lib-es/e2e/enum/Currency.d.ts +2 -0
- package/lib-es/e2e/enum/Currency.d.ts.map +1 -1
- package/lib-es/e2e/enum/Currency.js +4 -0
- package/lib-es/e2e/enum/Currency.js.map +1 -1
- package/lib-es/e2e/enum/Network.d.ts +2 -1
- package/lib-es/e2e/enum/Network.d.ts.map +1 -1
- package/lib-es/e2e/enum/Network.js +1 -0
- package/lib-es/e2e/enum/Network.js.map +1 -1
- package/lib-es/e2e/enum/Provider.d.ts +1 -0
- package/lib-es/e2e/enum/Provider.d.ts.map +1 -1
- package/lib-es/e2e/enum/Provider.js +1 -0
- package/lib-es/e2e/enum/Provider.js.map +1 -1
- package/lib-es/e2e/families/hedera.d.ts +2 -0
- package/lib-es/e2e/families/hedera.d.ts.map +1 -0
- package/lib-es/e2e/families/hedera.js +7 -0
- package/lib-es/e2e/families/hedera.js.map +1 -0
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +12 -0
- package/lib-es/e2e/speculos.js.map +1 -1
- package/lib-es/e2e/swap.d.ts +1 -1
- package/lib-es/e2e/swap.d.ts.map +1 -1
- package/lib-es/e2e/swap.js +6 -5
- package/lib-es/e2e/swap.js.map +1 -1
- package/lib-es/exchange/platform/types.d.ts +2 -0
- package/lib-es/exchange/platform/types.d.ts.map +1 -1
- package/lib-es/exchange/swap/completeExchange.d.ts.map +1 -1
- package/lib-es/exchange/swap/completeExchange.js +22 -1
- package/lib-es/exchange/swap/completeExchange.js.map +1 -1
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js +8 -0
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
- package/lib-es/exchange/swap/postSwapState.d.ts.map +1 -1
- package/lib-es/exchange/swap/postSwapState.js +19 -23
- package/lib-es/exchange/swap/postSwapState.js.map +1 -1
- package/lib-es/exchange/swap/setBroadcastTransaction.d.ts +4 -4
- package/lib-es/exchange/swap/setBroadcastTransaction.js +7 -7
- package/lib-es/exchange/swap/setBroadcastTransaction.js.map +1 -1
- package/lib-es/exchange/swap/types.d.ts +3 -3
- package/lib-es/exchange/swap/types.d.ts.map +1 -1
- package/lib-es/exchange/swap/updateAccountSwapStatus.d.ts.map +1 -1
- package/lib-es/exchange/swap/updateAccountSwapStatus.js +6 -4
- package/lib-es/exchange/swap/updateAccountSwapStatus.js.map +1 -1
- package/lib-es/families/canton/config.js +10 -10
- package/lib-es/families/canton/config.js.map +1 -1
- package/lib-es/families/evm/shouldUseReceiveOptions.d.ts +3 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.d.ts.map +1 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.js +3 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.js.map +1 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.test.d.ts +2 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.test.d.ts.map +1 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.test.js +21 -0
- package/lib-es/families/evm/shouldUseReceiveOptions.test.js.map +1 -0
- package/lib-es/families/hedera/exchange.d.ts +9 -0
- package/lib-es/families/hedera/exchange.d.ts.map +1 -0
- package/lib-es/families/hedera/exchange.js +29 -0
- package/lib-es/families/hedera/exchange.js.map +1 -0
- package/lib-es/families/tezos/config.js +2 -2
- package/lib-es/families/tezos/react.d.ts +2 -1
- package/lib-es/families/tezos/react.d.ts.map +1 -1
- package/lib-es/families/tezos/react.js +17 -0
- package/lib-es/families/tezos/react.js.map +1 -1
- package/lib-es/families/tezos/setup.d.ts +1 -4
- package/lib-es/families/tezos/setup.d.ts.map +1 -1
- package/lib-es/families/tezos/setup.js +2 -9
- package/lib-es/families/tezos/setup.js.map +1 -1
- package/lib-es/generated/bridge/js.d.ts +0 -1
- package/lib-es/generated/bridge/js.d.ts.map +1 -1
- package/lib-es/generated/bridge/js.js +0 -2
- package/lib-es/generated/bridge/js.js.map +1 -1
- package/lib-es/hw/actions/completeExchange.d.ts +2 -0
- package/lib-es/hw/actions/completeExchange.d.ts.map +1 -1
- package/lib-es/hw/actions/completeExchange.js +1 -0
- package/lib-es/hw/actions/completeExchange.js.map +1 -1
- package/lib-es/hw/signMessage/index.d.ts.map +1 -1
- package/lib-es/hw/signMessage/index.js +7 -0
- package/lib-es/hw/signMessage/index.js.map +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.d.ts +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.js +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.js.map +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.js +1 -1
- package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.js.map +1 -1
- package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.js +2 -2
- package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useAssetAccountCounts.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useAssetAccountCounts.js +2 -4
- package/lib-es/modularDrawer/hooks/useAssetAccountCounts.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts +7 -0
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -0
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +217 -0
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -0
- package/lib-es/modularDrawer/hooks/useLeftAccountsApy.js +1 -1
- package/lib-es/modularDrawer/hooks/useLeftAccountsApy.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useRightBalanceAsset.d.ts +8 -10
- package/lib-es/modularDrawer/hooks/useRightBalanceAsset.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useRightBalanceAsset.js +21 -64
- package/lib-es/modularDrawer/hooks/useRightBalanceAsset.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.d.ts +7 -28
- package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.js +12 -56
- package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.js.map +1 -1
- package/lib-es/modularDrawer/modules/createAssetConfiguration.d.ts.map +1 -1
- package/lib-es/modularDrawer/modules/createAssetConfiguration.js +2 -2
- package/lib-es/modularDrawer/modules/createAssetConfiguration.js.map +1 -1
- package/lib-es/modularDrawer/modules/createNetworkConfiguration.d.ts +1 -1
- package/lib-es/modularDrawer/modules/createNetworkConfiguration.d.ts.map +1 -1
- package/lib-es/modularDrawer/modules/createNetworkConfiguration.js +15 -4
- package/lib-es/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
- package/lib-es/modularDrawer/utils/__tests__/calculateProviderTotal.test.d.ts +2 -0
- package/lib-es/modularDrawer/utils/__tests__/calculateProviderTotal.test.d.ts.map +1 -0
- package/lib-es/modularDrawer/utils/__tests__/calculateProviderTotal.test.js +207 -0
- package/lib-es/modularDrawer/utils/__tests__/calculateProviderTotal.test.js.map +1 -0
- package/lib-es/modularDrawer/utils/__tests__/currencyUtils.test.js +1 -1
- package/lib-es/modularDrawer/utils/__tests__/currencyUtils.test.js.map +1 -1
- package/lib-es/modularDrawer/utils/__tests__/groupAccountsByAsset.test.d.ts +2 -0
- package/lib-es/modularDrawer/utils/__tests__/groupAccountsByAsset.test.d.ts.map +1 -0
- package/lib-es/modularDrawer/utils/__tests__/groupAccountsByAsset.test.js +197 -0
- package/lib-es/modularDrawer/utils/__tests__/groupAccountsByAsset.test.js.map +1 -0
- package/lib-es/modularDrawer/utils/calculateProviderTotal.d.ts +1 -0
- package/lib-es/modularDrawer/utils/calculateProviderTotal.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/calculateProviderTotal.js +10 -2
- package/lib-es/modularDrawer/utils/calculateProviderTotal.js.map +1 -1
- package/lib-es/modularDrawer/utils/currencyUtils.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/currencyUtils.js.map +1 -1
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValueByAssets.d.ts +6 -4
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValueByAssets.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValueByAssets.js +9 -22
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValueByAssets.js.map +1 -1
- package/lib-es/modularDrawer/utils/getInterestRateForAsset.d.ts +1 -1
- package/lib-es/modularDrawer/utils/getInterestRateForAsset.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/groupAccountsByAsset.d.ts +4 -3
- package/lib-es/modularDrawer/utils/groupAccountsByAsset.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/groupAccountsByAsset.js +27 -11
- package/lib-es/modularDrawer/utils/groupAccountsByAsset.js.map +1 -1
- package/lib-es/modularDrawer/utils/index.d.ts +2 -6
- package/lib-es/modularDrawer/utils/index.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/index.js +2 -10
- package/lib-es/modularDrawer/utils/index.js.map +1 -1
- package/lib-es/modularDrawer/utils/index.test.js +1 -27
- package/lib-es/modularDrawer/utils/index.test.js.map +1 -1
- package/lib-es/modularDrawer/utils/sortByBalance.d.ts +1 -3
- package/lib-es/modularDrawer/utils/sortByBalance.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/sortByBalance.js +5 -15
- package/lib-es/modularDrawer/utils/sortByBalance.js.map +1 -1
- package/lib-es/modularDrawer/utils/type.d.ts +15 -17
- package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
- package/lib-es/wallet-api/CustomDeeplink/server.d.ts +16 -0
- package/lib-es/wallet-api/CustomDeeplink/server.d.ts.map +1 -0
- package/lib-es/wallet-api/CustomDeeplink/server.js +6 -0
- package/lib-es/wallet-api/CustomDeeplink/server.js.map +1 -0
- package/lib-es/wallet-api/Exchange/server.js +6 -6
- package/lib-es/wallet-api/Exchange/server.js.map +1 -1
- package/lib-es/wallet-api/constants.d.ts +1 -1
- package/lib-es/wallet-api/constants.d.ts.map +1 -1
- package/package.json +11 -9
- package/src/__tests__/test-helpers/bridge.ts +1 -1
- package/src/__tests__/test-helpers/environment.ts +1 -1
- package/src/bridge/generic-alpaca/alpaca/index.ts +4 -0
- package/src/bridge/generic-alpaca/buildSubAccounts.ts +28 -28
- package/src/bridge/generic-alpaca/createTransaction.ts +11 -0
- package/src/bridge/generic-alpaca/getAccountShape.ts +22 -15
- package/src/bridge/generic-alpaca/getTransactionStatus.ts +1 -1
- package/src/bridge/generic-alpaca/prepareTransaction.ts +47 -5
- package/src/bridge/generic-alpaca/signer/index.ts +44 -1
- package/src/bridge/generic-alpaca/signer/signTransaction.ts +10 -0
- package/src/bridge/generic-alpaca/tests/estimateMaxSpendable.test.ts +15 -1
- package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +5 -3
- package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +78 -0
- package/src/bridge/generic-alpaca/tests/signOperation.test.ts +1 -1
- package/src/bridge/generic-alpaca/types.ts +10 -2
- package/src/bridge/generic-alpaca/utils.ts +25 -6
- package/src/bridge/impl.ts +1 -0
- package/src/dada-client/README.md +93 -0
- package/src/{modularDrawer/data → dada-client}/entities/interestRateSelectors.ts +1 -1
- package/src/{modularDrawer/data → dada-client}/entities/marketSelectors.ts +1 -1
- package/src/{modularDrawer/hooks/__test__ → dada-client/hooks/__tests__}/useAssetsData.test.ts +2 -2
- package/src/dada-client/hooks/useAssetData.ts +22 -0
- package/src/{modularDrawer → dada-client}/hooks/useAssetsData.ts +2 -2
- package/src/{modularDrawer → dada-client}/hooks/useInterestRatesByCurrencies.ts +4 -4
- package/src/{modularDrawer → dada-client}/hooks/useMarketByCurrencies.ts +5 -6
- package/src/{modularDrawer/data → dada-client}/state-manager/api.ts +22 -1
- package/src/dada-client/types/trend.ts +1 -0
- package/src/deposit/useGroupedCurrenciesByProvider.hook.ts +8 -2
- package/src/e2e/enum/Account.ts +10 -0
- package/src/e2e/enum/AppInfos.ts +2 -0
- package/src/e2e/enum/Currency.ts +11 -0
- package/src/e2e/enum/Network.ts +1 -0
- package/src/e2e/enum/Provider.ts +1 -0
- package/src/e2e/families/hedera.ts +7 -0
- package/src/e2e/speculos.ts +12 -0
- package/src/e2e/swap.ts +6 -6
- package/src/exchange/platform/types.ts +2 -0
- package/src/exchange/swap/completeExchange.ts +32 -2
- package/src/exchange/swap/getIncompatibleCurrencyKeys.ts +8 -0
- package/src/exchange/swap/postSwapState.ts +28 -32
- package/src/exchange/swap/setBroadcastTransaction.ts +12 -12
- package/src/exchange/swap/types.ts +3 -3
- package/src/exchange/swap/updateAccountSwapStatus.ts +8 -6
- package/src/families/canton/config.ts +10 -10
- package/src/families/evm/shouldUseReceiveOptions.test.ts +25 -0
- package/src/families/evm/shouldUseReceiveOptions.ts +4 -0
- package/src/families/hedera/exchange.ts +48 -0
- package/src/families/tezos/config.ts +2 -2
- package/src/families/tezos/react.ts +20 -1
- package/src/families/tezos/setup.ts +3 -22
- package/src/generated/bridge/js.ts +0 -2
- package/src/hw/actions/completeExchange.ts +3 -0
- package/src/hw/signMessage/index.ts +10 -0
- package/src/modularDrawer/hooks/modules/useLeftApyModule.tsx +2 -2
- package/src/modularDrawer/hooks/modules/useLeftMarketTrendModule.tsx +1 -1
- package/src/modularDrawer/hooks/modules/useRightMarketTrendModule.tsx +2 -2
- package/src/modularDrawer/hooks/useAssetAccountCounts.tsx +8 -10
- package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +231 -0
- package/src/modularDrawer/hooks/useLeftAccountsApy.tsx +1 -1
- package/src/modularDrawer/hooks/useRightBalanceAsset.tsx +26 -102
- package/src/modularDrawer/hooks/useRightBalanceNetwork.tsx +19 -100
- package/src/modularDrawer/modules/createAssetConfiguration.ts +3 -11
- package/src/modularDrawer/modules/createNetworkConfiguration.ts +26 -10
- package/src/modularDrawer/utils/__tests__/calculateProviderTotal.test.ts +237 -0
- package/src/modularDrawer/utils/__tests__/currencyUtils.test.ts +1 -1
- package/src/modularDrawer/utils/__tests__/getInterestRateForAsset.test.ts +1 -1
- package/src/modularDrawer/utils/__tests__/groupAccountsByAsset.test.ts +228 -0
- package/src/modularDrawer/utils/calculateProviderTotal.ts +13 -2
- package/src/modularDrawer/utils/currencyUtils.ts +0 -1
- package/src/modularDrawer/utils/getBalanceAndFiatValueByAssets.ts +13 -37
- package/src/modularDrawer/utils/getInterestRateForAsset.ts +1 -1
- package/src/modularDrawer/utils/groupAccountsByAsset.ts +38 -19
- package/src/modularDrawer/utils/index.test.ts +1 -32
- package/src/modularDrawer/utils/index.ts +2 -23
- package/src/modularDrawer/utils/sortByBalance.tsx +5 -18
- package/src/modularDrawer/utils/type.ts +18 -14
- package/src/wallet-api/CustomDeeplink/server.ts +23 -0
- package/src/wallet-api/Exchange/server.ts +6 -6
- package/lib/modularDrawer/data/entities/index.d.ts.map +0 -1
- package/lib/modularDrawer/data/entities/index.js.map +0 -1
- package/lib/modularDrawer/data/entities/interestRateSelectors.d.ts.map +0 -1
- package/lib/modularDrawer/data/entities/interestRateSelectors.js.map +0 -1
- package/lib/modularDrawer/data/entities/marketSelectors.d.ts.map +0 -1
- package/lib/modularDrawer/data/entities/marketSelectors.js.map +0 -1
- package/lib/modularDrawer/data/entities/selectorUtils.d.ts.map +0 -1
- package/lib/modularDrawer/data/entities/selectorUtils.js.map +0 -1
- package/lib/modularDrawer/data/state-manager/api.js.map +0 -1
- package/lib/modularDrawer/data/state-manager/types.d.ts.map +0 -1
- package/lib/modularDrawer/data/state-manager/types.js.map +0 -1
- package/lib/modularDrawer/hooks/__test__/useAssetsData.test.d.ts.map +0 -1
- package/lib/modularDrawer/hooks/__test__/useAssetsData.test.js.map +0 -1
- package/lib/modularDrawer/hooks/useAssetsData.d.ts +0 -19
- package/lib/modularDrawer/hooks/useAssetsData.d.ts.map +0 -1
- package/lib/modularDrawer/hooks/useAssetsData.js.map +0 -1
- package/lib/modularDrawer/hooks/useInterestRatesByCurrencies.d.ts.map +0 -1
- package/lib/modularDrawer/hooks/useInterestRatesByCurrencies.js.map +0 -1
- package/lib/modularDrawer/hooks/useMarketByCurrencies.d.ts.map +0 -1
- package/lib/modularDrawer/hooks/useMarketByCurrencies.js.map +0 -1
- package/lib/modularDrawer/utils/__tests__/counterValueFormatter.test.d.ts +0 -2
- package/lib/modularDrawer/utils/__tests__/counterValueFormatter.test.d.ts.map +0 -1
- package/lib/modularDrawer/utils/__tests__/counterValueFormatter.test.js +0 -496
- package/lib/modularDrawer/utils/__tests__/counterValueFormatter.test.js.map +0 -1
- package/lib/modularDrawer/utils/__tests__/haveOneCommonProvider.test.d.ts +0 -2
- package/lib/modularDrawer/utils/__tests__/haveOneCommonProvider.test.d.ts.map +0 -1
- package/lib/modularDrawer/utils/__tests__/haveOneCommonProvider.test.js +0 -28
- package/lib/modularDrawer/utils/__tests__/haveOneCommonProvider.test.js.map +0 -1
- package/lib/modularDrawer/utils/buildProviderCurrenciesMap.d.ts +0 -9
- package/lib/modularDrawer/utils/buildProviderCurrenciesMap.d.ts.map +0 -1
- package/lib/modularDrawer/utils/buildProviderCurrenciesMap.js +0 -17
- package/lib/modularDrawer/utils/buildProviderCurrenciesMap.js.map +0 -1
- package/lib/modularDrawer/utils/counterValueFormatter.d.ts +0 -14
- package/lib/modularDrawer/utils/counterValueFormatter.d.ts.map +0 -1
- package/lib/modularDrawer/utils/counterValueFormatter.js +0 -107
- package/lib/modularDrawer/utils/counterValueFormatter.js.map +0 -1
- package/lib/modularDrawer/utils/getBalanceAndFiatValue.d.ts +0 -20
- package/lib/modularDrawer/utils/getBalanceAndFiatValue.d.ts.map +0 -1
- package/lib/modularDrawer/utils/getBalanceAndFiatValue.js +0 -39
- package/lib/modularDrawer/utils/getBalanceAndFiatValue.js.map +0 -1
- package/lib/modularDrawer/utils/getProviderCurrency.d.ts +0 -3
- package/lib/modularDrawer/utils/getProviderCurrency.d.ts.map +0 -1
- package/lib/modularDrawer/utils/getProviderCurrency.js +0 -14
- package/lib/modularDrawer/utils/getProviderCurrency.js.map +0 -1
- package/lib/modularDrawer/utils/haveOneCommonProvider.d.ts +0 -11
- package/lib/modularDrawer/utils/haveOneCommonProvider.d.ts.map +0 -1
- package/lib/modularDrawer/utils/haveOneCommonProvider.js +0 -29
- package/lib/modularDrawer/utils/haveOneCommonProvider.js.map +0 -1
- package/lib/modularDrawer/utils/parseToBigNumber.d.ts +0 -9
- package/lib/modularDrawer/utils/parseToBigNumber.d.ts.map +0 -1
- package/lib/modularDrawer/utils/parseToBigNumber.js +0 -24
- package/lib/modularDrawer/utils/parseToBigNumber.js.map +0 -1
- package/lib-es/modularDrawer/data/entities/index.d.ts.map +0 -1
- package/lib-es/modularDrawer/data/entities/index.js.map +0 -1
- package/lib-es/modularDrawer/data/entities/interestRateSelectors.d.ts.map +0 -1
- package/lib-es/modularDrawer/data/entities/interestRateSelectors.js.map +0 -1
- package/lib-es/modularDrawer/data/entities/marketSelectors.d.ts.map +0 -1
- package/lib-es/modularDrawer/data/entities/marketSelectors.js.map +0 -1
- package/lib-es/modularDrawer/data/entities/selectorUtils.d.ts.map +0 -1
- package/lib-es/modularDrawer/data/entities/selectorUtils.js.map +0 -1
- package/lib-es/modularDrawer/data/state-manager/api.js.map +0 -1
- package/lib-es/modularDrawer/data/state-manager/types.d.ts.map +0 -1
- package/lib-es/modularDrawer/data/state-manager/types.js.map +0 -1
- package/lib-es/modularDrawer/hooks/__test__/useAssetsData.test.d.ts.map +0 -1
- package/lib-es/modularDrawer/hooks/__test__/useAssetsData.test.js.map +0 -1
- package/lib-es/modularDrawer/hooks/useAssetsData.d.ts +0 -19
- package/lib-es/modularDrawer/hooks/useAssetsData.d.ts.map +0 -1
- package/lib-es/modularDrawer/hooks/useAssetsData.js.map +0 -1
- package/lib-es/modularDrawer/hooks/useInterestRatesByCurrencies.d.ts.map +0 -1
- package/lib-es/modularDrawer/hooks/useInterestRatesByCurrencies.js.map +0 -1
- package/lib-es/modularDrawer/hooks/useMarketByCurrencies.d.ts.map +0 -1
- package/lib-es/modularDrawer/hooks/useMarketByCurrencies.js.map +0 -1
- package/lib-es/modularDrawer/utils/__tests__/counterValueFormatter.test.d.ts +0 -2
- package/lib-es/modularDrawer/utils/__tests__/counterValueFormatter.test.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/__tests__/counterValueFormatter.test.js +0 -494
- package/lib-es/modularDrawer/utils/__tests__/counterValueFormatter.test.js.map +0 -1
- package/lib-es/modularDrawer/utils/__tests__/haveOneCommonProvider.test.d.ts +0 -2
- package/lib-es/modularDrawer/utils/__tests__/haveOneCommonProvider.test.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/__tests__/haveOneCommonProvider.test.js +0 -26
- package/lib-es/modularDrawer/utils/__tests__/haveOneCommonProvider.test.js.map +0 -1
- package/lib-es/modularDrawer/utils/buildProviderCurrenciesMap.d.ts +0 -9
- package/lib-es/modularDrawer/utils/buildProviderCurrenciesMap.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/buildProviderCurrenciesMap.js +0 -13
- package/lib-es/modularDrawer/utils/buildProviderCurrenciesMap.js.map +0 -1
- package/lib-es/modularDrawer/utils/counterValueFormatter.d.ts +0 -14
- package/lib-es/modularDrawer/utils/counterValueFormatter.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/counterValueFormatter.js +0 -103
- package/lib-es/modularDrawer/utils/counterValueFormatter.js.map +0 -1
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValue.d.ts +0 -20
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValue.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValue.js +0 -32
- package/lib-es/modularDrawer/utils/getBalanceAndFiatValue.js.map +0 -1
- package/lib-es/modularDrawer/utils/getProviderCurrency.d.ts +0 -3
- package/lib-es/modularDrawer/utils/getProviderCurrency.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/getProviderCurrency.js +0 -10
- package/lib-es/modularDrawer/utils/getProviderCurrency.js.map +0 -1
- package/lib-es/modularDrawer/utils/haveOneCommonProvider.d.ts +0 -11
- package/lib-es/modularDrawer/utils/haveOneCommonProvider.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/haveOneCommonProvider.js +0 -25
- package/lib-es/modularDrawer/utils/haveOneCommonProvider.js.map +0 -1
- package/lib-es/modularDrawer/utils/parseToBigNumber.d.ts +0 -9
- package/lib-es/modularDrawer/utils/parseToBigNumber.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/parseToBigNumber.js +0 -17
- package/lib-es/modularDrawer/utils/parseToBigNumber.js.map +0 -1
- package/src/modularDrawer/utils/__tests__/counterValueFormatter.test.ts +0 -549
- package/src/modularDrawer/utils/__tests__/haveOneCommonProvider.test.ts +0 -34
- package/src/modularDrawer/utils/buildProviderCurrenciesMap.tsx +0 -25
- package/src/modularDrawer/utils/counterValueFormatter.ts +0 -165
- package/src/modularDrawer/utils/getBalanceAndFiatValue.ts +0 -53
- package/src/modularDrawer/utils/getProviderCurrency.ts +0 -13
- package/src/modularDrawer/utils/haveOneCommonProvider.ts +0 -31
- package/src/modularDrawer/utils/parseToBigNumber.ts +0 -17
- /package/lib/{modularDrawer/data → dada-client}/entities/index.d.ts +0 -0
- /package/lib/{modularDrawer/data → dada-client}/entities/index.js +0 -0
- /package/lib/{modularDrawer/data → dada-client}/entities/interestRateSelectors.js +0 -0
- /package/lib/{modularDrawer/data → dada-client}/entities/marketSelectors.js +0 -0
- /package/lib/{modularDrawer/data → dada-client}/entities/selectorUtils.d.ts +0 -0
- /package/lib/{modularDrawer/data → dada-client}/entities/selectorUtils.js +0 -0
- /package/lib/{modularDrawer/hooks/__test__ → dada-client/hooks/__tests__}/useAssetsData.test.d.ts +0 -0
- /package/lib/{modularDrawer → dada-client}/hooks/useInterestRatesByCurrencies.d.ts +0 -0
- /package/lib/{modularDrawer → dada-client}/hooks/useMarketByCurrencies.d.ts +0 -0
- /package/lib/{modularDrawer/data → dada-client}/state-manager/types.d.ts +0 -0
- /package/lib/{modularDrawer/data → dada-client}/state-manager/types.js +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/entities/index.d.ts +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/entities/index.js +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/entities/interestRateSelectors.js +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/entities/marketSelectors.js +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/entities/selectorUtils.d.ts +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/entities/selectorUtils.js +0 -0
- /package/lib-es/{modularDrawer/hooks/__test__ → dada-client/hooks/__tests__}/useAssetsData.test.d.ts +0 -0
- /package/lib-es/{modularDrawer → dada-client}/hooks/useInterestRatesByCurrencies.d.ts +0 -0
- /package/lib-es/{modularDrawer → dada-client}/hooks/useMarketByCurrencies.d.ts +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/state-manager/types.d.ts +0 -0
- /package/lib-es/{modularDrawer/data → dada-client}/state-manager/types.js +0 -0
- /package/src/{modularDrawer/data → dada-client}/entities/index.ts +0 -0
- /package/src/{modularDrawer/data → dada-client}/entities/selectorUtils.ts +0 -0
- /package/src/{modularDrawer/data → dada-client}/state-manager/types.ts +0 -0
@@ -0,0 +1,237 @@
|
|
1
|
+
import { calculateProviderTotals } from "../calculateProviderTotal";
|
2
|
+
import { createFixtureCryptoCurrency } from "../../../mock/fixtures/cryptoCurrencies";
|
3
|
+
import { genAccount } from "../../../mock/account";
|
4
|
+
import BigNumber from "bignumber.js";
|
5
|
+
import type { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
|
6
|
+
|
7
|
+
describe("calculateProviderTotals", () => {
|
8
|
+
const mockBTCCurrency = createFixtureCryptoCurrency("bitcoin");
|
9
|
+
const mockETHCurrency = createFixtureCryptoCurrency("ethereum");
|
10
|
+
|
11
|
+
const mockBTCAccount = genAccount("btc-account", { currency: mockBTCCurrency });
|
12
|
+
const mockUSDCAccount = genAccount("usdc-account", { currency: mockETHCurrency });
|
13
|
+
const mockBscUSDCAccount = genAccount("bsc-usdc-account", { currency: mockETHCurrency });
|
14
|
+
|
15
|
+
const mockUSDCToken: CryptoOrTokenCurrency = {
|
16
|
+
type: "TokenCurrency",
|
17
|
+
id: "ethereum/erc20/usdc",
|
18
|
+
contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
19
|
+
parentCurrency: mockETHCurrency,
|
20
|
+
tokenType: "erc20",
|
21
|
+
name: "USD Coin",
|
22
|
+
ticker: "USDC",
|
23
|
+
units: [{ name: "USD Coin", code: "USDC", magnitude: 6 }],
|
24
|
+
};
|
25
|
+
|
26
|
+
const mockBscUSDCToken: CryptoOrTokenCurrency = {
|
27
|
+
type: "TokenCurrency",
|
28
|
+
id: "bsc/bep20/usdc",
|
29
|
+
contractAddress: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
|
30
|
+
parentCurrency: mockETHCurrency, // Using ETH as parent for simplicity
|
31
|
+
tokenType: "bep20",
|
32
|
+
name: "USD Coin (BSC)",
|
33
|
+
ticker: "USDC",
|
34
|
+
units: [{ name: "USD Coin", code: "USDC", magnitude: 18 }],
|
35
|
+
};
|
36
|
+
|
37
|
+
it("should return totals with hasAccounts false when no accounts exist", () => {
|
38
|
+
const currencies = [mockBTCCurrency, mockUSDCToken];
|
39
|
+
const groupedAccounts = {};
|
40
|
+
|
41
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
42
|
+
|
43
|
+
expect(result).toEqual({
|
44
|
+
totalBalance: new BigNumber(0),
|
45
|
+
totalFiatValue: new BigNumber(0),
|
46
|
+
hasAccounts: false,
|
47
|
+
referenceCurrency: null,
|
48
|
+
});
|
49
|
+
});
|
50
|
+
|
51
|
+
it("should sum totals across multiple currencies", () => {
|
52
|
+
const currencies = [mockBTCCurrency, mockUSDCToken];
|
53
|
+
const groupedAccounts = {
|
54
|
+
[mockBTCCurrency.id]: {
|
55
|
+
totalBalance: new BigNumber(100000000), // 1 BTC
|
56
|
+
totalFiatValue: new BigNumber(50000), // $50,000
|
57
|
+
accounts: [mockBTCAccount], // Non-empty accounts array
|
58
|
+
referenceCurrency: mockBTCCurrency,
|
59
|
+
},
|
60
|
+
[mockUSDCToken.id]: {
|
61
|
+
totalBalance: new BigNumber(1000000), // 1 USDC
|
62
|
+
totalFiatValue: new BigNumber(1), // $1
|
63
|
+
accounts: [mockUSDCAccount], // Non-empty accounts array
|
64
|
+
referenceCurrency: mockUSDCToken,
|
65
|
+
},
|
66
|
+
};
|
67
|
+
|
68
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
69
|
+
|
70
|
+
// BTC (magnitude 8) sets reference, USDC (magnitude 6) gets normalized
|
71
|
+
// USDC: 1000000 * 10^(8-6) = 1000000 * 100 = 100000000
|
72
|
+
// Total: 100000000 (BTC) + 100000000 (normalized USDC) = 200000000
|
73
|
+
expect(result).toEqual({
|
74
|
+
totalBalance: new BigNumber(200000000), // Combined balance after magnitude normalization
|
75
|
+
totalFiatValue: new BigNumber(50001), // Combined fiat value
|
76
|
+
hasAccounts: true,
|
77
|
+
referenceCurrency: mockBTCCurrency, // First currency with accounts
|
78
|
+
});
|
79
|
+
});
|
80
|
+
|
81
|
+
it("should return referenceCurrency from first asset group with accounts", () => {
|
82
|
+
const currencies = [mockUSDCToken, mockBscUSDCToken];
|
83
|
+
const groupedAccounts = {
|
84
|
+
[mockUSDCToken.id]: {
|
85
|
+
totalBalance: new BigNumber(1000000),
|
86
|
+
totalFiatValue: new BigNumber(1),
|
87
|
+
accounts: [mockUSDCAccount], // Non-empty accounts array
|
88
|
+
referenceCurrency: mockUSDCToken, // ETH USDC with 6 decimals
|
89
|
+
},
|
90
|
+
[mockBscUSDCToken.id]: {
|
91
|
+
totalBalance: new BigNumber("1000000000000000000"),
|
92
|
+
totalFiatValue: new BigNumber(1),
|
93
|
+
accounts: [mockBscUSDCAccount], // Non-empty accounts array
|
94
|
+
referenceCurrency: mockBscUSDCToken, // BSC USDC with 18 decimals
|
95
|
+
},
|
96
|
+
};
|
97
|
+
|
98
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
99
|
+
|
100
|
+
expect(result.referenceCurrency).toEqual(mockUSDCToken); // First currency
|
101
|
+
expect(result.hasAccounts).toBe(true);
|
102
|
+
});
|
103
|
+
|
104
|
+
it("should skip currencies with no accounts", () => {
|
105
|
+
const currencies = [mockBTCCurrency, mockUSDCToken];
|
106
|
+
const groupedAccounts = {
|
107
|
+
[mockUSDCToken.id]: {
|
108
|
+
totalBalance: new BigNumber(1000000),
|
109
|
+
totalFiatValue: new BigNumber(1),
|
110
|
+
accounts: [mockUSDCAccount], // Non-empty accounts array
|
111
|
+
referenceCurrency: mockUSDCToken,
|
112
|
+
},
|
113
|
+
// BTC has no entry in groupedAccounts
|
114
|
+
};
|
115
|
+
|
116
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
117
|
+
|
118
|
+
expect(result).toEqual({
|
119
|
+
totalBalance: new BigNumber(1000000), // Only USDC balance
|
120
|
+
totalFiatValue: new BigNumber(1), // Only USDC fiat value
|
121
|
+
hasAccounts: true,
|
122
|
+
referenceCurrency: mockUSDCToken,
|
123
|
+
});
|
124
|
+
});
|
125
|
+
|
126
|
+
it("should skip currencies with empty accounts array", () => {
|
127
|
+
const currencies = [mockBTCCurrency, mockUSDCToken];
|
128
|
+
const groupedAccounts = {
|
129
|
+
[mockBTCCurrency.id]: {
|
130
|
+
totalBalance: new BigNumber(100000000),
|
131
|
+
totalFiatValue: new BigNumber(50000),
|
132
|
+
accounts: [], // Empty accounts array should be skipped
|
133
|
+
referenceCurrency: mockBTCCurrency,
|
134
|
+
},
|
135
|
+
[mockUSDCToken.id]: {
|
136
|
+
totalBalance: new BigNumber(1000000),
|
137
|
+
totalFiatValue: new BigNumber(1),
|
138
|
+
accounts: [mockUSDCAccount], // Non-empty accounts array
|
139
|
+
referenceCurrency: mockUSDCToken,
|
140
|
+
},
|
141
|
+
};
|
142
|
+
|
143
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
144
|
+
|
145
|
+
expect(result).toEqual({
|
146
|
+
totalBalance: new BigNumber(1000000), // Only USDC (non-empty accounts)
|
147
|
+
totalFiatValue: new BigNumber(1),
|
148
|
+
hasAccounts: true,
|
149
|
+
referenceCurrency: mockUSDCToken,
|
150
|
+
});
|
151
|
+
});
|
152
|
+
|
153
|
+
it("should normalize balances based on magnitude differences", () => {
|
154
|
+
// Test the specific code: magnitude normalization between currencies
|
155
|
+
const currencies = [mockUSDCToken, mockBscUSDCToken];
|
156
|
+
const groupedAccounts = {
|
157
|
+
[mockUSDCToken.id]: {
|
158
|
+
totalBalance: new BigNumber(1000000), // 1 USDC with 6 decimals
|
159
|
+
totalFiatValue: new BigNumber(1),
|
160
|
+
accounts: [mockUSDCAccount],
|
161
|
+
referenceCurrency: mockUSDCToken, // 6 decimals
|
162
|
+
},
|
163
|
+
[mockBscUSDCToken.id]: {
|
164
|
+
totalBalance: new BigNumber("1000000000000000000"), // 1 USDC with 18 decimals
|
165
|
+
totalFiatValue: new BigNumber(1),
|
166
|
+
accounts: [mockBscUSDCAccount],
|
167
|
+
referenceCurrency: mockBscUSDCToken, // 18 decimals
|
168
|
+
},
|
169
|
+
};
|
170
|
+
|
171
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
172
|
+
|
173
|
+
// First currency (USDC) sets reference magnitude of 6
|
174
|
+
// Second currency (BSC USDC) has magnitude 18, so diff = 6 - 18 = -12
|
175
|
+
// BSC balance of 1000000000000000000 shifted by -12 = 1000000
|
176
|
+
// Total should be 1000000 + 1000000 = 2000000
|
177
|
+
expect(result.totalBalance).toEqual(new BigNumber(2000000));
|
178
|
+
expect(result.totalFiatValue).toEqual(new BigNumber(2));
|
179
|
+
expect(result.hasAccounts).toBe(true);
|
180
|
+
expect(result.referenceCurrency).toEqual(mockUSDCToken);
|
181
|
+
});
|
182
|
+
|
183
|
+
it("should handle magnitude normalization when referenceCurrency is set", () => {
|
184
|
+
const currencies = [mockBscUSDCToken];
|
185
|
+
const groupedAccounts = {
|
186
|
+
[mockBscUSDCToken.id]: {
|
187
|
+
totalBalance: new BigNumber("2000000000000000000"),
|
188
|
+
totalFiatValue: new BigNumber(2),
|
189
|
+
accounts: [mockBscUSDCAccount],
|
190
|
+
referenceCurrency: mockBscUSDCToken,
|
191
|
+
},
|
192
|
+
};
|
193
|
+
|
194
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
195
|
+
|
196
|
+
expect(result.totalBalance).toEqual(new BigNumber("2000000000000000000"));
|
197
|
+
expect(result.referenceCurrency).toEqual(mockBscUSDCToken);
|
198
|
+
});
|
199
|
+
|
200
|
+
it("should handle zero magnitude difference correctly", () => {
|
201
|
+
const sameMagnitudeCurrency: CryptoOrTokenCurrency = {
|
202
|
+
type: "TokenCurrency",
|
203
|
+
id: "ethereum/erc20/usdc2",
|
204
|
+
contractAddress: "0x1234567890123456789012345678901234567890",
|
205
|
+
parentCurrency: mockETHCurrency,
|
206
|
+
tokenType: "erc20",
|
207
|
+
name: "USD Coin 2",
|
208
|
+
ticker: "USDC2",
|
209
|
+
units: [{ name: "USD Coin 2", code: "USDC2", magnitude: 6 }],
|
210
|
+
};
|
211
|
+
|
212
|
+
const mockSameMagnitudeAccount = genAccount("usdc2-account", { currency: mockETHCurrency });
|
213
|
+
|
214
|
+
const currencies = [mockUSDCToken, sameMagnitudeCurrency];
|
215
|
+
const groupedAccounts = {
|
216
|
+
[mockUSDCToken.id]: {
|
217
|
+
totalBalance: new BigNumber(1000000), // 1 USDC
|
218
|
+
totalFiatValue: new BigNumber(1),
|
219
|
+
accounts: [mockUSDCAccount],
|
220
|
+
referenceCurrency: mockUSDCToken, // 6 decimals
|
221
|
+
},
|
222
|
+
[sameMagnitudeCurrency.id]: {
|
223
|
+
totalBalance: new BigNumber(2000000), // 2 USDC2
|
224
|
+
totalFiatValue: new BigNumber(2),
|
225
|
+
accounts: [mockSameMagnitudeAccount],
|
226
|
+
referenceCurrency: sameMagnitudeCurrency, // 6 decimals
|
227
|
+
},
|
228
|
+
};
|
229
|
+
|
230
|
+
const result = calculateProviderTotals(currencies, groupedAccounts);
|
231
|
+
|
232
|
+
// Both have magnitude 6, so diff = 6 - 6 = 0
|
233
|
+
// No shifting needed, simple addition: 1000000 + 2000000 = 3000000
|
234
|
+
expect(result.totalBalance).toEqual(new BigNumber(3000000));
|
235
|
+
expect(result.totalFiatValue).toEqual(new BigNumber(3));
|
236
|
+
});
|
237
|
+
});
|
@@ -10,10 +10,10 @@ import {
|
|
10
10
|
safeCurrencyLookup,
|
11
11
|
} from "../currencyUtils";
|
12
12
|
import {
|
13
|
-
usdcToken,
|
14
13
|
mockBaseCryptoCurrency,
|
15
14
|
mockBtcCryptoCurrency,
|
16
15
|
mockEthCryptoCurrency,
|
16
|
+
usdcToken,
|
17
17
|
} from "../../__mocks__/currencies.mock";
|
18
18
|
|
19
19
|
describe("safeCurrencyLookup", () => {
|
@@ -4,7 +4,7 @@ import {
|
|
4
4
|
mockScrollCryptoCurrency,
|
5
5
|
usdcToken,
|
6
6
|
} from "../../__mocks__/currencies.mock";
|
7
|
-
import { ApyType } from "
|
7
|
+
import { ApyType } from "../../../dada-client/types/trend";
|
8
8
|
|
9
9
|
describe("getInterestRateForAsset", () => {
|
10
10
|
const networks = [mockEthCryptoCurrency, usdcToken];
|
@@ -0,0 +1,228 @@
|
|
1
|
+
import { groupAccountsByAsset } from "../groupAccountsByAsset";
|
2
|
+
import { createFixtureCryptoCurrency } from "../../../mock/fixtures/cryptoCurrencies";
|
3
|
+
import BigNumber from "bignumber.js";
|
4
|
+
import type { Account, TokenAccount } from "@ledgerhq/types-live";
|
5
|
+
import type { CounterValuesState } from "@ledgerhq/live-countervalues/types";
|
6
|
+
|
7
|
+
// Mock calculate function
|
8
|
+
jest.mock("@ledgerhq/live-countervalues/logic", () => ({
|
9
|
+
calculate: jest.fn((state, { value }) => {
|
10
|
+
// Mock: return the balance directly as fiat value for simple testing
|
11
|
+
return value;
|
12
|
+
}),
|
13
|
+
}));
|
14
|
+
|
15
|
+
describe("groupAccountsByAsset", () => {
|
16
|
+
const mockCurrency = createFixtureCryptoCurrency("bitcoin");
|
17
|
+
const mockEthCurrency = createFixtureCryptoCurrency("ethereum");
|
18
|
+
|
19
|
+
const mockCounterValuesState = {} as CounterValuesState;
|
20
|
+
const mockTargetCurrency = createFixtureCryptoCurrency("usd");
|
21
|
+
|
22
|
+
const mockUSDCToken = {
|
23
|
+
type: "TokenCurrency" as const,
|
24
|
+
id: "ethereum/erc20/usdc",
|
25
|
+
contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
26
|
+
parentCurrency: mockEthCurrency,
|
27
|
+
tokenType: "erc20" as const,
|
28
|
+
name: "USD Coin",
|
29
|
+
ticker: "USDC",
|
30
|
+
units: [{ name: "USD Coin", code: "USDC", magnitude: 6 }],
|
31
|
+
};
|
32
|
+
|
33
|
+
const mockBTCAccount: Account = {
|
34
|
+
type: "Account",
|
35
|
+
id: "btc-account-1",
|
36
|
+
seedIdentifier: "seed-id",
|
37
|
+
derivationMode: "",
|
38
|
+
currency: mockCurrency,
|
39
|
+
balance: new BigNumber(100000000), // 1 BTC
|
40
|
+
spendableBalance: new BigNumber(100000000),
|
41
|
+
blockHeight: 0,
|
42
|
+
operations: [],
|
43
|
+
operationsCount: 0,
|
44
|
+
pendingOperations: [],
|
45
|
+
index: 0,
|
46
|
+
freshAddress: "btc-address",
|
47
|
+
freshAddressPath: "44'/0'/0'/0/0",
|
48
|
+
used: true,
|
49
|
+
swapHistory: [],
|
50
|
+
nfts: [],
|
51
|
+
lastSyncDate: new Date(),
|
52
|
+
creationDate: new Date(),
|
53
|
+
balanceHistoryCache: {
|
54
|
+
HOUR: { balances: [], latestDate: null },
|
55
|
+
DAY: { balances: [], latestDate: null },
|
56
|
+
WEEK: { balances: [], latestDate: null },
|
57
|
+
},
|
58
|
+
};
|
59
|
+
|
60
|
+
const mockUSDCAccount: TokenAccount = {
|
61
|
+
type: "TokenAccount",
|
62
|
+
id: "usdc-account-1",
|
63
|
+
token: mockUSDCToken,
|
64
|
+
parentId: "eth-account-1",
|
65
|
+
balance: new BigNumber(1000000), // 1 USDC
|
66
|
+
spendableBalance: new BigNumber(1000000),
|
67
|
+
operations: [],
|
68
|
+
operationsCount: 0,
|
69
|
+
pendingOperations: [],
|
70
|
+
swapHistory: [],
|
71
|
+
creationDate: new Date(),
|
72
|
+
balanceHistoryCache: {
|
73
|
+
HOUR: { balances: [], latestDate: null },
|
74
|
+
DAY: { balances: [], latestDate: null },
|
75
|
+
WEEK: { balances: [], latestDate: null },
|
76
|
+
},
|
77
|
+
};
|
78
|
+
|
79
|
+
it("should group accounts by asset ID and aggregate balances", () => {
|
80
|
+
const accounts = [mockBTCAccount, mockUSDCAccount];
|
81
|
+
const result = groupAccountsByAsset(accounts, mockCounterValuesState, mockTargetCurrency);
|
82
|
+
|
83
|
+
expect(result).toEqual({
|
84
|
+
[mockCurrency.id]: {
|
85
|
+
totalBalance: new BigNumber(100000000), // 1 BTC in satoshis
|
86
|
+
totalFiatValue: new BigNumber(100000000), // Mock returns balance as fiat value
|
87
|
+
accounts: [mockBTCAccount],
|
88
|
+
referenceCurrency: mockCurrency,
|
89
|
+
},
|
90
|
+
[mockUSDCToken.id]: {
|
91
|
+
totalBalance: new BigNumber(1000000), // 1 USDC in micro-USDC
|
92
|
+
totalFiatValue: new BigNumber(1000000), // Mock returns balance as fiat value
|
93
|
+
accounts: [mockUSDCAccount],
|
94
|
+
referenceCurrency: mockUSDCToken,
|
95
|
+
},
|
96
|
+
});
|
97
|
+
});
|
98
|
+
|
99
|
+
it("should aggregate multiple accounts with the same asset", () => {
|
100
|
+
const secondBTCAccount: Account = {
|
101
|
+
...mockBTCAccount,
|
102
|
+
id: "btc-account-2",
|
103
|
+
balance: new BigNumber(50000000), // 0.5 BTC
|
104
|
+
};
|
105
|
+
|
106
|
+
const accounts = [mockBTCAccount, secondBTCAccount];
|
107
|
+
const result = groupAccountsByAsset(accounts, mockCounterValuesState, mockTargetCurrency);
|
108
|
+
|
109
|
+
expect(result[mockCurrency.id]).toEqual({
|
110
|
+
totalBalance: new BigNumber(150000000), // 1.5 BTC total
|
111
|
+
totalFiatValue: new BigNumber(150000000), // Mock returns balance as fiat value
|
112
|
+
accounts: [mockBTCAccount, secondBTCAccount],
|
113
|
+
referenceCurrency: mockCurrency,
|
114
|
+
});
|
115
|
+
});
|
116
|
+
|
117
|
+
it("should handle empty accounts array", () => {
|
118
|
+
const result = groupAccountsByAsset([], mockCounterValuesState, mockTargetCurrency);
|
119
|
+
expect(result).toEqual({});
|
120
|
+
});
|
121
|
+
|
122
|
+
it("should handle accounts with zero balance", () => {
|
123
|
+
const zeroBalanceAccount: Account = {
|
124
|
+
...mockBTCAccount,
|
125
|
+
balance: new BigNumber(0),
|
126
|
+
};
|
127
|
+
|
128
|
+
const accounts = [zeroBalanceAccount];
|
129
|
+
const result = groupAccountsByAsset(accounts, mockCounterValuesState, mockTargetCurrency);
|
130
|
+
|
131
|
+
expect(result[mockCurrency.id]).toEqual({
|
132
|
+
totalBalance: new BigNumber(0),
|
133
|
+
totalFiatValue: new BigNumber(0), // Mock returns balance (0) as fiat value
|
134
|
+
accounts: [zeroBalanceAccount],
|
135
|
+
referenceCurrency: mockCurrency,
|
136
|
+
});
|
137
|
+
});
|
138
|
+
|
139
|
+
it("should set referenceCurrency to the first currency encountered for each asset group", () => {
|
140
|
+
const accounts = [mockBTCAccount, mockUSDCAccount];
|
141
|
+
const result = groupAccountsByAsset(accounts, mockCounterValuesState, mockTargetCurrency);
|
142
|
+
|
143
|
+
expect(result[mockCurrency.id].referenceCurrency).toEqual(mockCurrency);
|
144
|
+
expect(result[mockUSDCToken.id].referenceCurrency).toEqual(mockUSDCToken);
|
145
|
+
});
|
146
|
+
|
147
|
+
it("should normalize balances when tokens have different magnitudes", () => {
|
148
|
+
// Create BSC USDC with different magnitude (18 decimals instead of 6)
|
149
|
+
const mockBscUSDCToken = {
|
150
|
+
...mockUSDCToken,
|
151
|
+
id: "bsc/bep20/usdc",
|
152
|
+
name: "USD Coin (BSC)",
|
153
|
+
ticker: "USDC",
|
154
|
+
units: [{ name: "USD Coin", code: "USDC", magnitude: 18 }], // 18 decimals
|
155
|
+
};
|
156
|
+
|
157
|
+
const mockEthUSDCAccount: TokenAccount = {
|
158
|
+
...mockUSDCAccount,
|
159
|
+
id: "eth-usdc-account",
|
160
|
+
token: mockUSDCToken, // 6 decimals
|
161
|
+
balance: new BigNumber(1000000), // 1 USDC with 6 decimals
|
162
|
+
};
|
163
|
+
|
164
|
+
const mockBscUSDCAccount: TokenAccount = {
|
165
|
+
...mockUSDCAccount,
|
166
|
+
id: "bsc-usdc-account",
|
167
|
+
token: mockBscUSDCToken, // 18 decimals
|
168
|
+
balance: new BigNumber("1000000000000000000"), // 1 USDC with 18 decimals
|
169
|
+
};
|
170
|
+
|
171
|
+
// Both should be grouped under the same token ID for this test
|
172
|
+
// First account (ETH USDC) becomes reference currency with 6 decimals
|
173
|
+
const accounts = [mockEthUSDCAccount, mockBscUSDCAccount];
|
174
|
+
const result = groupAccountsByAsset(accounts, mockCounterValuesState, mockTargetCurrency);
|
175
|
+
|
176
|
+
const ethGroup = result[mockUSDCToken.id];
|
177
|
+
expect(ethGroup.referenceCurrency).toEqual(mockUSDCToken); // First currency is reference
|
178
|
+
expect(ethGroup.accounts).toHaveLength(1);
|
179
|
+
expect(ethGroup.totalBalance).toEqual(new BigNumber(1000000)); // 1 USDC normalized to 6 decimals
|
180
|
+
|
181
|
+
const bscGroup = result[mockBscUSDCToken.id];
|
182
|
+
expect(bscGroup.referenceCurrency).toEqual(mockBscUSDCToken);
|
183
|
+
expect(bscGroup.accounts).toHaveLength(1);
|
184
|
+
expect(bscGroup.totalBalance).toEqual(new BigNumber("1000000000000000000")); // 1 USDC with 18 decimals
|
185
|
+
});
|
186
|
+
|
187
|
+
it("should normalize balances correctly when adding accounts with different magnitudes to same asset group", () => {
|
188
|
+
// Create two USDC tokens with same ID but different magnitudes
|
189
|
+
const ethUSDCToken = {
|
190
|
+
...mockUSDCToken,
|
191
|
+
units: [{ name: "USD Coin", code: "USDC", magnitude: 6 }], // 6 decimals
|
192
|
+
};
|
193
|
+
|
194
|
+
const bscUSDCToken = {
|
195
|
+
...mockUSDCToken,
|
196
|
+
units: [{ name: "USD Coin", code: "USDC", magnitude: 18 }], // 18 decimals
|
197
|
+
};
|
198
|
+
|
199
|
+
const ethAccount: TokenAccount = {
|
200
|
+
...mockUSDCAccount,
|
201
|
+
id: "eth-usdc",
|
202
|
+
token: ethUSDCToken,
|
203
|
+
balance: new BigNumber(1000000), // 1 USDC with 6 decimals
|
204
|
+
};
|
205
|
+
|
206
|
+
const bscAccount: TokenAccount = {
|
207
|
+
...mockUSDCAccount,
|
208
|
+
id: "bsc-usdc",
|
209
|
+
token: bscUSDCToken,
|
210
|
+
balance: new BigNumber("1000000000000000000"), // 1 USDC with 18 decimals
|
211
|
+
};
|
212
|
+
|
213
|
+
// Process ETH account first to make it the reference currency
|
214
|
+
const accounts = [ethAccount, bscAccount];
|
215
|
+
const result = groupAccountsByAsset(accounts, mockCounterValuesState, mockTargetCurrency);
|
216
|
+
|
217
|
+
const group = result[mockUSDCToken.id];
|
218
|
+
expect(group.referenceCurrency).toEqual(ethUSDCToken); // First currency is reference (6 decimals)
|
219
|
+
expect(group.accounts).toHaveLength(2);
|
220
|
+
|
221
|
+
// BSC balance should be normalized from 18 decimals to 6 decimals
|
222
|
+
// 1000000000000000000 (18 decimals) -> 1000000 (6 decimals)
|
223
|
+
// magnitudeDiff = 6 - 18 = -12
|
224
|
+
// normalized = 1000000000000000000 * 10^(-12) = 1000000
|
225
|
+
const expectedTotal = new BigNumber(1000000).plus(new BigNumber(1000000)); // 2 USDC total
|
226
|
+
expect(group.totalBalance).toEqual(expectedTotal);
|
227
|
+
});
|
228
|
+
});
|
@@ -9,15 +9,26 @@ export const calculateProviderTotals = (
|
|
9
9
|
let totalBalance = new BigNumber(0);
|
10
10
|
let totalFiatValue = new BigNumber(0);
|
11
11
|
let hasAccounts = false;
|
12
|
+
let referenceCurrency: CryptoOrTokenCurrency | null = null;
|
12
13
|
|
13
14
|
for (const currency of currencies) {
|
14
15
|
const assetGroup = groupedAccountsByAsset[currency.id];
|
15
16
|
if (assetGroup?.accounts.length > 0) {
|
16
|
-
|
17
|
+
const refCurrency = referenceCurrency ?? assetGroup.referenceCurrency;
|
18
|
+
const magnitudeDiff =
|
19
|
+
refCurrency.units[0].magnitude - assetGroup.referenceCurrency.units[0].magnitude;
|
20
|
+
const normalizedBalance = assetGroup.totalBalance.shiftedBy(magnitudeDiff);
|
21
|
+
|
22
|
+
totalBalance = totalBalance.plus(normalizedBalance);
|
17
23
|
totalFiatValue = totalFiatValue.plus(assetGroup.totalFiatValue);
|
18
24
|
hasAccounts = true;
|
25
|
+
|
26
|
+
// Use the referenceCurrency from the first asset group with accounts
|
27
|
+
if (!referenceCurrency) {
|
28
|
+
referenceCurrency = assetGroup.referenceCurrency;
|
29
|
+
}
|
19
30
|
}
|
20
31
|
}
|
21
32
|
|
22
|
-
return { totalBalance, totalFiatValue, hasAccounts };
|
33
|
+
return { totalBalance, totalFiatValue, hasAccounts, referenceCurrency };
|
23
34
|
};
|
@@ -4,7 +4,6 @@ import { isTokenCurrency } from "../../currencies";
|
|
4
4
|
import { CurrenciesByProviderId } from "../../deposit/type";
|
5
5
|
|
6
6
|
export type ProviderCoverageMap = Map<string, Set<string>>;
|
7
|
-
|
8
7
|
export const safeCurrencyLookup = (id: string): CryptoOrTokenCurrency | null => {
|
9
8
|
try {
|
10
9
|
return getTokenOrCryptoCurrencyById(id);
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/lib-es/currencies/formatCurrencyUnit";
|
2
|
-
import type { CounterValuesState } from "@ledgerhq/live-countervalues/types";
|
3
1
|
import type { CryptoOrTokenCurrency, Currency } from "@ledgerhq/types-cryptoassets";
|
4
2
|
import { groupAccountsByAsset, type GroupedAccount } from "./groupAccountsByAsset";
|
5
3
|
import { AssetType } from "./type";
|
6
4
|
import { AccountLike } from "@ledgerhq/types-live";
|
7
|
-
import
|
5
|
+
import BigNumber from "bignumber.js";
|
6
|
+
import type { CounterValuesState } from "@ledgerhq/live-countervalues/types";
|
8
7
|
|
9
8
|
interface ExtendedAssetType extends AssetType {
|
10
|
-
|
11
|
-
|
9
|
+
currency?: CryptoOrTokenCurrency;
|
10
|
+
balance?: BigNumber;
|
11
|
+
fiatValue?: number;
|
12
12
|
}
|
13
13
|
|
14
14
|
export const getBalanceAndFiatValueByAssets = (
|
@@ -16,21 +16,14 @@ export const getBalanceAndFiatValueByAssets = (
|
|
16
16
|
assets: CryptoOrTokenCurrency[],
|
17
17
|
counterValuesState: CounterValuesState,
|
18
18
|
targetCurrency: Currency,
|
19
|
-
isDiscreetMode: boolean = false,
|
20
|
-
userLocale: string,
|
21
19
|
): ExtendedAssetType[] => {
|
22
|
-
const groupedAccountsByAsset = groupAccountsByAsset(
|
23
|
-
accounts,
|
24
|
-
counterValuesState,
|
25
|
-
targetCurrency,
|
26
|
-
isDiscreetMode,
|
27
|
-
);
|
20
|
+
const groupedAccountsByAsset = groupAccountsByAsset(accounts, counterValuesState, targetCurrency);
|
28
21
|
|
29
22
|
return assets.map(asset => {
|
30
23
|
const assetGroup = groupedAccountsByAsset[asset.id];
|
31
24
|
|
32
25
|
if (assetGroup) {
|
33
|
-
return
|
26
|
+
return yieldAssetDetails(assetGroup, asset);
|
34
27
|
}
|
35
28
|
|
36
29
|
return {
|
@@ -41,36 +34,19 @@ export const getBalanceAndFiatValueByAssets = (
|
|
41
34
|
});
|
42
35
|
};
|
43
36
|
|
44
|
-
const
|
37
|
+
const yieldAssetDetails = (
|
45
38
|
assetGroup: GroupedAccount,
|
46
39
|
asset: CryptoOrTokenCurrency,
|
47
|
-
targetCurrency: Currency,
|
48
|
-
isDiscreetMode: boolean,
|
49
|
-
userLocale: string,
|
50
40
|
): ExtendedAssetType => {
|
51
|
-
|
52
|
-
|
53
|
-
? assetGroup.accounts[0].currency
|
54
|
-
: assetGroup.accounts[0].token;
|
55
|
-
|
56
|
-
const formattedBalance = formatCurrencyUnit(assetDetails.units[0], assetGroup.totalBalance, {
|
57
|
-
showCode: true,
|
58
|
-
discreet: isDiscreetMode,
|
59
|
-
});
|
60
|
-
|
61
|
-
const formattedFiatValue = counterValueFormatter({
|
62
|
-
currency: targetCurrency.ticker,
|
63
|
-
value: assetGroup.totalFiatValue.toNumber(),
|
64
|
-
locale: userLocale,
|
65
|
-
allowZeroValue: true,
|
66
|
-
discreetMode: isDiscreetMode,
|
67
|
-
});
|
41
|
+
// Use the reference currency for consistent magnitude
|
42
|
+
const assetDetails = assetGroup.referenceCurrency;
|
68
43
|
|
69
44
|
return {
|
70
45
|
id: asset.id,
|
71
46
|
name: asset.name,
|
72
47
|
ticker: asset.ticker,
|
73
|
-
|
74
|
-
|
48
|
+
currency: assetDetails,
|
49
|
+
balance: assetGroup.totalBalance,
|
50
|
+
fiatValue: assetGroup.totalFiatValue.toNumber(),
|
75
51
|
};
|
76
52
|
};
|