@ledgerhq/live-common 34.53.0 → 34.54.0-nightly.20251126160702
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.d.ts.map +1 -1
- package/lib/__tests__/test-helpers/bridge.js +0 -4
- package/lib/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib/__tests__/test-helpers/environment.js +3 -0
- package/lib/__tests__/test-helpers/environment.js.map +1 -1
- package/lib/__tests__/test-helpers/setup.integration.d.ts +2 -0
- package/lib/__tests__/test-helpers/setup.integration.d.ts.map +1 -0
- package/lib/__tests__/test-helpers/{setup.js → setup.integration.js} +4 -8
- package/lib/__tests__/test-helpers/setup.integration.js.map +1 -0
- package/lib/account/helpers.d.ts.map +1 -1
- package/lib/account/helpers.js +21 -17
- package/lib/account/helpers.js.map +1 -1
- package/lib/apps/config.d.ts.map +1 -1
- package/lib/apps/config.js +6 -0
- package/lib/apps/config.js.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.js +12 -10
- package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib/bridge/generic-alpaca/utils.js +1 -1
- package/lib/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib/bridge/impl.d.ts +0 -2
- package/lib/bridge/impl.d.ts.map +1 -1
- package/lib/bridge/impl.js +4 -8
- package/lib/bridge/impl.js.map +1 -1
- package/lib/currencies/helpers.d.ts +1 -3
- package/lib/currencies/helpers.d.ts.map +1 -1
- package/lib/currencies/helpers.js +1 -27
- package/lib/currencies/helpers.js.map +1 -1
- package/lib/currencies/index.d.ts +1 -1
- package/lib/currencies/index.d.ts.map +1 -1
- package/lib/currencies/index.js +1 -4
- package/lib/currencies/index.js.map +1 -1
- package/lib/dada-client/hooks/useAssetsData.d.ts +1 -0
- package/lib/dada-client/hooks/useAssetsData.d.ts.map +1 -1
- package/lib/dada-client/hooks/useAssetsData.js +1 -0
- package/lib/dada-client/hooks/useAssetsData.js.map +1 -1
- package/lib/deposit/type.d.ts +0 -17
- package/lib/deposit/type.d.ts.map +1 -1
- package/lib/deposit/type.js.map +1 -1
- package/lib/device/use-cases/getDeviceHasBattery.d.ts +2 -0
- package/lib/device/use-cases/getDeviceHasBattery.d.ts.map +1 -0
- package/lib/device/use-cases/getDeviceHasBattery.js +6 -0
- package/lib/device/use-cases/getDeviceHasBattery.js.map +1 -0
- package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -1
- package/lib/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
- package/lib/deviceSDK/hooks/useBatteryStatuses.js +4 -2
- package/lib/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
- package/lib/deviceSDK/tasks/core.d.ts +1 -1
- package/lib/deviceSDK/tasks/core.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/core.js +1 -1
- package/lib/deviceSDK/tasks/core.js.map +1 -1
- package/lib/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/getDeviceInfo.js +2 -0
- package/lib/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
- package/lib/deviceSDK/tasks/getLatestFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/getLatestFirmware.js +2 -2
- package/lib/deviceSDK/tasks/getLatestFirmware.js.map +1 -1
- package/lib/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/updateFirmware.js +1 -0
- package/lib/deviceSDK/tasks/updateFirmware.js.map +1 -1
- package/lib/e2e/data/assetsDrawer.d.ts +9 -0
- package/lib/e2e/data/assetsDrawer.d.ts.map +1 -0
- package/lib/e2e/data/assetsDrawer.js +12 -0
- package/lib/e2e/data/assetsDrawer.js.map +1 -0
- package/lib/e2e/deviceInteraction/DeviceController.d.ts +41 -0
- package/lib/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
- package/lib/e2e/deviceInteraction/DeviceController.js +68 -0
- package/lib/e2e/deviceInteraction/DeviceController.js.map +1 -0
- package/lib/e2e/enum/Account.d.ts +0 -1
- package/lib/e2e/enum/Account.d.ts.map +1 -1
- package/lib/e2e/enum/Account.js +0 -1
- package/lib/e2e/enum/Account.js.map +1 -1
- package/lib/e2e/enum/Currency.d.ts +0 -1
- package/lib/e2e/enum/Currency.d.ts.map +1 -1
- package/lib/e2e/enum/Currency.js +2 -6
- package/lib/e2e/enum/Currency.js.map +1 -1
- package/lib/e2e/enum/ReceiveFundsOptions.d.ts +6 -0
- package/lib/e2e/enum/ReceiveFundsOptions.d.ts.map +1 -0
- package/lib/e2e/enum/ReceiveFundsOptions.js +8 -0
- package/lib/e2e/enum/ReceiveFundsOptions.js.map +1 -0
- package/lib/e2e/families/algorand.d.ts +1 -1
- package/lib/e2e/families/algorand.d.ts.map +1 -1
- package/lib/e2e/families/algorand.js +5 -5
- package/lib/e2e/families/algorand.js.map +1 -1
- package/lib/e2e/families/aptos.d.ts +2 -2
- package/lib/e2e/families/aptos.d.ts.map +1 -1
- package/lib/e2e/families/aptos.js +9 -9
- package/lib/e2e/families/aptos.js.map +1 -1
- package/lib/e2e/families/bitcoin.d.ts +2 -2
- package/lib/e2e/families/bitcoin.d.ts.map +1 -1
- package/lib/e2e/families/bitcoin.js +11 -11
- package/lib/e2e/families/bitcoin.js.map +1 -1
- package/lib/e2e/families/cardano.d.ts +6 -0
- package/lib/e2e/families/cardano.d.ts.map +1 -1
- package/lib/e2e/families/cardano.js +28 -26
- package/lib/e2e/families/cardano.js.map +1 -1
- package/lib/e2e/families/celo.d.ts +1 -1
- package/lib/e2e/families/celo.d.ts.map +1 -1
- package/lib/e2e/families/celo.js +5 -5
- package/lib/e2e/families/celo.js.map +1 -1
- package/lib/e2e/families/cosmos.d.ts +2 -2
- package/lib/e2e/families/cosmos.d.ts.map +1 -1
- package/lib/e2e/families/cosmos.js +9 -9
- package/lib/e2e/families/cosmos.js.map +1 -1
- package/lib/e2e/families/evm.d.ts +2 -0
- package/lib/e2e/families/evm.d.ts.map +1 -1
- package/lib/e2e/families/evm.js +13 -12
- package/lib/e2e/families/evm.js.map +1 -1
- package/lib/e2e/families/hedera.d.ts +1 -1
- package/lib/e2e/families/hedera.d.ts.map +1 -1
- package/lib/e2e/families/hedera.js +5 -5
- package/lib/e2e/families/hedera.js.map +1 -1
- package/lib/e2e/families/kaspa.d.ts +2 -2
- package/lib/e2e/families/kaspa.d.ts.map +1 -1
- package/lib/e2e/families/kaspa.js +9 -9
- package/lib/e2e/families/kaspa.js.map +1 -1
- package/lib/e2e/families/multiversX.d.ts +1 -1
- package/lib/e2e/families/multiversX.d.ts.map +1 -1
- package/lib/e2e/families/multiversX.js +5 -5
- package/lib/e2e/families/multiversX.js.map +1 -1
- package/lib/e2e/families/near.d.ts +1 -1
- package/lib/e2e/families/near.d.ts.map +1 -1
- package/lib/e2e/families/near.js +6 -6
- package/lib/e2e/families/near.js.map +1 -1
- package/lib/e2e/families/osmosis.d.ts +1 -1
- package/lib/e2e/families/osmosis.d.ts.map +1 -1
- package/lib/e2e/families/osmosis.js +5 -5
- package/lib/e2e/families/osmosis.js.map +1 -1
- package/lib/e2e/families/polkadot.d.ts +1 -1
- package/lib/e2e/families/polkadot.d.ts.map +1 -1
- package/lib/e2e/families/polkadot.js +5 -5
- package/lib/e2e/families/polkadot.js.map +1 -1
- package/lib/e2e/families/solana.d.ts +2 -2
- package/lib/e2e/families/solana.d.ts.map +1 -1
- package/lib/e2e/families/solana.js +9 -9
- package/lib/e2e/families/solana.js.map +1 -1
- package/lib/e2e/families/stellar.d.ts +1 -1
- package/lib/e2e/families/stellar.d.ts.map +1 -1
- package/lib/e2e/families/stellar.js +5 -5
- package/lib/e2e/families/stellar.js.map +1 -1
- package/lib/e2e/families/sui.d.ts +1 -1
- package/lib/e2e/families/sui.d.ts.map +1 -1
- package/lib/e2e/families/sui.js +5 -5
- package/lib/e2e/families/sui.js.map +1 -1
- package/lib/e2e/families/tezos.d.ts +1 -1
- package/lib/e2e/families/tezos.d.ts.map +1 -1
- package/lib/e2e/families/tezos.js +7 -8
- package/lib/e2e/families/tezos.js.map +1 -1
- package/lib/e2e/families/tron.d.ts +1 -1
- package/lib/e2e/families/tron.d.ts.map +1 -1
- package/lib/e2e/families/tron.js +5 -5
- package/lib/e2e/families/tron.js.map +1 -1
- package/lib/e2e/families/xrp.d.ts +1 -1
- package/lib/e2e/families/xrp.d.ts.map +1 -1
- package/lib/e2e/families/xrp.js +5 -5
- package/lib/e2e/families/xrp.js.map +1 -1
- package/lib/e2e/index.d.ts +23 -0
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/e2e/speculos.d.ts +11 -11
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +87 -80
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/exchange/providers/swap.d.ts +1 -0
- package/lib/exchange/providers/swap.d.ts.map +1 -1
- package/lib/exchange/providers/swap.js +5 -1
- package/lib/exchange/providers/swap.js.map +1 -1
- package/lib/exchange/swap/getCompleteSwapHistory.js +2 -2
- package/lib/exchange/swap/getCompleteSwapHistory.js.map +1 -1
- package/lib/exchange/swap/hooks/useSelectableCurrencies.js +2 -2
- package/lib/exchange/swap/hooks/useSelectableCurrencies.js.map +1 -1
- package/lib/exchange/swap/hooks/v5/useFetchCurrencyAll.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/v5/useFetchCurrencyAll.js +2 -3
- package/lib/exchange/swap/hooks/v5/useFetchCurrencyAll.js.map +1 -1
- package/lib/exchange/swap/hooks/v5/useFilteredProviders.d.ts.map +1 -1
- package/lib/exchange/swap/hooks/v5/useFilteredProviders.js +15 -10
- package/lib/exchange/swap/hooks/v5/useFilteredProviders.js.map +1 -1
- package/lib/families/canton/bridge/mock.d.ts.map +1 -1
- package/lib/families/canton/bridge/mock.js +1 -0
- package/lib/families/canton/bridge/mock.js.map +1 -1
- package/lib/families/canton/react.d.ts +15 -0
- package/lib/families/canton/react.d.ts.map +1 -0
- package/lib/families/canton/react.js +14 -0
- package/lib/families/canton/react.js.map +1 -0
- package/lib/families/cosmos/datasets/dydx.integration.FIXME.d.ts +1 -1
- package/lib/families/cosmos/datasets/dydx.integration.FIXME.d.ts.map +1 -1
- package/lib/families/cosmos/datasets/dydx.integration.FIXME.js +1 -1
- package/lib/families/cosmos/datasets/dydx.integration.FIXME.js.map +1 -1
- package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts +1 -1
- package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts.map +1 -1
- package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.js +1 -1
- package/lib/families/cosmos/datasets/secretNetwork.integration.FIXME.js.map +1 -1
- package/lib/families/evm/config.d.ts.map +1 -1
- package/lib/families/evm/config.js +49 -0
- package/lib/families/evm/config.js.map +1 -1
- package/lib/families/evm/setup.d.ts.map +1 -1
- package/lib/families/evm/setup.js +1 -11
- package/lib/families/evm/setup.js.map +1 -1
- package/lib/families/solana/bridge/mock.d.ts.map +1 -1
- package/lib/families/solana/bridge/mock.js +10 -8
- package/lib/families/solana/bridge/mock.js.map +1 -1
- package/lib/families/solana/config.d.ts.map +1 -1
- package/lib/families/solana/config.js +0 -1
- package/lib/families/solana/config.js.map +1 -1
- package/lib/families/solana/setup.d.ts +8 -0
- package/lib/families/solana/setup.d.ts.map +1 -1
- package/lib/families/solana/setup.js +29 -16
- package/lib/families/solana/setup.js.map +1 -1
- package/lib/families/tron/data.mock.d.ts.map +1 -1
- package/lib/families/tron/data.mock.js +3 -6
- package/lib/families/tron/data.mock.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.d.ts +3 -0
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +10 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/stakePrograms/index.d.ts +1 -0
- package/lib/featureFlags/stakePrograms/index.d.ts.map +1 -1
- package/lib/featureFlags/stakePrograms/index.js +16 -1
- package/lib/featureFlags/stakePrograms/index.js.map +1 -1
- package/lib/featureFlags/useFeature.d.ts +1 -1
- package/lib/featureFlags/useFeature.d.ts.map +1 -1
- package/lib/market/hooks/useMarketDataProvider.js +1 -0
- package/lib/market/hooks/useMarketDataProvider.js.map +1 -1
- package/lib/market/utils/types.d.ts +1 -0
- package/lib/market/utils/types.d.ts.map +1 -1
- package/lib/market/utils/types.js.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +11 -0
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
- package/lib/modularDrawer/hooks/useNetworkAccountCounts.d.ts +1 -5
- package/lib/modularDrawer/hooks/useNetworkAccountCounts.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useNetworkAccountCounts.js +2 -2
- package/lib/modularDrawer/hooks/useNetworkAccountCounts.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 +1 -2
- package/lib/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
- package/lib/modularDrawer/utils/{groupCurrenciesByProvider.d.ts → groupCurrenciesByAsset.d.ts} +2 -2
- package/lib/modularDrawer/utils/groupCurrenciesByAsset.d.ts.map +1 -0
- package/lib/modularDrawer/utils/groupCurrenciesByAsset.js +21 -0
- package/lib/modularDrawer/utils/groupCurrenciesByAsset.js.map +1 -0
- package/lib/modularDrawer/utils/index.d.ts +1 -1
- package/lib/modularDrawer/utils/index.d.ts.map +1 -1
- package/lib/modularDrawer/utils/index.js +3 -3
- package/lib/modularDrawer/utils/index.js.map +1 -1
- package/lib/modularDrawer/utils/type.d.ts +0 -5
- package/lib/modularDrawer/utils/type.d.ts.map +1 -1
- package/lib/platform/filters.d.ts +1 -2
- package/lib/platform/filters.d.ts.map +1 -1
- package/lib/platform/filters.js +1 -17
- package/lib/platform/filters.js.map +1 -1
- package/lib/platform/helpers.d.ts +1 -5
- package/lib/platform/helpers.d.ts.map +1 -1
- package/lib/platform/helpers.js +1 -33
- package/lib/platform/helpers.js.map +1 -1
- package/lib/platform/react.d.ts +2 -3
- package/lib/platform/react.d.ts.map +1 -1
- package/lib/platform/react.js +66 -16
- package/lib/platform/react.js.map +1 -1
- package/lib/platform/types.d.ts +3 -3
- package/lib/platform/types.d.ts.map +1 -1
- package/lib/postOnboarding/reducer.d.ts +2 -0
- package/lib/postOnboarding/reducer.d.ts.map +1 -1
- package/lib/test-helpers/cryptoAssetsStore.d.ts +2 -0
- package/lib/test-helpers/cryptoAssetsStore.d.ts.map +1 -0
- package/lib/test-helpers/cryptoAssetsStore.js +8 -0
- package/lib/test-helpers/cryptoAssetsStore.js.map +1 -0
- package/lib/utils/getAccountTuplesForCurrency.d.ts +1 -1
- package/lib/utils/getAccountTuplesForCurrency.d.ts.map +1 -1
- package/lib/utils/getAccountTuplesForCurrency.js +2 -3
- package/lib/utils/getAccountTuplesForCurrency.js.map +1 -1
- package/lib/wallet-api/ACRE/server.js +5 -5
- package/lib/wallet-api/ACRE/server.js.map +1 -1
- package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/server.js +8 -7
- package/lib/wallet-api/Exchange/server.js.map +1 -1
- package/lib/wallet-api/converters.d.ts +1 -0
- package/lib/wallet-api/converters.d.ts.map +1 -1
- package/lib/wallet-api/converters.js +7 -2
- package/lib/wallet-api/converters.js.map +1 -1
- package/lib/wallet-api/logic.js +8 -8
- package/lib/wallet-api/logic.js.map +1 -1
- package/lib/wallet-api/react.d.ts +6 -11
- package/lib/wallet-api/react.d.ts.map +1 -1
- package/lib/wallet-api/react.js +293 -135
- package/lib/wallet-api/react.js.map +1 -1
- package/lib/wallet-api/tracking.d.ts +6 -0
- package/lib/wallet-api/tracking.d.ts.map +1 -1
- package/lib/wallet-api/tracking.js +20 -0
- package/lib/wallet-api/tracking.js.map +1 -1
- package/lib/wallet-api/types.d.ts +3 -0
- package/lib/wallet-api/types.d.ts.map +1 -1
- package/lib/wallet-api/useDappLogic.d.ts.map +1 -1
- package/lib/wallet-api/useDappLogic.js +65 -80
- package/lib/wallet-api/useDappLogic.js.map +1 -1
- package/lib/wallet-api/utils/deriveAccountIdForManifest.d.ts +6 -0
- package/lib/wallet-api/utils/deriveAccountIdForManifest.d.ts.map +1 -1
- package/lib/wallet-api/utils/deriveAccountIdForManifest.js +13 -3
- package/lib/wallet-api/utils/deriveAccountIdForManifest.js.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js +0 -4
- package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib-es/__tests__/test-helpers/environment.js +3 -0
- package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
- package/lib-es/__tests__/test-helpers/setup.integration.d.ts +2 -0
- package/lib-es/__tests__/test-helpers/setup.integration.d.ts.map +1 -0
- package/lib-es/__tests__/test-helpers/setup.integration.js +14 -0
- package/lib-es/__tests__/test-helpers/setup.integration.js.map +1 -0
- package/lib-es/account/helpers.d.ts.map +1 -1
- package/lib-es/account/helpers.js +5 -1
- package/lib-es/account/helpers.js.map +1 -1
- package/lib-es/apps/config.d.ts.map +1 -1
- package/lib-es/apps/config.js +6 -0
- package/lib-es/apps/config.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.js +13 -11
- package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib-es/bridge/impl.d.ts +0 -2
- package/lib-es/bridge/impl.d.ts.map +1 -1
- package/lib-es/bridge/impl.js +3 -6
- package/lib-es/bridge/impl.js.map +1 -1
- package/lib-es/currencies/helpers.d.ts +1 -3
- package/lib-es/currencies/helpers.d.ts.map +1 -1
- package/lib-es/currencies/helpers.js +0 -24
- package/lib-es/currencies/helpers.js.map +1 -1
- package/lib-es/currencies/index.d.ts +1 -1
- package/lib-es/currencies/index.d.ts.map +1 -1
- package/lib-es/currencies/index.js +1 -1
- package/lib-es/currencies/index.js.map +1 -1
- package/lib-es/dada-client/hooks/useAssetsData.d.ts +1 -0
- package/lib-es/dada-client/hooks/useAssetsData.d.ts.map +1 -1
- package/lib-es/dada-client/hooks/useAssetsData.js +1 -0
- package/lib-es/dada-client/hooks/useAssetsData.js.map +1 -1
- package/lib-es/deposit/type.d.ts +0 -17
- package/lib-es/deposit/type.d.ts.map +1 -1
- package/lib-es/deposit/type.js.map +1 -1
- package/lib-es/device/use-cases/getDeviceHasBattery.d.ts +2 -0
- package/lib-es/device/use-cases/getDeviceHasBattery.d.ts.map +1 -0
- package/lib-es/device/use-cases/getDeviceHasBattery.js +2 -0
- package/lib-es/device/use-cases/getDeviceHasBattery.js.map +1 -0
- package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts +2 -1
- package/lib-es/deviceSDK/hooks/useBatteryStatuses.d.ts.map +1 -1
- package/lib-es/deviceSDK/hooks/useBatteryStatuses.js +4 -2
- package/lib-es/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
- package/lib-es/deviceSDK/tasks/core.d.ts +1 -1
- package/lib-es/deviceSDK/tasks/core.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/core.js +1 -1
- package/lib-es/deviceSDK/tasks/core.js.map +1 -1
- package/lib-es/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/getDeviceInfo.js +2 -0
- package/lib-es/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
- package/lib-es/deviceSDK/tasks/getLatestFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/getLatestFirmware.js +2 -2
- package/lib-es/deviceSDK/tasks/getLatestFirmware.js.map +1 -1
- package/lib-es/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/updateFirmware.js +2 -1
- package/lib-es/deviceSDK/tasks/updateFirmware.js.map +1 -1
- package/lib-es/e2e/data/assetsDrawer.d.ts +9 -0
- package/lib-es/e2e/data/assetsDrawer.d.ts.map +1 -0
- package/lib-es/e2e/data/assetsDrawer.js +9 -0
- package/lib-es/e2e/data/assetsDrawer.js.map +1 -0
- package/lib-es/e2e/deviceInteraction/DeviceController.d.ts +41 -0
- package/lib-es/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
- package/lib-es/e2e/deviceInteraction/DeviceController.js +63 -0
- package/lib-es/e2e/deviceInteraction/DeviceController.js.map +1 -0
- package/lib-es/e2e/enum/Account.d.ts +0 -1
- package/lib-es/e2e/enum/Account.d.ts.map +1 -1
- package/lib-es/e2e/enum/Account.js +0 -1
- package/lib-es/e2e/enum/Account.js.map +1 -1
- package/lib-es/e2e/enum/Currency.d.ts +0 -1
- package/lib-es/e2e/enum/Currency.d.ts.map +1 -1
- package/lib-es/e2e/enum/Currency.js +2 -6
- package/lib-es/e2e/enum/Currency.js.map +1 -1
- package/lib-es/e2e/enum/ReceiveFundsOptions.d.ts +6 -0
- package/lib-es/e2e/enum/ReceiveFundsOptions.d.ts.map +1 -0
- package/lib-es/e2e/enum/ReceiveFundsOptions.js +5 -0
- package/lib-es/e2e/enum/ReceiveFundsOptions.js.map +1 -0
- package/lib-es/e2e/families/algorand.d.ts +1 -1
- package/lib-es/e2e/families/algorand.d.ts.map +1 -1
- package/lib-es/e2e/families/algorand.js +5 -4
- package/lib-es/e2e/families/algorand.js.map +1 -1
- package/lib-es/e2e/families/aptos.d.ts +2 -2
- package/lib-es/e2e/families/aptos.d.ts.map +1 -1
- package/lib-es/e2e/families/aptos.js +9 -7
- package/lib-es/e2e/families/aptos.js.map +1 -1
- package/lib-es/e2e/families/bitcoin.d.ts +2 -2
- package/lib-es/e2e/families/bitcoin.d.ts.map +1 -1
- package/lib-es/e2e/families/bitcoin.js +11 -9
- package/lib-es/e2e/families/bitcoin.js.map +1 -1
- package/lib-es/e2e/families/cardano.d.ts +6 -0
- package/lib-es/e2e/families/cardano.d.ts.map +1 -1
- package/lib-es/e2e/families/cardano.js +23 -21
- package/lib-es/e2e/families/cardano.js.map +1 -1
- package/lib-es/e2e/families/celo.d.ts +1 -1
- package/lib-es/e2e/families/celo.d.ts.map +1 -1
- package/lib-es/e2e/families/celo.js +5 -4
- package/lib-es/e2e/families/celo.js.map +1 -1
- package/lib-es/e2e/families/cosmos.d.ts +2 -2
- package/lib-es/e2e/families/cosmos.d.ts.map +1 -1
- package/lib-es/e2e/families/cosmos.js +9 -7
- package/lib-es/e2e/families/cosmos.js.map +1 -1
- package/lib-es/e2e/families/evm.d.ts +2 -0
- package/lib-es/e2e/families/evm.d.ts.map +1 -1
- package/lib-es/e2e/families/evm.js +10 -9
- package/lib-es/e2e/families/evm.js.map +1 -1
- package/lib-es/e2e/families/hedera.d.ts +1 -1
- package/lib-es/e2e/families/hedera.d.ts.map +1 -1
- package/lib-es/e2e/families/hedera.js +5 -4
- package/lib-es/e2e/families/hedera.js.map +1 -1
- package/lib-es/e2e/families/kaspa.d.ts +2 -2
- package/lib-es/e2e/families/kaspa.d.ts.map +1 -1
- package/lib-es/e2e/families/kaspa.js +9 -7
- package/lib-es/e2e/families/kaspa.js.map +1 -1
- package/lib-es/e2e/families/multiversX.d.ts +1 -1
- package/lib-es/e2e/families/multiversX.d.ts.map +1 -1
- package/lib-es/e2e/families/multiversX.js +5 -4
- package/lib-es/e2e/families/multiversX.js.map +1 -1
- package/lib-es/e2e/families/near.d.ts +1 -1
- package/lib-es/e2e/families/near.d.ts.map +1 -1
- package/lib-es/e2e/families/near.js +6 -5
- package/lib-es/e2e/families/near.js.map +1 -1
- package/lib-es/e2e/families/osmosis.d.ts +1 -1
- package/lib-es/e2e/families/osmosis.d.ts.map +1 -1
- package/lib-es/e2e/families/osmosis.js +5 -4
- package/lib-es/e2e/families/osmosis.js.map +1 -1
- package/lib-es/e2e/families/polkadot.d.ts +1 -1
- package/lib-es/e2e/families/polkadot.d.ts.map +1 -1
- package/lib-es/e2e/families/polkadot.js +5 -4
- package/lib-es/e2e/families/polkadot.js.map +1 -1
- package/lib-es/e2e/families/solana.d.ts +2 -2
- package/lib-es/e2e/families/solana.d.ts.map +1 -1
- package/lib-es/e2e/families/solana.js +9 -7
- package/lib-es/e2e/families/solana.js.map +1 -1
- package/lib-es/e2e/families/stellar.d.ts +1 -1
- package/lib-es/e2e/families/stellar.d.ts.map +1 -1
- package/lib-es/e2e/families/stellar.js +5 -4
- package/lib-es/e2e/families/stellar.js.map +1 -1
- package/lib-es/e2e/families/sui.d.ts +1 -1
- package/lib-es/e2e/families/sui.d.ts.map +1 -1
- package/lib-es/e2e/families/sui.js +5 -4
- package/lib-es/e2e/families/sui.js.map +1 -1
- package/lib-es/e2e/families/tezos.d.ts +1 -1
- package/lib-es/e2e/families/tezos.d.ts.map +1 -1
- package/lib-es/e2e/families/tezos.js +8 -8
- package/lib-es/e2e/families/tezos.js.map +1 -1
- package/lib-es/e2e/families/tron.d.ts +1 -1
- package/lib-es/e2e/families/tron.d.ts.map +1 -1
- package/lib-es/e2e/families/tron.js +5 -4
- package/lib-es/e2e/families/tron.js.map +1 -1
- package/lib-es/e2e/families/xrp.d.ts +1 -1
- package/lib-es/e2e/families/xrp.d.ts.map +1 -1
- package/lib-es/e2e/families/xrp.js +5 -4
- package/lib-es/e2e/families/xrp.js.map +1 -1
- package/lib-es/e2e/index.d.ts +23 -0
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/e2e/speculos.d.ts +11 -11
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +63 -45
- package/lib-es/e2e/speculos.js.map +1 -1
- package/lib-es/env.react.d.ts +1 -1
- package/lib-es/env.react.d.ts.map +1 -1
- package/lib-es/exchange/providers/swap.d.ts +1 -0
- package/lib-es/exchange/providers/swap.d.ts.map +1 -1
- package/lib-es/exchange/providers/swap.js +3 -0
- package/lib-es/exchange/providers/swap.js.map +1 -1
- package/lib-es/exchange/swap/getCompleteSwapHistory.js +1 -1
- package/lib-es/exchange/swap/getCompleteSwapHistory.js.map +1 -1
- package/lib-es/exchange/swap/hooks/useSelectableCurrencies.js +1 -1
- package/lib-es/exchange/swap/hooks/useSelectableCurrencies.js.map +1 -1
- package/lib-es/exchange/swap/hooks/v5/useFetchCurrencyAll.d.ts.map +1 -1
- package/lib-es/exchange/swap/hooks/v5/useFetchCurrencyAll.js +2 -3
- package/lib-es/exchange/swap/hooks/v5/useFetchCurrencyAll.js.map +1 -1
- package/lib-es/exchange/swap/hooks/v5/useFilteredProviders.d.ts.map +1 -1
- package/lib-es/exchange/swap/hooks/v5/useFilteredProviders.js +17 -12
- package/lib-es/exchange/swap/hooks/v5/useFilteredProviders.js.map +1 -1
- package/lib-es/families/canton/bridge/mock.d.ts.map +1 -1
- package/lib-es/families/canton/bridge/mock.js +1 -0
- package/lib-es/families/canton/bridge/mock.js.map +1 -1
- package/lib-es/families/canton/react.d.ts +15 -0
- package/lib-es/families/canton/react.d.ts.map +1 -0
- package/lib-es/families/canton/react.js +10 -0
- package/lib-es/families/canton/react.js.map +1 -0
- package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.d.ts +1 -1
- package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.d.ts.map +1 -1
- package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.js +1 -1
- package/lib-es/families/cosmos/datasets/dydx.integration.FIXME.js.map +1 -1
- package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts +1 -1
- package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.d.ts.map +1 -1
- package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.js +1 -1
- package/lib-es/families/cosmos/datasets/secretNetwork.integration.FIXME.js.map +1 -1
- package/lib-es/families/evm/config.d.ts.map +1 -1
- package/lib-es/families/evm/config.js +49 -0
- package/lib-es/families/evm/config.js.map +1 -1
- package/lib-es/families/evm/setup.d.ts.map +1 -1
- package/lib-es/families/evm/setup.js +1 -11
- package/lib-es/families/evm/setup.js.map +1 -1
- package/lib-es/families/solana/bridge/mock.d.ts.map +1 -1
- package/lib-es/families/solana/bridge/mock.js +11 -9
- package/lib-es/families/solana/bridge/mock.js.map +1 -1
- package/lib-es/families/solana/config.d.ts.map +1 -1
- package/lib-es/families/solana/config.js +0 -1
- package/lib-es/families/solana/config.js.map +1 -1
- package/lib-es/families/solana/setup.d.ts +8 -0
- package/lib-es/families/solana/setup.d.ts.map +1 -1
- package/lib-es/families/solana/setup.js +28 -17
- package/lib-es/families/solana/setup.js.map +1 -1
- package/lib-es/families/tron/data.mock.d.ts.map +1 -1
- package/lib-es/families/tron/data.mock.js +3 -6
- package/lib-es/families/tron/data.mock.js.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.d.ts +3 -0
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +10 -0
- package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
- package/lib-es/featureFlags/stakePrograms/index.d.ts +1 -0
- package/lib-es/featureFlags/stakePrograms/index.d.ts.map +1 -1
- package/lib-es/featureFlags/stakePrograms/index.js +14 -0
- package/lib-es/featureFlags/stakePrograms/index.js.map +1 -1
- package/lib-es/featureFlags/useFeature.d.ts +1 -1
- package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
- package/lib-es/market/hooks/useMarketDataProvider.js +1 -0
- package/lib-es/market/hooks/useMarketDataProvider.js.map +1 -1
- package/lib-es/market/utils/types.d.ts +1 -0
- package/lib-es/market/utils/types.d.ts.map +1 -1
- package/lib-es/market/utils/types.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +11 -0
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.d.ts +1 -5
- package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.js +2 -2
- package/lib-es/modularDrawer/hooks/useNetworkAccountCounts.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 +1 -2
- package/lib-es/modularDrawer/modules/createNetworkConfiguration.js.map +1 -1
- package/lib-es/modularDrawer/utils/{groupCurrenciesByProvider.d.ts → groupCurrenciesByAsset.d.ts} +2 -2
- package/lib-es/modularDrawer/utils/groupCurrenciesByAsset.d.ts.map +1 -0
- package/lib-es/modularDrawer/utils/{groupCurrenciesByProvider.js → groupCurrenciesByAsset.js} +6 -6
- package/lib-es/modularDrawer/utils/groupCurrenciesByAsset.js.map +1 -0
- package/lib-es/modularDrawer/utils/index.d.ts +1 -1
- package/lib-es/modularDrawer/utils/index.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/index.js +1 -1
- package/lib-es/modularDrawer/utils/index.js.map +1 -1
- package/lib-es/modularDrawer/utils/type.d.ts +0 -5
- package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
- package/lib-es/platform/filters.d.ts +1 -2
- package/lib-es/platform/filters.d.ts.map +1 -1
- package/lib-es/platform/filters.js +0 -15
- package/lib-es/platform/filters.js.map +1 -1
- package/lib-es/platform/helpers.d.ts +1 -5
- package/lib-es/platform/helpers.d.ts.map +1 -1
- package/lib-es/platform/helpers.js +1 -30
- package/lib-es/platform/helpers.js.map +1 -1
- package/lib-es/platform/react.d.ts +2 -3
- package/lib-es/platform/react.d.ts.map +1 -1
- package/lib-es/platform/react.js +67 -16
- package/lib-es/platform/react.js.map +1 -1
- package/lib-es/platform/types.d.ts +3 -3
- package/lib-es/platform/types.d.ts.map +1 -1
- package/lib-es/postOnboarding/reducer.d.ts +2 -0
- package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
- package/lib-es/test-helpers/cryptoAssetsStore.d.ts +2 -0
- package/lib-es/test-helpers/cryptoAssetsStore.d.ts.map +1 -0
- package/lib-es/test-helpers/cryptoAssetsStore.js +2 -0
- package/lib-es/test-helpers/cryptoAssetsStore.js.map +1 -0
- package/lib-es/utils/getAccountTuplesForCurrency.d.ts +1 -1
- package/lib-es/utils/getAccountTuplesForCurrency.d.ts.map +1 -1
- package/lib-es/utils/getAccountTuplesForCurrency.js +2 -3
- package/lib-es/utils/getAccountTuplesForCurrency.js.map +1 -1
- package/lib-es/wallet-api/ACRE/server.js +1 -1
- package/lib-es/wallet-api/ACRE/server.js.map +1 -1
- package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/server.js +6 -5
- package/lib-es/wallet-api/Exchange/server.js.map +1 -1
- package/lib-es/wallet-api/converters.d.ts +1 -0
- package/lib-es/wallet-api/converters.d.ts.map +1 -1
- package/lib-es/wallet-api/converters.js +5 -1
- package/lib-es/wallet-api/converters.js.map +1 -1
- package/lib-es/wallet-api/logic.js +1 -1
- package/lib-es/wallet-api/logic.js.map +1 -1
- package/lib-es/wallet-api/react.d.ts +6 -11
- package/lib-es/wallet-api/react.d.ts.map +1 -1
- package/lib-es/wallet-api/react.js +291 -131
- package/lib-es/wallet-api/react.js.map +1 -1
- package/lib-es/wallet-api/tracking.d.ts +6 -0
- package/lib-es/wallet-api/tracking.d.ts.map +1 -1
- package/lib-es/wallet-api/tracking.js +20 -0
- package/lib-es/wallet-api/tracking.js.map +1 -1
- package/lib-es/wallet-api/types.d.ts +3 -0
- package/lib-es/wallet-api/types.d.ts.map +1 -1
- package/lib-es/wallet-api/useDappLogic.d.ts.map +1 -1
- package/lib-es/wallet-api/useDappLogic.js +62 -77
- package/lib-es/wallet-api/useDappLogic.js.map +1 -1
- package/lib-es/wallet-api/utils/deriveAccountIdForManifest.d.ts +6 -0
- package/lib-es/wallet-api/utils/deriveAccountIdForManifest.d.ts.map +1 -1
- package/lib-es/wallet-api/utils/deriveAccountIdForManifest.js +11 -2
- package/lib-es/wallet-api/utils/deriveAccountIdForManifest.js.map +1 -1
- package/package.json +74 -60
- package/src/DataModel.test.ts +2 -8
- package/src/__tests__/__snapshots__/csvExport.ts.snap +0 -718
- package/src/__tests__/accounts/groupPerDay.ts +2 -4
- package/src/__tests__/csvExport.ts +3 -3
- package/src/__tests__/currencies.ts +5 -38
- package/src/__tests__/migration/account-migration.ts +3 -0
- package/src/__tests__/test-helpers/bridge.ts +0 -2
- package/src/__tests__/test-helpers/environment.ts +3 -0
- package/src/__tests__/test-helpers/setup.integration.ts +17 -0
- package/src/__tests__/test-helpers/setup.ts +3 -8
- package/src/account/helpers.test.ts +2 -2
- package/src/account/helpers.ts +5 -1
- package/src/account/serialization.test.ts +2 -2
- package/src/apps/config.ts +6 -0
- package/src/bridge/crypto-assets/index.test.ts +15 -44
- package/src/bridge/generic-alpaca/getAccountShape.ts +15 -12
- package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +142 -101
- package/src/bridge/generic-alpaca/utils.test.ts +1 -2
- package/src/bridge/generic-alpaca/utils.ts +1 -1
- package/src/bridge/impl.ts +3 -7
- package/src/currencies/cryptoIcons.test.ts +23 -4
- package/src/currencies/helpers.test.ts +4 -11
- package/src/currencies/helpers.ts +1 -42
- package/src/currencies/index.ts +0 -3
- package/src/currencies/sortByMarketcap.test.ts +0 -26
- package/src/dada-client/hooks/useAssetsData.ts +1 -0
- package/src/deposit/type.ts +0 -21
- package/src/device/use-cases/getDeviceHasBattery.ts +1 -0
- package/src/deviceSDK/hooks/useBatteryStatuses.test.ts +3 -1
- package/src/deviceSDK/hooks/useBatteryStatuses.ts +4 -1
- package/src/deviceSDK/tasks/core.test.ts +20 -0
- package/src/deviceSDK/tasks/core.ts +2 -1
- package/src/deviceSDK/tasks/getDeviceInfo.ts +2 -0
- package/src/deviceSDK/tasks/getLatestFirmware.ts +4 -4
- package/src/deviceSDK/tasks/updateFirmware.ts +2 -0
- package/src/domain/getTokensWithFunds.test.ts +32 -3
- package/src/e2e/data/assetsDrawer.ts +8 -0
- package/src/e2e/deviceInteraction/DeviceController.ts +85 -0
- package/src/e2e/enum/Account.ts +0 -6
- package/src/e2e/enum/Currency.ts +2 -6
- package/src/e2e/enum/ReceiveFundsOptions.ts +7 -0
- package/src/e2e/families/algorand.ts +20 -13
- package/src/e2e/families/aptos.ts +28 -16
- package/src/e2e/families/bitcoin.ts +53 -39
- package/src/e2e/families/cardano.ts +47 -36
- package/src/e2e/families/celo.ts +18 -12
- package/src/e2e/families/cosmos.ts +35 -23
- package/src/e2e/families/evm.ts +24 -13
- package/src/e2e/families/hedera.ts +6 -4
- package/src/e2e/families/kaspa.ts +28 -16
- package/src/e2e/families/multiversX.ts +16 -10
- package/src/e2e/families/near.ts +23 -17
- package/src/e2e/families/osmosis.ts +19 -13
- package/src/e2e/families/polkadot.ts +19 -13
- package/src/e2e/families/solana.ts +35 -23
- package/src/e2e/families/stellar.ts +18 -13
- package/src/e2e/families/sui.ts +15 -9
- package/src/e2e/families/tezos.ts +25 -18
- package/src/e2e/families/tron.ts +19 -13
- package/src/e2e/families/xrp.ts +19 -13
- package/src/e2e/speculos.ts +174 -139
- package/src/exchange/providers/swap.ts +4 -0
- package/src/exchange/swap/getCompleteSwapHistory.ts +1 -1
- package/src/exchange/swap/hooks/useSelectableCurrencies.test.ts +4 -0
- package/src/exchange/swap/hooks/useSelectableCurrencies.ts +1 -1
- package/src/exchange/swap/hooks/v5/useFetchCurrencyAll.ts +2 -3
- package/src/exchange/swap/hooks/v5/useFilteredProviders.ts +37 -12
- package/src/families/algorand/bridge.integration.test.ts +1 -1
- package/src/families/aptos/__snapshots__/bridge.integration.test.ts.snap +111 -1
- package/src/families/aptos/bridge.integration.test.ts +1 -1
- package/src/families/bitcoin/bridge.integration.test.ts +1 -1
- package/src/families/bitcoin/satstack.test.ts +5 -8
- package/src/families/canton/bridge/mock.ts +1 -0
- package/src/families/canton/react.ts +50 -0
- package/src/families/cardano/__snapshots__/bridge.integration.test.ts.snap +2 -2
- package/src/families/cardano/bridge.integration.test.ts +1 -1
- package/src/families/casper/bridge.integration.test.ts +1 -1
- package/src/families/celo/bridge.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +1 -1
- package/src/families/cosmos/datasets/axelar.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/babylon.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/coreum.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/cosmos.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/cryptoOrg.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/desmos.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/dydx.integration.FIXME.ts +1 -1
- package/src/families/cosmos/datasets/injective.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/mantra.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/onomy.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/osmosis.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/persistence.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/quicksilver.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/secretNetwork.integration.FIXME.ts +1 -1
- package/src/families/cosmos/datasets/seiNetwork.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/stargaze.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/umee.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/xion.integration.test.ts +1 -1
- package/src/families/cosmos/datasets/zenrock.integration.test.ts +1 -1
- package/src/families/evm/bridge.integration.test.ts +1 -1
- package/src/families/evm/config.ts +49 -0
- package/src/families/evm/setup.ts +0 -12
- package/src/families/filecoin/bridge.integration.test.ts +1 -1
- package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +207 -8
- package/src/families/hedera/bridge.integration.test.ts +1 -1
- package/src/families/icon/bridge.integration.test.ts +1 -1
- package/src/families/internet_computer/bridge.integration.test.ts +1 -1
- package/src/families/kaspa/bridge.integration.test.ts +1 -1
- package/src/families/mina/bridge.integration.test.ts +1 -1
- package/src/families/multiversx/bridge.integration.test.ts +1 -1
- package/src/families/multiversx/synchronisation.integration.test.ts +1 -1
- package/src/families/near/bridge.integration.test.ts +1 -1
- package/src/families/polkadot/bridge.integration.test.ts +1 -1
- package/src/families/solana/bridge/mock.ts +13 -23
- package/src/families/solana/bridge.integration.test.ts +1 -1
- package/src/families/solana/config.ts +0 -1
- package/src/families/solana/setup.ts +37 -24
- package/src/families/stacks/__tests__/sync.integration.test.ts +1 -1
- package/src/families/stacks/bridge.integration.test.ts +1 -1
- package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +279 -15
- package/src/families/stellar/bridge.integration.test.ts +1 -1
- package/src/families/sui/bridge.integration.test.ts +1 -1
- package/src/families/tezos/bridge.integration.test.ts +1 -1
- package/src/families/ton/bridge.integration.test.ts +1 -1
- package/src/families/tron/bridge.integration.test.ts +1 -1
- package/src/families/tron/data.mock.ts +4 -8
- package/src/families/vechain/bridge.integration.test.ts +1 -1
- package/src/families/xrp/bridge.integration.test.ts +1 -1
- package/src/featureFlags/defaultFeatures.ts +11 -0
- package/src/featureFlags/stakePrograms/index.ts +18 -0
- package/src/market/hooks/useMarketDataProvider.ts +1 -0
- package/src/market/utils/types.ts +1 -0
- package/src/modularDrawer/hooks/__test__/useAssetAccountCounts.test.ts +0 -5
- package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +11 -0
- package/src/modularDrawer/hooks/useNetworkAccountCounts.tsx +1 -6
- package/src/modularDrawer/modules/__test__/createAssetConfiguration.test.tsx +2 -2
- package/src/modularDrawer/modules/createNetworkConfiguration.ts +1 -2
- package/src/modularDrawer/utils/__tests__/groupCurrenciesByAsset.test.ts +88 -0
- package/src/modularDrawer/utils/{groupCurrenciesByProvider.ts → groupCurrenciesByAsset.ts} +5 -5
- package/src/modularDrawer/utils/index.ts +1 -1
- package/src/modularDrawer/utils/type.ts +0 -5
- package/src/platform/filters.ts +1 -23
- package/src/platform/helpers.ts +2 -49
- package/src/platform/react.ts +86 -22
- package/src/platform/types.ts +1 -1
- package/src/test-helpers/cryptoAssetsStore.ts +5 -0
- package/src/utils/__tests__/getAccountTuplesForCurrency.test.ts +3 -33
- package/src/utils/getAccountTuplesForCurrency.ts +1 -6
- package/src/wallet-api/ACRE/server.test.ts +3 -4
- package/src/wallet-api/ACRE/server.ts +1 -1
- package/src/wallet-api/Exchange/server.test.ts +0 -5
- package/src/wallet-api/Exchange/server.ts +8 -7
- package/src/wallet-api/converters.ts +6 -1
- package/src/wallet-api/logic.test.ts +3 -3
- package/src/wallet-api/logic.ts +1 -1
- package/src/wallet-api/react.ts +312 -137
- package/src/wallet-api/tracking.ts +22 -0
- package/src/wallet-api/types.ts +5 -0
- package/src/wallet-api/useDappLogic.ts +91 -106
- package/src/wallet-api/utils/deriveAccountIdForManifest.ts +14 -2
- package/lib/__tests__/test-helpers/setup.d.ts +0 -2
- package/lib/__tests__/test-helpers/setup.d.ts.map +0 -1
- package/lib/__tests__/test-helpers/setup.js.map +0 -1
- package/lib/bridge/crypto-assets/index.d.ts +0 -4
- package/lib/bridge/crypto-assets/index.d.ts.map +0 -1
- package/lib/bridge/crypto-assets/index.js +0 -22
- package/lib/bridge/crypto-assets/index.js.map +0 -1
- package/lib/deposit/helper.d.ts +0 -8
- package/lib/deposit/helper.d.ts.map +0 -1
- package/lib/deposit/helper.js +0 -125
- package/lib/deposit/helper.js.map +0 -1
- package/lib/deposit/index.d.ts +0 -3
- package/lib/deposit/index.d.ts.map +0 -1
- package/lib/deposit/index.js +0 -6
- package/lib/deposit/index.js.map +0 -1
- package/lib/deposit/mock.d.ts +0 -75
- package/lib/deposit/mock.d.ts.map +0 -1
- package/lib/deposit/mock.js +0 -15111
- package/lib/deposit/mock.js.map +0 -1
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts +0 -3
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +0 -1
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.js +0 -40
- package/lib/deposit/useGroupedCurrenciesByProvider.hook.js.map +0 -1
- package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
- package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
- package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -26
- package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
- package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts +0 -22
- package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts.map +0 -1
- package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js +0 -41
- package/lib/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js.map +0 -1
- package/lib/modularDrawer/utils/currencyUtils.d.ts +0 -10
- package/lib/modularDrawer/utils/currencyUtils.d.ts.map +0 -1
- package/lib/modularDrawer/utils/currencyUtils.js +0 -74
- package/lib/modularDrawer/utils/currencyUtils.js.map +0 -1
- package/lib/modularDrawer/utils/groupCurrenciesByProvider.d.ts.map +0 -1
- package/lib/modularDrawer/utils/groupCurrenciesByProvider.js +0 -21
- package/lib/modularDrawer/utils/groupCurrenciesByProvider.js.map +0 -1
- package/lib-es/__tests__/test-helpers/setup.d.ts +0 -2
- package/lib-es/__tests__/test-helpers/setup.d.ts.map +0 -1
- package/lib-es/__tests__/test-helpers/setup.js +0 -18
- package/lib-es/__tests__/test-helpers/setup.js.map +0 -1
- package/lib-es/bridge/crypto-assets/index.d.ts +0 -4
- package/lib-es/bridge/crypto-assets/index.d.ts.map +0 -1
- package/lib-es/bridge/crypto-assets/index.js +0 -17
- package/lib-es/bridge/crypto-assets/index.js.map +0 -1
- package/lib-es/deposit/helper.d.ts +0 -8
- package/lib-es/deposit/helper.d.ts.map +0 -1
- package/lib-es/deposit/helper.js +0 -117
- package/lib-es/deposit/helper.js.map +0 -1
- package/lib-es/deposit/index.d.ts +0 -3
- package/lib-es/deposit/index.d.ts.map +0 -1
- package/lib-es/deposit/index.js +0 -3
- package/lib-es/deposit/index.js.map +0 -1
- package/lib-es/deposit/mock.d.ts +0 -75
- package/lib-es/deposit/mock.d.ts.map +0 -1
- package/lib-es/deposit/mock.js +0 -15108
- package/lib-es/deposit/mock.js.map +0 -1
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts +0 -3
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.d.ts.map +0 -1
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js +0 -36
- package/lib-es/deposit/useGroupedCurrenciesByProvider.hook.js.map +0 -1
- package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
- package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
- package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -18
- package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
- package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts +0 -22
- package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.d.ts.map +0 -1
- package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js +0 -38
- package/lib-es/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.js.map +0 -1
- package/lib-es/modularDrawer/utils/currencyUtils.d.ts +0 -10
- package/lib-es/modularDrawer/utils/currencyUtils.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/currencyUtils.js +0 -65
- package/lib-es/modularDrawer/utils/currencyUtils.js.map +0 -1
- package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.d.ts.map +0 -1
- package/lib-es/modularDrawer/utils/groupCurrenciesByProvider.js.map +0 -1
- package/src/bridge/crypto-assets/index.ts +0 -23
- package/src/deposit/deposit.integration.test.ts +0 -88
- package/src/deposit/deposit.test.ts +0 -684
- package/src/deposit/helper.ts +0 -143
- package/src/deposit/index.ts +0 -3
- package/src/deposit/mock.ts +0 -15112
- package/src/deposit/useGroupedCurrenciesByProvider.hook.ts +0 -46
- package/src/e2e/deviceInteraction/ButtonDeviceSimulator.ts +0 -23
- package/src/modularDrawer/__mocks__/useGroupedCurrenciesByProvider.mock.ts +0 -49
- package/src/modularDrawer/modules/__test__/createNetworkConfiguration.test.ts +0 -342
- package/src/modularDrawer/utils/__tests__/currencyUtils.test.ts +0 -126
- package/src/modularDrawer/utils/currencyUtils.ts +0 -95
|
@@ -107,7 +107,7 @@ export function adaptCoreOperationToLiveOperation(accountId: string, op: CoreOpe
|
|
|
107
107
|
extra.memo = op.details.memo as string;
|
|
108
108
|
}
|
|
109
109
|
const bnFees = new BigNumber(op.tx.fees.toString());
|
|
110
|
-
const hasFailed = op.
|
|
110
|
+
const hasFailed = op.tx.failed;
|
|
111
111
|
|
|
112
112
|
let value: BigNumber;
|
|
113
113
|
if (hasFailed) {
|
package/src/bridge/impl.ts
CHANGED
|
@@ -20,9 +20,7 @@ import {
|
|
|
20
20
|
import { getAlpacaAccountBridge } from "./generic-alpaca/accountBridge";
|
|
21
21
|
import { getAlpacaCurrencyBridge } from "./generic-alpaca/currencyBridge";
|
|
22
22
|
import { AddressesSanctionedError } from "@ledgerhq/coin-framework/sanction/errors";
|
|
23
|
-
|
|
24
|
-
import { setCryptoAssetsStore as setCryptoAssetsStoreForCoinFramework } from "@ledgerhq/coin-framework/crypto-assets/index";
|
|
25
|
-
import { getCryptoAssetsStore, setCryptoAssetsStore } from "./crypto-assets";
|
|
23
|
+
// Removed: stores are now managed globally by @ledgerhq/cryptoassets/cal-client/store
|
|
26
24
|
|
|
27
25
|
const alpacaized = {
|
|
28
26
|
xrp: true,
|
|
@@ -105,10 +103,8 @@ export function getAccountBridgeByFamily(family: string, accountId?: string): Ac
|
|
|
105
103
|
return wrapAccountBridge(jsBridge.accountBridge);
|
|
106
104
|
}
|
|
107
105
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
setCryptoAssetsStoreForCoinFramework(getCryptoAssetsStore());
|
|
111
|
-
}
|
|
106
|
+
// Removed: setup() is no longer needed. The store is now managed globally by @ledgerhq/cryptoassets/cal-client/store.
|
|
107
|
+
// Use setupCalClientStore() or setupMockCryptoAssetsStore() from @ledgerhq/cryptoassets/cal-client/test-helpers instead.
|
|
112
108
|
|
|
113
109
|
function wrapAccountBridge<T extends TransactionCommon>(
|
|
114
110
|
bridge: AccountBridge<T>,
|
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
|
|
2
|
-
import {
|
|
3
|
-
import { addTokens as addTokensLegacy } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
|
|
2
|
+
import { setupMockCryptoAssetsStore } from "../test-helpers/cryptoAssetsStore";
|
|
4
3
|
import { inferCryptoCurrencyIcon } from "./cryptoIcons";
|
|
5
|
-
import { getCryptoAssetsStore } from "
|
|
4
|
+
import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
|
|
6
5
|
|
|
7
6
|
beforeAll(() => {
|
|
8
|
-
|
|
7
|
+
// Setup mock store for unit tests
|
|
8
|
+
setupMockCryptoAssetsStore({
|
|
9
|
+
findTokenById: async (id: string) => {
|
|
10
|
+
// Return a mock token for the test
|
|
11
|
+
if (id === "ethereum/erc20/usd_tether__erc20_") {
|
|
12
|
+
return {
|
|
13
|
+
type: "TokenCurrency",
|
|
14
|
+
id: "ethereum/erc20/usd_tether__erc20_",
|
|
15
|
+
contractAddress: "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
16
|
+
parentCurrency: getCryptoCurrencyById("ethereum"),
|
|
17
|
+
tokenType: "erc20",
|
|
18
|
+
name: "Tether USD",
|
|
19
|
+
ticker: "USDT",
|
|
20
|
+
delisted: false,
|
|
21
|
+
disableCountervalue: false,
|
|
22
|
+
units: [{ name: "USDT", code: "USDT", magnitude: 6 }],
|
|
23
|
+
} as any;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
},
|
|
27
|
+
});
|
|
9
28
|
});
|
|
10
29
|
|
|
11
30
|
describe("inferCryptoCurrencyIcon", () => {
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import "../__tests__/test-helpers/setup";
|
|
2
|
-
import { isCryptoCurrency
|
|
2
|
+
import { isCryptoCurrency } from "./helpers";
|
|
3
|
+
import { listCryptoCurrencies } from ".";
|
|
3
4
|
|
|
4
5
|
describe("Currencies helpers", () => {
|
|
5
|
-
test("
|
|
6
|
-
const currencies =
|
|
6
|
+
test("listCryptoCurrencies returns only crypto currencies", () => {
|
|
7
|
+
const currencies = listCryptoCurrencies();
|
|
7
8
|
|
|
8
9
|
currencies.forEach(currency => {
|
|
9
10
|
expect(isCryptoCurrency(currency)).toBeTruthy();
|
|
10
11
|
});
|
|
11
12
|
});
|
|
12
|
-
|
|
13
|
-
test("listCurrencies with includeTokens", () => {
|
|
14
|
-
const currencies = listCurrencies(true);
|
|
15
|
-
|
|
16
|
-
currencies.forEach(currency => {
|
|
17
|
-
expect(isCryptoCurrency(currency) || isTokenCurrency(currency)).toBeTruthy();
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
13
|
});
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Currency,
|
|
3
|
-
CryptoCurrency,
|
|
4
|
-
CryptoOrTokenCurrency,
|
|
5
|
-
TokenCurrency,
|
|
6
|
-
} from "@ledgerhq/types-cryptoassets";
|
|
7
|
-
import { makeRe } from "minimatch";
|
|
8
|
-
import { listTokens } from "@ledgerhq/cryptoassets";
|
|
9
|
-
import { listSupportedCurrencies } from "@ledgerhq/coin-framework/currencies/index";
|
|
1
|
+
import { Currency, CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
10
2
|
|
|
11
3
|
export function isCryptoCurrency(currency: Currency): currency is CryptoCurrency {
|
|
12
4
|
return currency.type === "CryptoCurrency";
|
|
@@ -20,39 +12,6 @@ export function isUTXOCompliant(currencyFamily: string): boolean {
|
|
|
20
12
|
return currencyFamily === "bitcoin" || currencyFamily === "cardano";
|
|
21
13
|
}
|
|
22
14
|
|
|
23
|
-
export function listCurrencies(includeTokens: boolean): CryptoOrTokenCurrency[] {
|
|
24
|
-
const currencies = listSupportedCurrencies();
|
|
25
|
-
|
|
26
|
-
if (!includeTokens) {
|
|
27
|
-
return currencies;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const allTokens = listTokens();
|
|
31
|
-
|
|
32
|
-
return [...currencies, ...allTokens];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
15
|
export type CurrencyFilters = {
|
|
36
16
|
currencies?: string[];
|
|
37
17
|
};
|
|
38
|
-
|
|
39
|
-
export function filterCurrencies(
|
|
40
|
-
currencies: CryptoOrTokenCurrency[],
|
|
41
|
-
filters: CurrencyFilters,
|
|
42
|
-
): CryptoOrTokenCurrency[] {
|
|
43
|
-
const filterCurrencyRegexes = filters.currencies
|
|
44
|
-
? filters.currencies.map(filter => makeRe(filter))
|
|
45
|
-
: null;
|
|
46
|
-
|
|
47
|
-
return currencies.filter(currency => {
|
|
48
|
-
if (
|
|
49
|
-
filterCurrencyRegexes &&
|
|
50
|
-
filterCurrencyRegexes.length &&
|
|
51
|
-
!filterCurrencyRegexes.some(regex => currency.id.match(regex))
|
|
52
|
-
) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return true;
|
|
57
|
-
});
|
|
58
|
-
}
|
package/src/currencies/index.ts
CHANGED
|
@@ -11,9 +11,6 @@ export {
|
|
|
11
11
|
findCryptoCurrencyByScheme,
|
|
12
12
|
findCryptoCurrencyByKeyword,
|
|
13
13
|
findCryptoCurrencyByTicker,
|
|
14
|
-
listTokens,
|
|
15
|
-
listTokensForCryptoCurrency,
|
|
16
|
-
listTokenTypesForCryptoCurrency,
|
|
17
14
|
getAbandonSeedAddress,
|
|
18
15
|
} from "@ledgerhq/cryptoassets";
|
|
19
16
|
export {
|
|
@@ -1,31 +1,5 @@
|
|
|
1
1
|
import { sortCurrenciesByIds } from "./sortByMarketcap";
|
|
2
|
-
import { listCryptoCurrencies, listTokens } from ".";
|
|
3
|
-
import { getBTCValues } from "@ledgerhq/live-countervalues/mock";
|
|
4
2
|
import { CURRENCIES_LIST, IDS } from "./mock";
|
|
5
|
-
import { findCryptoCurrencyByTicker, findFiatCurrencyByTicker } from "@ledgerhq/cryptoassets/index";
|
|
6
|
-
import { getCryptoAssetsStore } from "@ledgerhq/coin-framework/crypto-assets/index";
|
|
7
|
-
import { legacyCryptoAssetsStore } from "@ledgerhq/cryptoassets/legacy/legacy-store";
|
|
8
|
-
import { initializeLegacyTokens } from "@ledgerhq/cryptoassets/legacy/legacy-data";
|
|
9
|
-
import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
|
|
10
|
-
import { setup } from "../bridge/impl";
|
|
11
|
-
|
|
12
|
-
initializeLegacyTokens(addTokens);
|
|
13
|
-
setup(legacyCryptoAssetsStore);
|
|
14
|
-
|
|
15
|
-
test("sortCurrenciesByIds snapshot", async () => {
|
|
16
|
-
const list = [...listCryptoCurrencies(), ...listTokens()];
|
|
17
|
-
const ids: string[] = [];
|
|
18
|
-
for (const k in getBTCValues()) {
|
|
19
|
-
const c =
|
|
20
|
-
findCryptoCurrencyByTicker(k) ||
|
|
21
|
-
findFiatCurrencyByTicker(k) ||
|
|
22
|
-
(await getCryptoAssetsStore().findTokenById(k));
|
|
23
|
-
if (c && (c.type == "CryptoCurrency" || c.type == "TokenCurrency")) {
|
|
24
|
-
ids.push(c.id);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
expect(sortCurrenciesByIds(list, ids).map(c => c.id)[0]).toEqual("bitcoin");
|
|
28
|
-
});
|
|
29
3
|
|
|
30
4
|
test("sortCurrenciesByIds simulate staking from portfolio", () => {
|
|
31
5
|
expect(sortCurrenciesByIds(CURRENCIES_LIST, IDS).map(c => c.id)).toEqual([
|
package/src/deposit/type.ts
CHANGED
|
@@ -17,30 +17,9 @@ export type MappedAsset = {
|
|
|
17
17
|
ledgerCurrency?: CryptoOrTokenCurrency;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
export type GroupedCurrency = {
|
|
21
|
-
providerId: string;
|
|
22
|
-
currenciesByNetwork: MappedAsset[];
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export type CurrenciesByProviderId = {
|
|
26
|
-
currenciesByNetwork: CryptoOrTokenCurrency[];
|
|
27
|
-
providerId: string;
|
|
28
|
-
metaCurrencyId?: string;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export type GroupedCurrencies = {
|
|
32
|
-
currenciesByProvider: CurrenciesByProviderId[];
|
|
33
|
-
sortedCryptoCurrencies: CryptoOrTokenCurrency[];
|
|
34
|
-
};
|
|
35
|
-
|
|
36
20
|
export enum LoadingStatus {
|
|
37
21
|
Idle = "idle",
|
|
38
22
|
Pending = "pending",
|
|
39
23
|
Success = "success",
|
|
40
24
|
Error = "error",
|
|
41
25
|
}
|
|
42
|
-
|
|
43
|
-
export type LoadingBasedGroupedCurrencies = {
|
|
44
|
-
result: GroupedCurrencies;
|
|
45
|
-
loadingStatus: LoadingStatus;
|
|
46
|
-
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getDeviceHasBattery } from "@ledgerhq/device-core";
|
|
@@ -6,7 +6,9 @@ import { useBatteryStatuses } from "./useBatteryStatuses";
|
|
|
6
6
|
|
|
7
7
|
describe("useBatteryStatuses", () => {
|
|
8
8
|
it("should return an initial cancelRequest method that is callable", async () => {
|
|
9
|
-
const { result } = renderHook(() =>
|
|
9
|
+
const { result } = renderHook(() =>
|
|
10
|
+
useBatteryStatuses({ deviceName: null, statuses: [], enabled: true }),
|
|
11
|
+
);
|
|
10
12
|
expect(() => result.current.cancelRequest()).not.toThrow();
|
|
11
13
|
});
|
|
12
14
|
});
|
|
@@ -13,6 +13,7 @@ export type UseBatteryStatusesArgs = {
|
|
|
13
13
|
deviceId?: string;
|
|
14
14
|
deviceName: string | null;
|
|
15
15
|
statuses: BatteryStatusTypes[];
|
|
16
|
+
enabled: boolean;
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -31,6 +32,7 @@ export const useBatteryStatuses = ({
|
|
|
31
32
|
deviceId,
|
|
32
33
|
deviceName,
|
|
33
34
|
statuses,
|
|
35
|
+
enabled,
|
|
34
36
|
}: UseBatteryStatusesArgs): {
|
|
35
37
|
batteryStatusesState: GetBatteryStatusesActionState;
|
|
36
38
|
requestCompleted: boolean;
|
|
@@ -52,6 +54,7 @@ export const useBatteryStatuses = ({
|
|
|
52
54
|
const lowBatteryPercentage = useEnv("LOW_BATTERY_PERCENTAGE");
|
|
53
55
|
|
|
54
56
|
useEffect(() => {
|
|
57
|
+
if (!enabled) return;
|
|
55
58
|
if (nonce > 0 && deviceId) {
|
|
56
59
|
const sub = getBatteryStatusesAction({
|
|
57
60
|
deviceId,
|
|
@@ -90,7 +93,7 @@ export const useBatteryStatuses = ({
|
|
|
90
93
|
sub.unsubscribe();
|
|
91
94
|
};
|
|
92
95
|
}
|
|
93
|
-
}, [deviceId, deviceName, lowBatteryPercentage, statuses, nonce]);
|
|
96
|
+
}, [deviceId, deviceName, lowBatteryPercentage, statuses, nonce, enabled]);
|
|
94
97
|
|
|
95
98
|
const triggerRequest = useCallback(() => {
|
|
96
99
|
setRequestCompleted(false);
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { of, throwError } from "rxjs";
|
|
2
2
|
import { retryOnErrorsCommandWrapper, sharedLogicTaskWrapper } from "./core";
|
|
3
3
|
import { DisconnectedDevice, LockedDeviceError } from "@ledgerhq/errors";
|
|
4
|
+
import { DeviceBusyError } from "@ledgerhq/device-management-kit";
|
|
4
5
|
import { concatMap } from "rxjs/operators";
|
|
5
6
|
import { TransportRef } from "../transports/core";
|
|
6
7
|
import { aTransportRefBuilder } from "../mocks/aTransportRef";
|
|
8
|
+
import { isDmkError } from "./core";
|
|
7
9
|
|
|
8
10
|
// Needs to mock the timer from rxjs used in the retry mechanism
|
|
9
11
|
jest.mock("rxjs", () => {
|
|
@@ -330,4 +332,22 @@ describe("retryOnErrorsCommandWrapper", () => {
|
|
|
330
332
|
});
|
|
331
333
|
});
|
|
332
334
|
});
|
|
335
|
+
|
|
336
|
+
describe("isDmkError (deviceSDK/tasks/core)", () => {
|
|
337
|
+
it("returns true for a DMK error instance", () => {
|
|
338
|
+
expect(isDmkError(new DeviceBusyError())).toBe(true);
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
it("returns false for a regular Error instance", () => {
|
|
342
|
+
expect(isDmkError(new Error("error"))).toBe(false);
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
it("returns false for a string error (e.g. 'Invalid extension provided')", () => {
|
|
346
|
+
expect(isDmkError("Invalid extension provided")).toBe(false);
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
it("returns false for undefined", () => {
|
|
350
|
+
expect(isDmkError(undefined)).toBe(false);
|
|
351
|
+
});
|
|
352
|
+
});
|
|
333
353
|
});
|
|
@@ -79,7 +79,8 @@ type ErrorClass = CustomErrorClassType | TransportStatusErrorClassType;
|
|
|
79
79
|
// To be able to retry a command, the command needs to take an object containing a transport as its argument
|
|
80
80
|
type CommandTransportArgs = { transport: Transport };
|
|
81
81
|
|
|
82
|
-
export const isDmkError = (error:
|
|
82
|
+
export const isDmkError = (error: unknown): error is DmkError =>
|
|
83
|
+
!!error && typeof error === "object" && error !== null && "_tag" in error;
|
|
83
84
|
|
|
84
85
|
/**
|
|
85
86
|
* Calls a command and retries it on given errors. The transport is refreshed before each retry.
|
|
@@ -11,6 +11,7 @@ import { map, switchMap } from "rxjs/operators";
|
|
|
11
11
|
import { SharedTaskEvent, retryOnErrorsCommandWrapper, sharedLogicTaskWrapper } from "./core";
|
|
12
12
|
import { quitApp } from "../commands/quitApp";
|
|
13
13
|
import { withTransport } from "../transports/core";
|
|
14
|
+
import { SendApduEmptyResponseError } from "@ledgerhq/device-management-kit";
|
|
14
15
|
|
|
15
16
|
const ManagerAllowedFlag = 0x08;
|
|
16
17
|
const PinValidatedFlag = 0x80;
|
|
@@ -46,6 +47,7 @@ export function internalGetDeviceInfoTask({
|
|
|
46
47
|
return retryOnErrorsCommandWrapper({
|
|
47
48
|
command: getVersion,
|
|
48
49
|
allowedErrors: [{ maxRetries: 3, errorClass: DisconnectedDevice }],
|
|
50
|
+
allowedDmkErrors: [new SendApduEmptyResponseError()],
|
|
49
51
|
})(transportRef, {});
|
|
50
52
|
}),
|
|
51
53
|
map(value => {
|
|
@@ -2,11 +2,11 @@ import type { DeviceId, DeviceInfo, FirmwareUpdateContext } from "@ledgerhq/type
|
|
|
2
2
|
|
|
3
3
|
import { quitApp } from "../commands/quitApp";
|
|
4
4
|
|
|
5
|
-
import { withDevice } from "../../hw/deviceAccess";
|
|
6
5
|
import { from, Observable, of } from "rxjs";
|
|
7
6
|
import { switchMap, catchError } from "rxjs/operators";
|
|
8
7
|
import { SharedTaskEvent, sharedLogicTaskWrapper } from "./core";
|
|
9
8
|
import { getLatestFirmwareForDeviceUseCase } from "../../device/use-cases/getLatestFirmwareForDeviceUseCase";
|
|
9
|
+
import { withTransport } from "../transports/core";
|
|
10
10
|
|
|
11
11
|
export type GetLatestFirmwareTaskArgs = {
|
|
12
12
|
deviceId: DeviceId;
|
|
@@ -32,11 +32,11 @@ function internalGetLatestFirmwareTask({
|
|
|
32
32
|
deviceInfo,
|
|
33
33
|
}: GetLatestFirmwareTaskArgs): Observable<GetLatestFirmwareTaskEvent> {
|
|
34
34
|
return new Observable(subscriber => {
|
|
35
|
-
return
|
|
35
|
+
return withTransport(
|
|
36
36
|
deviceId,
|
|
37
37
|
deviceName ? { matchDeviceByName: deviceName } : undefined,
|
|
38
|
-
)(
|
|
39
|
-
quitApp(
|
|
38
|
+
)(({ transportRef }) =>
|
|
39
|
+
quitApp(transportRef.current).pipe(
|
|
40
40
|
switchMap(() => {
|
|
41
41
|
return from(getLatestFirmwareForDeviceUseCase(deviceInfo));
|
|
42
42
|
}),
|
|
@@ -36,6 +36,7 @@ import { parseDeviceInfo } from "./getDeviceInfo";
|
|
|
36
36
|
import {
|
|
37
37
|
DeviceDisconnectedBeforeSendingApdu,
|
|
38
38
|
DeviceDisconnectedWhileSendingError,
|
|
39
|
+
SendApduEmptyResponseError,
|
|
39
40
|
} from "@ledgerhq/device-management-kit";
|
|
40
41
|
|
|
41
42
|
export type UpdateFirmwareTaskArgs = {
|
|
@@ -79,6 +80,7 @@ const waitForGetVersion = retryOnErrorsCommandWrapper({
|
|
|
79
80
|
allowedDmkErrors: [
|
|
80
81
|
new DeviceDisconnectedWhileSendingError(),
|
|
81
82
|
new DeviceDisconnectedBeforeSendingApdu(),
|
|
83
|
+
new SendApduEmptyResponseError(),
|
|
82
84
|
],
|
|
83
85
|
});
|
|
84
86
|
|
|
@@ -1,18 +1,47 @@
|
|
|
1
1
|
import { genAccount } from "@ledgerhq/coin-framework/lib/mocks/account";
|
|
2
2
|
import { getCryptoCurrencyById } from "../currencies/index";
|
|
3
3
|
import { Account } from "@ledgerhq/types-live";
|
|
4
|
+
import type { TokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
4
5
|
import BigNumber from "bignumber.js";
|
|
5
6
|
import { getTokensWithFunds } from "./getTokensWithFunds";
|
|
6
|
-
import {
|
|
7
|
-
import { addTokens } from "@ledgerhq/cryptoassets/legacy/legacy-utils";
|
|
7
|
+
import { setupMockCryptoAssetsStore } from "@ledgerhq/cryptoassets/cal-client/test-helpers";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// Setup mock store for unit tests
|
|
10
|
+
setupMockCryptoAssetsStore();
|
|
10
11
|
|
|
11
12
|
const ETH = getCryptoCurrencyById("ethereum");
|
|
12
13
|
|
|
14
|
+
// Create mock tokens for tests
|
|
15
|
+
const ZRX_TOKEN: TokenCurrency = {
|
|
16
|
+
type: "TokenCurrency",
|
|
17
|
+
id: "ethereum/erc20/0x_project",
|
|
18
|
+
contractAddress: "0xE41d2489571d322189246DaFA5ebDe1F4699F498",
|
|
19
|
+
parentCurrency: ETH,
|
|
20
|
+
tokenType: "erc20",
|
|
21
|
+
name: "0x Project",
|
|
22
|
+
ticker: "ZRX",
|
|
23
|
+
delisted: false,
|
|
24
|
+
disableCountervalue: false,
|
|
25
|
+
units: [{ name: "ZRX", code: "ZRX", magnitude: 18 }],
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const REP_TOKEN: TokenCurrency = {
|
|
29
|
+
type: "TokenCurrency",
|
|
30
|
+
id: "ethereum/erc20/augur",
|
|
31
|
+
contractAddress: "0x1985365e9f78359a9B6AD760e32412f4a445E862",
|
|
32
|
+
parentCurrency: ETH,
|
|
33
|
+
tokenType: "erc20",
|
|
34
|
+
name: "Augur",
|
|
35
|
+
ticker: "REP",
|
|
36
|
+
delisted: false,
|
|
37
|
+
disableCountervalue: false,
|
|
38
|
+
units: [{ name: "REP", code: "REP", magnitude: 18 }],
|
|
39
|
+
};
|
|
40
|
+
|
|
13
41
|
const mockedAccounts: Account[] = [
|
|
14
42
|
genAccount("mocked-account-2", {
|
|
15
43
|
currency: ETH,
|
|
44
|
+
tokensData: [ZRX_TOKEN, REP_TOKEN],
|
|
16
45
|
}),
|
|
17
46
|
];
|
|
18
47
|
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { getEnv } from "@ledgerhq/live-env";
|
|
2
|
+
import { getSpeculosAddress } from "../speculos";
|
|
3
|
+
import {
|
|
4
|
+
deviceControllerClientFactory,
|
|
5
|
+
type DeviceControllerClient,
|
|
6
|
+
type ButtonKey,
|
|
7
|
+
} from "@ledgerhq/speculos-device-controller";
|
|
8
|
+
|
|
9
|
+
// temp type until DeviceControllerClient exposes buttonFactory type
|
|
10
|
+
type ButtonsController = {
|
|
11
|
+
left(): Promise<void>;
|
|
12
|
+
right(): Promise<void>;
|
|
13
|
+
both(): Promise<void>;
|
|
14
|
+
pressSequence(keys: ButtonKey[], delayMs?: number): Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
type DeviceControllerContext = {
|
|
18
|
+
getDeviceController: () => DeviceControllerClient;
|
|
19
|
+
getButtonsController: () => ButtonsController;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const endpointKey = () => `${getSpeculosAddress()}:${getEnv("SPECULOS_API_PORT")}`;
|
|
23
|
+
|
|
24
|
+
export const getDeviceControllerWithMemo = (() => {
|
|
25
|
+
let cache: { key: string; client: DeviceControllerClient } | null = null;
|
|
26
|
+
return () => {
|
|
27
|
+
const key = endpointKey();
|
|
28
|
+
if (!cache || cache.key !== key) {
|
|
29
|
+
cache = {
|
|
30
|
+
key,
|
|
31
|
+
client: deviceControllerClientFactory(key, {
|
|
32
|
+
timeoutMs: 10000,
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return cache.client;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
|
|
40
|
+
export const getButtonsWithMemo = (getController: () => DeviceControllerClient) => {
|
|
41
|
+
let cache: { ctrl: DeviceControllerClient; buttons: ButtonsController } | null = null;
|
|
42
|
+
return () => {
|
|
43
|
+
const ctrl = getController();
|
|
44
|
+
if (!cache || cache.ctrl !== ctrl) {
|
|
45
|
+
cache = { ctrl, buttons: ctrl.buttonFactory() };
|
|
46
|
+
}
|
|
47
|
+
return cache.buttons;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Wraps a function with access to speculos-device-controller via a tiny DI context.
|
|
53
|
+
*
|
|
54
|
+
* @description
|
|
55
|
+
* Pass a factory that receives a context exposing `getDeviceController()` and `getButtonsController()`.
|
|
56
|
+
* The factory returns the actual implementation. The returned wrapper preserves the implementation’s
|
|
57
|
+
* parameter and return types.
|
|
58
|
+
*
|
|
59
|
+
* Both accessors are lazy, they get or refresh the underlying controller only when called.
|
|
60
|
+
*
|
|
61
|
+
* @param factory - Function invoked immediately with the device context, must return the implementation.
|
|
62
|
+
* @returns A function with the same parameters and return type as the implementation returned by `factory`.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const accept = withDeviceController(({ getButtonsController }) => async (timeoutMS: number) => {
|
|
67
|
+
* const buttons = getButtonsController();
|
|
68
|
+
* await waitFor(timeoutMS);
|
|
69
|
+
* await buttons.both();
|
|
70
|
+
* });
|
|
71
|
+
*
|
|
72
|
+
* await accept(1000);
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
*/
|
|
76
|
+
export function withDeviceController<A extends unknown[], R>(
|
|
77
|
+
factory: (ctx: DeviceControllerContext) => (...args: A) => R | Promise<R>,
|
|
78
|
+
): (...args: A) => R | Promise<R> {
|
|
79
|
+
const ctx: DeviceControllerContext = {
|
|
80
|
+
getDeviceController: getDeviceControllerWithMemo,
|
|
81
|
+
getButtonsController: getButtonsWithMemo(getDeviceControllerWithMemo),
|
|
82
|
+
};
|
|
83
|
+
const implementation = factory(ctx);
|
|
84
|
+
return (...args: A) => implementation(...args);
|
|
85
|
+
}
|
package/src/e2e/enum/Account.ts
CHANGED
|
@@ -108,12 +108,6 @@ export class Account {
|
|
|
108
108
|
"0xa1baa625c5E6A9304cB7AcD86d2fee6B710eC3eB",
|
|
109
109
|
1,
|
|
110
110
|
);
|
|
111
|
-
static readonly BSC_SHIBA = new Account(
|
|
112
|
-
Currency.BSC_SHIBA,
|
|
113
|
-
"BNB Chain 1",
|
|
114
|
-
"0x4BE2E2B8872AA298D6d123b9211B53E41f611566",
|
|
115
|
-
0,
|
|
116
|
-
);
|
|
117
111
|
|
|
118
112
|
static readonly BTC_LEGACY_1 = new Account(
|
|
119
113
|
Currency.BTC,
|
package/src/e2e/enum/Currency.ts
CHANGED
|
@@ -72,7 +72,7 @@ export class Currency {
|
|
|
72
72
|
);
|
|
73
73
|
static readonly SOL = new Currency("Solana", "SOL", "solana", AppInfos.SOLANA, [Network.SOLANA]);
|
|
74
74
|
|
|
75
|
-
static readonly DOT = new Currency("Polkadot", "DOT", "
|
|
75
|
+
static readonly DOT = new Currency("Polkadot", "DOT", "assethub_polkadot", AppInfos.POLKADOT, [
|
|
76
76
|
Network.POLKADOT,
|
|
77
77
|
]);
|
|
78
78
|
static readonly TRX = new Currency("Tron", "TRX", "tron", AppInfos.TRON, [Network.TRON]);
|
|
@@ -156,10 +156,6 @@ export class Currency {
|
|
|
156
156
|
AppInfos.BNB_CHAIN,
|
|
157
157
|
[Network.BNB_CHAIN, Network.POLYGON],
|
|
158
158
|
);
|
|
159
|
-
static readonly BSC_SHIBA = new Currency("Shiba Inu", "SHIB", "bsc", AppInfos.BNB_CHAIN, [
|
|
160
|
-
Network.BNB_CHAIN,
|
|
161
|
-
Network.ETHEREUM,
|
|
162
|
-
]);
|
|
163
159
|
static readonly POL_DAI = new Currency(
|
|
164
160
|
"(PoS) Dai Stablecoin",
|
|
165
161
|
"DAI",
|
|
@@ -204,7 +200,7 @@ export class Currency {
|
|
|
204
200
|
static readonly SUI = new Currency("Sui", "SUI", "sui", AppInfos.SUI, [Network.SUI]);
|
|
205
201
|
|
|
206
202
|
static readonly SUI_USDC = new Currency(
|
|
207
|
-
"
|
|
203
|
+
"USD Coin",
|
|
208
204
|
"USDC",
|
|
209
205
|
"sui/coin/usdc_0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::usdc",
|
|
210
206
|
AppInfos.SUI,
|
|
@@ -2,19 +2,26 @@ import expect from "expect";
|
|
|
2
2
|
import { Transaction } from "../models/Transaction";
|
|
3
3
|
import { containsSubstringInEvent, getSendEvents } from "../speculos";
|
|
4
4
|
import { isTouchDevice } from "../speculosAppVersion";
|
|
5
|
-
import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
|
|
6
5
|
import { DeviceLabels } from "../enum/DeviceLabels";
|
|
7
6
|
import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
|
|
7
|
+
import { withDeviceController } from "../deviceInteraction/DeviceController";
|
|
8
8
|
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
export const sendAlgorand = withDeviceController(
|
|
10
|
+
({ getButtonsController }) =>
|
|
11
|
+
async (tx: Transaction) => {
|
|
12
|
+
const buttons = getButtonsController();
|
|
13
|
+
|
|
14
|
+
const events = await getSendEvents(tx);
|
|
15
|
+
const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
|
|
16
|
+
expect(isAmountCorrect).toBeTruthy();
|
|
17
|
+
|
|
18
|
+
const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
|
|
19
|
+
expect(isAddressCorrect).toBeTruthy();
|
|
20
|
+
|
|
21
|
+
if (isTouchDevice()) {
|
|
22
|
+
await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
|
|
23
|
+
} else {
|
|
24
|
+
await buttons.both();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
);
|