@ledgerhq/live-common 34.53.0-nightly.20251114023758 → 34.53.0-nightly.20251118023800
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/environment.js +2 -0
- package/lib/__tests__/test-helpers/environment.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/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/deviceSDK/actions/getBatteryStatuses.d.ts +2 -1
- package/lib/deviceSDK/actions/getBatteryStatuses.d.ts.map +1 -1
- package/lib/deviceSDK/actions/getBatteryStatuses.js +2 -2
- package/lib/deviceSDK/actions/getBatteryStatuses.js.map +1 -1
- package/lib/deviceSDK/actions/getDeviceInfo.d.ts +2 -1
- package/lib/deviceSDK/actions/getDeviceInfo.d.ts.map +1 -1
- package/lib/deviceSDK/actions/getDeviceInfo.js +2 -2
- package/lib/deviceSDK/actions/getDeviceInfo.js.map +1 -1
- package/lib/deviceSDK/actions/getLatestAvailableFirmware.d.ts +2 -1
- package/lib/deviceSDK/actions/getLatestAvailableFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/actions/getLatestAvailableFirmware.js +6 -3
- package/lib/deviceSDK/actions/getLatestAvailableFirmware.js.map +1 -1
- package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts +2 -1
- package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts.map +1 -1
- package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.js +2 -2
- package/lib/deviceSDK/actions/toggleOnboardingEarlyCheck.js.map +1 -1
- package/lib/deviceSDK/actions/updateFirmware.d.ts +2 -1
- package/lib/deviceSDK/actions/updateFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/actions/updateFirmware.js +4 -3
- package/lib/deviceSDK/actions/updateFirmware.js.map +1 -1
- 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 +3 -2
- package/lib/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
- package/lib/deviceSDK/hooks/useGetDeviceInfo.d.ts +2 -1
- package/lib/deviceSDK/hooks/useGetDeviceInfo.d.ts.map +1 -1
- package/lib/deviceSDK/hooks/useGetDeviceInfo.js +3 -3
- package/lib/deviceSDK/hooks/useGetDeviceInfo.js.map +1 -1
- package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts +2 -1
- package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.js +2 -1
- package/lib/deviceSDK/hooks/useGetLatestAvailableFirmware.js.map +1 -1
- package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts +2 -1
- package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts.map +1 -1
- package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js +3 -2
- package/lib/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js.map +1 -1
- package/lib/deviceSDK/hooks/useUpdateFirmware.d.ts +2 -1
- package/lib/deviceSDK/hooks/useUpdateFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/hooks/useUpdateFirmware.js +3 -2
- package/lib/deviceSDK/hooks/useUpdateFirmware.js.map +1 -1
- package/lib/deviceSDK/tasks/getBatteryStatuses.d.ts +1 -0
- package/lib/deviceSDK/tasks/getBatteryStatuses.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/getBatteryStatuses.js +2 -2
- package/lib/deviceSDK/tasks/getBatteryStatuses.js.map +1 -1
- package/lib/deviceSDK/tasks/getDeviceInfo.d.ts +2 -1
- package/lib/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/getDeviceInfo.js +2 -2
- package/lib/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
- package/lib/deviceSDK/tasks/getLatestFirmware.d.ts +1 -0
- 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/toggleOnboardingEarlyCheck.d.ts +1 -0
- package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.js +2 -2
- package/lib/deviceSDK/tasks/toggleOnboardingEarlyCheck.js.map +1 -1
- package/lib/deviceSDK/tasks/updateFirmware.d.ts +1 -0
- package/lib/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
- package/lib/deviceSDK/tasks/updateFirmware.js +2 -2
- package/lib/deviceSDK/tasks/updateFirmware.js.map +1 -1
- package/lib/deviceSDK/transports/core.d.ts +1 -0
- package/lib/deviceSDK/transports/core.d.ts.map +1 -1
- package/lib/deviceSDK/transports/core.js +2 -2
- package/lib/deviceSDK/transports/core.js.map +1 -1
- package/lib/e2e/index.d.ts +6 -0
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/families/evm/config.d.ts.map +1 -1
- package/lib/families/evm/config.js +33 -0
- package/lib/families/evm/config.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.d.ts +2 -0
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +2 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/hw/actions/app.d.ts.map +1 -1
- package/lib/hw/actions/app.js +2 -1
- package/lib/hw/actions/app.js.map +1 -1
- package/lib/hw/actions/customLockScreenLoad.d.ts +1 -1
- package/lib/hw/actions/customLockScreenLoad.d.ts.map +1 -1
- package/lib/hw/actions/customLockScreenLoad.js +2 -0
- package/lib/hw/actions/customLockScreenLoad.js.map +1 -1
- package/lib/hw/actions/implementations.d.ts +1 -0
- package/lib/hw/actions/implementations.d.ts.map +1 -1
- package/lib/hw/actions/implementations.js +12 -2
- package/lib/hw/actions/implementations.js.map +1 -1
- package/lib/hw/connectApp.d.ts +2 -1
- package/lib/hw/connectApp.d.ts.map +1 -1
- package/lib/hw/connectApp.js +4 -4
- package/lib/hw/connectApp.js.map +1 -1
- package/lib/hw/connectManager.d.ts +2 -1
- package/lib/hw/connectManager.d.ts.map +1 -1
- package/lib/hw/connectManager.js +4 -4
- package/lib/hw/connectManager.js.map +1 -1
- package/lib/hw/customLockScreenFetch.d.ts +2 -1
- package/lib/hw/customLockScreenFetch.d.ts.map +1 -1
- package/lib/hw/customLockScreenFetch.js +2 -2
- package/lib/hw/customLockScreenFetch.js.map +1 -1
- package/lib/hw/customLockScreenLoad.d.ts +2 -1
- package/lib/hw/customLockScreenLoad.d.ts.map +1 -1
- package/lib/hw/customLockScreenLoad.js +2 -2
- package/lib/hw/customLockScreenLoad.js.map +1 -1
- package/lib/hw/deviceAccess.d.ts +3 -3
- package/lib/hw/deviceAccess.d.ts.map +1 -1
- package/lib/hw/deviceAccess.js +2 -1
- package/lib/hw/deviceAccess.js.map +1 -1
- package/lib/hw/getGenuineCheckFromDeviceId.d.ts +2 -1
- package/lib/hw/getGenuineCheckFromDeviceId.d.ts.map +1 -1
- package/lib/hw/getGenuineCheckFromDeviceId.js +2 -2
- package/lib/hw/getGenuineCheckFromDeviceId.js.map +1 -1
- package/lib/hw/getOnboardingStatePolling.d.ts +2 -1
- package/lib/hw/getOnboardingStatePolling.d.ts.map +1 -1
- package/lib/hw/getOnboardingStatePolling.js +5 -2
- package/lib/hw/getOnboardingStatePolling.js.map +1 -1
- package/lib/hw/hooks/useGenuineCheck.d.ts +2 -1
- package/lib/hw/hooks/useGenuineCheck.d.ts.map +1 -1
- package/lib/hw/hooks/useGenuineCheck.js +3 -1
- package/lib/hw/hooks/useGenuineCheck.js.map +1 -1
- package/lib/hw/index.d.ts +6 -2
- package/lib/hw/index.d.ts.map +1 -1
- package/lib/hw/index.js +6 -6
- package/lib/hw/index.js.map +1 -1
- package/lib/hw/installLanguage.d.ts +2 -1
- package/lib/hw/installLanguage.d.ts.map +1 -1
- package/lib/hw/installLanguage.js +2 -2
- package/lib/hw/installLanguage.js.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +8 -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/type.d.ts +0 -5
- package/lib/modularDrawer/utils/type.d.ts.map +1 -1
- package/lib/onboarding/hooks/useOnboardingStatePolling.d.ts.map +1 -1
- package/lib/onboarding/hooks/useOnboardingStatePolling.js +1 -0
- package/lib/onboarding/hooks/useOnboardingStatePolling.js.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/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/Exchange/server.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/server.js +5 -4
- 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/react.d.ts +6 -11
- package/lib/wallet-api/react.d.ts.map +1 -1
- package/lib/wallet-api/react.js +291 -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/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-es/__tests__/test-helpers/environment.js +2 -0
- package/lib-es/__tests__/test-helpers/environment.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/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/deviceSDK/actions/getBatteryStatuses.d.ts +2 -1
- package/lib-es/deviceSDK/actions/getBatteryStatuses.d.ts.map +1 -1
- package/lib-es/deviceSDK/actions/getBatteryStatuses.js +2 -2
- package/lib-es/deviceSDK/actions/getBatteryStatuses.js.map +1 -1
- package/lib-es/deviceSDK/actions/getDeviceInfo.d.ts +2 -1
- package/lib-es/deviceSDK/actions/getDeviceInfo.d.ts.map +1 -1
- package/lib-es/deviceSDK/actions/getDeviceInfo.js +2 -2
- package/lib-es/deviceSDK/actions/getDeviceInfo.js.map +1 -1
- package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.d.ts +2 -1
- package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.js +6 -3
- package/lib-es/deviceSDK/actions/getLatestAvailableFirmware.js.map +1 -1
- package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts +2 -1
- package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.d.ts.map +1 -1
- package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.js +2 -2
- package/lib-es/deviceSDK/actions/toggleOnboardingEarlyCheck.js.map +1 -1
- package/lib-es/deviceSDK/actions/updateFirmware.d.ts +2 -1
- package/lib-es/deviceSDK/actions/updateFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/actions/updateFirmware.js +4 -3
- package/lib-es/deviceSDK/actions/updateFirmware.js.map +1 -1
- 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 +3 -2
- package/lib-es/deviceSDK/hooks/useBatteryStatuses.js.map +1 -1
- package/lib-es/deviceSDK/hooks/useGetDeviceInfo.d.ts +2 -1
- package/lib-es/deviceSDK/hooks/useGetDeviceInfo.d.ts.map +1 -1
- package/lib-es/deviceSDK/hooks/useGetDeviceInfo.js +3 -3
- package/lib-es/deviceSDK/hooks/useGetDeviceInfo.js.map +1 -1
- package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts +2 -1
- package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.js +2 -1
- package/lib-es/deviceSDK/hooks/useGetLatestAvailableFirmware.js.map +1 -1
- package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts +2 -1
- package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.d.ts.map +1 -1
- package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js +3 -2
- package/lib-es/deviceSDK/hooks/useToggleOnboardingEarlyChecks.js.map +1 -1
- package/lib-es/deviceSDK/hooks/useUpdateFirmware.d.ts +2 -1
- package/lib-es/deviceSDK/hooks/useUpdateFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/hooks/useUpdateFirmware.js +3 -2
- package/lib-es/deviceSDK/hooks/useUpdateFirmware.js.map +1 -1
- package/lib-es/deviceSDK/tasks/getBatteryStatuses.d.ts +1 -0
- package/lib-es/deviceSDK/tasks/getBatteryStatuses.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/getBatteryStatuses.js +2 -2
- package/lib-es/deviceSDK/tasks/getBatteryStatuses.js.map +1 -1
- package/lib-es/deviceSDK/tasks/getDeviceInfo.d.ts +2 -1
- package/lib-es/deviceSDK/tasks/getDeviceInfo.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/getDeviceInfo.js +2 -2
- package/lib-es/deviceSDK/tasks/getDeviceInfo.js.map +1 -1
- package/lib-es/deviceSDK/tasks/getLatestFirmware.d.ts +1 -0
- 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/toggleOnboardingEarlyCheck.d.ts +1 -0
- package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.js +2 -2
- package/lib-es/deviceSDK/tasks/toggleOnboardingEarlyCheck.js.map +1 -1
- package/lib-es/deviceSDK/tasks/updateFirmware.d.ts +1 -0
- package/lib-es/deviceSDK/tasks/updateFirmware.d.ts.map +1 -1
- package/lib-es/deviceSDK/tasks/updateFirmware.js +2 -2
- package/lib-es/deviceSDK/tasks/updateFirmware.js.map +1 -1
- package/lib-es/deviceSDK/transports/core.d.ts +1 -0
- package/lib-es/deviceSDK/transports/core.d.ts.map +1 -1
- package/lib-es/deviceSDK/transports/core.js +2 -2
- package/lib-es/deviceSDK/transports/core.js.map +1 -1
- package/lib-es/e2e/index.d.ts +6 -0
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/families/evm/config.d.ts.map +1 -1
- package/lib-es/families/evm/config.js +33 -0
- package/lib-es/families/evm/config.js.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.d.ts +2 -0
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +2 -0
- package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
- package/lib-es/hw/actions/app.d.ts.map +1 -1
- package/lib-es/hw/actions/app.js +2 -1
- package/lib-es/hw/actions/app.js.map +1 -1
- package/lib-es/hw/actions/customLockScreenLoad.d.ts +1 -1
- package/lib-es/hw/actions/customLockScreenLoad.d.ts.map +1 -1
- package/lib-es/hw/actions/customLockScreenLoad.js +2 -0
- package/lib-es/hw/actions/customLockScreenLoad.js.map +1 -1
- package/lib-es/hw/actions/implementations.d.ts +1 -0
- package/lib-es/hw/actions/implementations.d.ts.map +1 -1
- package/lib-es/hw/actions/implementations.js +12 -2
- package/lib-es/hw/actions/implementations.js.map +1 -1
- package/lib-es/hw/connectApp.d.ts +2 -1
- package/lib-es/hw/connectApp.d.ts.map +1 -1
- package/lib-es/hw/connectApp.js +4 -4
- package/lib-es/hw/connectApp.js.map +1 -1
- package/lib-es/hw/connectManager.d.ts +2 -1
- package/lib-es/hw/connectManager.d.ts.map +1 -1
- package/lib-es/hw/connectManager.js +4 -4
- package/lib-es/hw/connectManager.js.map +1 -1
- package/lib-es/hw/customLockScreenFetch.d.ts +2 -1
- package/lib-es/hw/customLockScreenFetch.d.ts.map +1 -1
- package/lib-es/hw/customLockScreenFetch.js +2 -2
- package/lib-es/hw/customLockScreenFetch.js.map +1 -1
- package/lib-es/hw/customLockScreenLoad.d.ts +2 -1
- package/lib-es/hw/customLockScreenLoad.d.ts.map +1 -1
- package/lib-es/hw/customLockScreenLoad.js +2 -2
- package/lib-es/hw/customLockScreenLoad.js.map +1 -1
- package/lib-es/hw/deviceAccess.d.ts +3 -3
- package/lib-es/hw/deviceAccess.d.ts.map +1 -1
- package/lib-es/hw/deviceAccess.js +2 -1
- package/lib-es/hw/deviceAccess.js.map +1 -1
- package/lib-es/hw/getGenuineCheckFromDeviceId.d.ts +2 -1
- package/lib-es/hw/getGenuineCheckFromDeviceId.d.ts.map +1 -1
- package/lib-es/hw/getGenuineCheckFromDeviceId.js +2 -2
- package/lib-es/hw/getGenuineCheckFromDeviceId.js.map +1 -1
- package/lib-es/hw/getOnboardingStatePolling.d.ts +2 -1
- package/lib-es/hw/getOnboardingStatePolling.d.ts.map +1 -1
- package/lib-es/hw/getOnboardingStatePolling.js +5 -2
- package/lib-es/hw/getOnboardingStatePolling.js.map +1 -1
- package/lib-es/hw/hooks/useGenuineCheck.d.ts +2 -1
- package/lib-es/hw/hooks/useGenuineCheck.d.ts.map +1 -1
- package/lib-es/hw/hooks/useGenuineCheck.js +3 -1
- package/lib-es/hw/hooks/useGenuineCheck.js.map +1 -1
- package/lib-es/hw/index.d.ts +6 -2
- package/lib-es/hw/index.d.ts.map +1 -1
- package/lib-es/hw/index.js +6 -6
- package/lib-es/hw/index.js.map +1 -1
- package/lib-es/hw/installLanguage.d.ts +2 -1
- package/lib-es/hw/installLanguage.d.ts.map +1 -1
- package/lib-es/hw/installLanguage.js +2 -2
- package/lib-es/hw/installLanguage.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +8 -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/type.d.ts +0 -5
- package/lib-es/modularDrawer/utils/type.d.ts.map +1 -1
- package/lib-es/onboarding/hooks/useOnboardingStatePolling.d.ts.map +1 -1
- package/lib-es/onboarding/hooks/useOnboardingStatePolling.js +1 -0
- package/lib-es/onboarding/hooks/useOnboardingStatePolling.js.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/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/Exchange/server.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/server.js +5 -4
- 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/react.d.ts +6 -11
- package/lib-es/wallet-api/react.d.ts.map +1 -1
- package/lib-es/wallet-api/react.js +289 -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/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/package.json +59 -59
- package/src/__tests__/migration/account-migration.ts +2 -0
- package/src/__tests__/test-helpers/environment.ts +2 -0
- package/src/currencies/helpers.ts +1 -42
- package/src/dada-client/hooks/useAssetsData.ts +1 -0
- package/src/deviceSDK/actions/getBatteryStatuses.ts +3 -1
- package/src/deviceSDK/actions/getDeviceInfo.ts +3 -2
- package/src/deviceSDK/actions/getLatestAvailableFirmware.test.ts +31 -0
- package/src/deviceSDK/actions/getLatestAvailableFirmware.ts +7 -2
- package/src/deviceSDK/actions/toggleOnboardingEarlyCheck.ts +3 -1
- package/src/deviceSDK/actions/updateFirmware.ts +5 -2
- package/src/deviceSDK/hooks/useBatteryStatuses.test.ts +3 -1
- package/src/deviceSDK/hooks/useBatteryStatuses.ts +4 -1
- package/src/deviceSDK/hooks/useGetDeviceInfo.ts +4 -2
- package/src/deviceSDK/hooks/useGetLatestAvailableFirmware.ts +3 -0
- package/src/deviceSDK/hooks/useToggleOnboardingEarlyChecks.test.ts +2 -0
- package/src/deviceSDK/hooks/useToggleOnboardingEarlyChecks.ts +4 -1
- package/src/deviceSDK/hooks/useUpdateFirmware.ts +4 -1
- package/src/deviceSDK/tasks/getBatteryStatuses.ts +6 -1
- package/src/deviceSDK/tasks/getDeviceInfo.ts +6 -2
- package/src/deviceSDK/tasks/getLatestFirmware.ts +6 -1
- package/src/deviceSDK/tasks/toggleOnboardingEarlyCheck.test.ts +3 -0
- package/src/deviceSDK/tasks/toggleOnboardingEarlyCheck.ts +6 -1
- package/src/deviceSDK/tasks/updateFirmware.ts +6 -1
- package/src/deviceSDK/transports/core.ts +6 -3
- package/src/families/evm/config.ts +33 -0
- package/src/featureFlags/defaultFeatures.ts +2 -0
- package/src/hw/actions/app.ts +2 -1
- package/src/hw/actions/customLockScreenLoad.ts +6 -2
- package/src/hw/actions/implementations.ts +17 -3
- package/src/hw/connectApp.ts +12 -5
- package/src/hw/connectManager.ts +13 -6
- package/src/hw/customLockScreenFetch.ts +10 -2
- package/src/hw/customLockScreenLoad.test.ts +28 -3
- package/src/hw/customLockScreenLoad.ts +10 -2
- package/src/hw/deviceAccess.ts +4 -3
- package/src/hw/getGenuineCheckFromDeviceId.test.ts +4 -0
- package/src/hw/getGenuineCheckFromDeviceId.ts +6 -1
- package/src/hw/getOnboardingStatePolling.test.ts +34 -0
- package/src/hw/getOnboardingStatePolling.ts +6 -3
- package/src/hw/hooks/useGenuineCheck.test.ts +37 -0
- package/src/hw/hooks/useGenuineCheck.ts +4 -0
- package/src/hw/index.test.ts +27 -6
- package/src/hw/index.ts +15 -8
- package/src/hw/installLanguage.ts +6 -1
- package/src/modularDrawer/hooks/__test__/useAssetAccountCounts.test.ts +0 -5
- package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +8 -0
- package/src/modularDrawer/hooks/useNetworkAccountCounts.tsx +1 -6
- package/src/modularDrawer/modules/createNetworkConfiguration.ts +1 -2
- package/src/modularDrawer/utils/type.ts +0 -5
- package/src/onboarding/hooks/useOnboardingStatePolling.ts +1 -0
- 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/utils/__tests__/getAccountTuplesForCurrency.test.ts +0 -30
- package/src/utils/getAccountTuplesForCurrency.ts +1 -6
- package/src/wallet-api/Exchange/server.test.ts +0 -5
- package/src/wallet-api/Exchange/server.ts +7 -6
- package/src/wallet-api/converters.ts +6 -1
- package/src/wallet-api/react.ts +310 -137
- package/src/wallet-api/tracking.ts +22 -0
- package/src/wallet-api/useDappLogic.ts +91 -106
- package/src/currencies/helpers.test.ts +0 -20
|
@@ -79,6 +79,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
79
79
|
|
|
80
80
|
getOnboardingStatePolling({
|
|
81
81
|
deviceId: device.deviceId,
|
|
82
|
+
deviceName: null,
|
|
82
83
|
pollingPeriodMs,
|
|
83
84
|
}).subscribe({
|
|
84
85
|
next: value => {
|
|
@@ -107,6 +108,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
107
108
|
|
|
108
109
|
getOnboardingStatePolling({
|
|
109
110
|
deviceId: device.deviceId,
|
|
111
|
+
deviceName: null,
|
|
110
112
|
pollingPeriodMs,
|
|
111
113
|
}).subscribe({
|
|
112
114
|
next: value => {
|
|
@@ -135,6 +137,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
135
137
|
|
|
136
138
|
getOnboardingStatePolling({
|
|
137
139
|
deviceId: device.deviceId,
|
|
140
|
+
deviceName: null,
|
|
138
141
|
pollingPeriodMs,
|
|
139
142
|
}).subscribe({
|
|
140
143
|
next: value => {
|
|
@@ -164,6 +167,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
164
167
|
|
|
165
168
|
getOnboardingStatePolling({
|
|
166
169
|
deviceId: device.deviceId,
|
|
170
|
+
deviceName: null,
|
|
167
171
|
pollingPeriodMs,
|
|
168
172
|
safeGuardTimeoutMs,
|
|
169
173
|
}).subscribe({
|
|
@@ -192,6 +196,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
192
196
|
|
|
193
197
|
getOnboardingStatePolling({
|
|
194
198
|
deviceId: device.deviceId,
|
|
199
|
+
deviceName: null,
|
|
195
200
|
pollingPeriodMs,
|
|
196
201
|
}).subscribe({
|
|
197
202
|
error: error => {
|
|
@@ -221,6 +226,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
221
226
|
|
|
222
227
|
onboardingStatePollingSubscription = getOnboardingStatePolling({
|
|
223
228
|
deviceId: device.deviceId,
|
|
229
|
+
deviceName: null,
|
|
224
230
|
pollingPeriodMs,
|
|
225
231
|
}).subscribe({
|
|
226
232
|
next: value => {
|
|
@@ -248,6 +254,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
248
254
|
|
|
249
255
|
onboardingStatePollingSubscription = getOnboardingStatePolling({
|
|
250
256
|
deviceId: device.deviceId,
|
|
257
|
+
deviceName: null,
|
|
251
258
|
pollingPeriodMs,
|
|
252
259
|
}).subscribe({
|
|
253
260
|
next: value => {
|
|
@@ -281,6 +288,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
281
288
|
|
|
282
289
|
onboardingStatePollingSubscription = getOnboardingStatePolling({
|
|
283
290
|
deviceId: device.deviceId,
|
|
291
|
+
deviceName: null,
|
|
284
292
|
pollingPeriodMs,
|
|
285
293
|
safeGuardTimeoutMs: pollingPeriodMs * 10,
|
|
286
294
|
}).subscribe({
|
|
@@ -310,6 +318,7 @@ describe("getOnboardingStatePolling", () => {
|
|
|
310
318
|
|
|
311
319
|
onboardingStatePollingSubscription = getOnboardingStatePolling({
|
|
312
320
|
deviceId: device.deviceId,
|
|
321
|
+
deviceName: null,
|
|
313
322
|
pollingPeriodMs,
|
|
314
323
|
}).subscribe({
|
|
315
324
|
next: value => {
|
|
@@ -328,4 +337,29 @@ describe("getOnboardingStatePolling", () => {
|
|
|
328
337
|
jest.advanceTimersByTime(pollingPeriodMs - 1);
|
|
329
338
|
});
|
|
330
339
|
});
|
|
340
|
+
|
|
341
|
+
describe("When deviceName is provided", () => {
|
|
342
|
+
it("should pass deviceName to withDevice", done => {
|
|
343
|
+
mockedGetVersion.mockResolvedValue(aFirmwareInfo);
|
|
344
|
+
mockedExtractOnboardingState.mockReturnValue(anOnboardingState);
|
|
345
|
+
|
|
346
|
+
const device = aDevice;
|
|
347
|
+
|
|
348
|
+
getOnboardingStatePolling({
|
|
349
|
+
deviceId: device.deviceId,
|
|
350
|
+
deviceName: "My Device",
|
|
351
|
+
pollingPeriodMs,
|
|
352
|
+
}).subscribe({
|
|
353
|
+
next: () => {
|
|
354
|
+
expect(mockedWithDevice).toHaveBeenCalledWith(
|
|
355
|
+
device.deviceId,
|
|
356
|
+
expect.objectContaining({ matchDeviceByName: "My Device" }),
|
|
357
|
+
);
|
|
358
|
+
done();
|
|
359
|
+
},
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
jest.advanceTimersByTime(pollingPeriodMs - 1);
|
|
363
|
+
});
|
|
364
|
+
});
|
|
331
365
|
});
|
|
@@ -28,6 +28,7 @@ export type GetOnboardingStatePollingResult = Observable<OnboardingStatePollingR
|
|
|
28
28
|
|
|
29
29
|
export type GetOnboardingStatePollingArgs = {
|
|
30
30
|
deviceId: string;
|
|
31
|
+
deviceName: string | null;
|
|
31
32
|
pollingPeriodMs: number;
|
|
32
33
|
transportAbortTimeoutMs?: number;
|
|
33
34
|
safeGuardTimeoutMs?: number;
|
|
@@ -51,15 +52,17 @@ export type GetOnboardingStatePollingArgs = {
|
|
|
51
52
|
*/
|
|
52
53
|
export const getOnboardingStatePolling = ({
|
|
53
54
|
deviceId,
|
|
55
|
+
deviceName,
|
|
54
56
|
pollingPeriodMs,
|
|
55
57
|
transportAbortTimeoutMs = pollingPeriodMs - 100,
|
|
56
58
|
safeGuardTimeoutMs = pollingPeriodMs * 10, // Nb Empirical value
|
|
57
59
|
allowedErrorChecks = [],
|
|
58
60
|
}: GetOnboardingStatePollingArgs): GetOnboardingStatePollingResult => {
|
|
59
61
|
const getOnboardingStateOnce = (): Observable<OnboardingStatePollingResult> => {
|
|
60
|
-
return withDevice(deviceId, {
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
return withDevice(deviceId, {
|
|
63
|
+
openTimeoutMs: transportAbortTimeoutMs,
|
|
64
|
+
matchDeviceByName: deviceName ?? undefined,
|
|
65
|
+
})(t => from(getVersion(t, { abortTimeoutMs: transportAbortTimeoutMs }))).pipe(
|
|
63
66
|
timeout(safeGuardTimeoutMs), // Throws a TimeoutError
|
|
64
67
|
first(),
|
|
65
68
|
catchError((error: unknown) => {
|
|
@@ -37,6 +37,7 @@ describe("useGenuineCheck", () => {
|
|
|
37
37
|
useGenuineCheck({
|
|
38
38
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
39
39
|
deviceId: "A_DEVICE_ID",
|
|
40
|
+
deviceName: null,
|
|
40
41
|
}),
|
|
41
42
|
);
|
|
42
43
|
|
|
@@ -60,6 +61,7 @@ describe("useGenuineCheck", () => {
|
|
|
60
61
|
useGenuineCheck({
|
|
61
62
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
62
63
|
deviceId: "A_DEVICE_ID",
|
|
64
|
+
deviceName: null,
|
|
63
65
|
}),
|
|
64
66
|
);
|
|
65
67
|
|
|
@@ -80,6 +82,7 @@ describe("useGenuineCheck", () => {
|
|
|
80
82
|
useGenuineCheck({
|
|
81
83
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
82
84
|
deviceId: "A_DEVICE_ID",
|
|
85
|
+
deviceName: null,
|
|
83
86
|
}),
|
|
84
87
|
);
|
|
85
88
|
|
|
@@ -102,6 +105,7 @@ describe("useGenuineCheck", () => {
|
|
|
102
105
|
useGenuineCheck({
|
|
103
106
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
104
107
|
deviceId: "A_DEVICE_ID",
|
|
108
|
+
deviceName: null,
|
|
105
109
|
}),
|
|
106
110
|
);
|
|
107
111
|
|
|
@@ -127,6 +131,7 @@ describe("useGenuineCheck", () => {
|
|
|
127
131
|
useGenuineCheck({
|
|
128
132
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
129
133
|
deviceId: "A_DEVICE_ID",
|
|
134
|
+
deviceName: null,
|
|
130
135
|
}),
|
|
131
136
|
);
|
|
132
137
|
|
|
@@ -151,6 +156,7 @@ describe("useGenuineCheck", () => {
|
|
|
151
156
|
useGenuineCheck({
|
|
152
157
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
153
158
|
deviceId: "A_DEVICE_ID",
|
|
159
|
+
deviceName: null,
|
|
154
160
|
}),
|
|
155
161
|
);
|
|
156
162
|
|
|
@@ -185,6 +191,7 @@ describe("useGenuineCheck", () => {
|
|
|
185
191
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
186
192
|
isHookEnabled: true,
|
|
187
193
|
deviceId: "A_DEVICE_ID",
|
|
194
|
+
deviceName: null,
|
|
188
195
|
}),
|
|
189
196
|
);
|
|
190
197
|
|
|
@@ -220,6 +227,7 @@ describe("useGenuineCheck", () => {
|
|
|
220
227
|
useGenuineCheck({
|
|
221
228
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
222
229
|
deviceId: "A_DEVICE_ID",
|
|
230
|
+
deviceName: null,
|
|
223
231
|
}),
|
|
224
232
|
);
|
|
225
233
|
|
|
@@ -250,6 +258,7 @@ describe("useGenuineCheck", () => {
|
|
|
250
258
|
useGenuineCheck({
|
|
251
259
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
252
260
|
deviceId: "A_DEVICE_ID",
|
|
261
|
+
deviceName: null,
|
|
253
262
|
permissionTimeoutMs,
|
|
254
263
|
}),
|
|
255
264
|
);
|
|
@@ -288,6 +297,7 @@ describe("useGenuineCheck", () => {
|
|
|
288
297
|
useGenuineCheck({
|
|
289
298
|
getGenuineCheckFromDeviceId: mockedGetGenuineCheckFromDeviceId,
|
|
290
299
|
deviceId: "A_DEVICE_ID",
|
|
300
|
+
deviceName: null,
|
|
291
301
|
}),
|
|
292
302
|
);
|
|
293
303
|
|
|
@@ -300,4 +310,31 @@ describe("useGenuineCheck", () => {
|
|
|
300
310
|
expect(result.current.error).toBeNull();
|
|
301
311
|
});
|
|
302
312
|
});
|
|
313
|
+
|
|
314
|
+
describe("When deviceName is provided", () => {
|
|
315
|
+
it("should pass deviceName to getGenuineCheckFromDeviceId", async () => {
|
|
316
|
+
const mockGetGenuineCheck = jest.fn().mockReturnValue(
|
|
317
|
+
of({
|
|
318
|
+
socketEvent: { type: "device-permission-granted" },
|
|
319
|
+
lockedDevice: false,
|
|
320
|
+
}),
|
|
321
|
+
);
|
|
322
|
+
|
|
323
|
+
renderHook(() =>
|
|
324
|
+
useGenuineCheck({
|
|
325
|
+
getGenuineCheckFromDeviceId: mockGetGenuineCheck,
|
|
326
|
+
deviceId: "A_DEVICE_ID",
|
|
327
|
+
deviceName: "My Device",
|
|
328
|
+
}),
|
|
329
|
+
);
|
|
330
|
+
|
|
331
|
+
await act(async () => {
|
|
332
|
+
jest.advanceTimersByTime(1);
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
expect(mockGetGenuineCheck).toHaveBeenCalledWith(
|
|
336
|
+
expect.objectContaining({ deviceName: "My Device" }),
|
|
337
|
+
);
|
|
338
|
+
});
|
|
339
|
+
});
|
|
303
340
|
});
|
|
@@ -22,6 +22,7 @@ export type DevicePermissionState =
|
|
|
22
22
|
export type UseGenuineCheckArgs = {
|
|
23
23
|
isHookEnabled?: boolean;
|
|
24
24
|
deviceId: DeviceId;
|
|
25
|
+
deviceName: string | null;
|
|
25
26
|
lockedDeviceTimeoutMs?: number;
|
|
26
27
|
permissionTimeoutMs?: number;
|
|
27
28
|
};
|
|
@@ -70,6 +71,7 @@ export const useGenuineCheck = ({
|
|
|
70
71
|
getGenuineCheckFromDeviceId = defaultGetGenuineCheckFromDeviceId,
|
|
71
72
|
isHookEnabled = true,
|
|
72
73
|
deviceId,
|
|
74
|
+
deviceName,
|
|
73
75
|
lockedDeviceTimeoutMs = 1000,
|
|
74
76
|
permissionTimeoutMs = 60 * 1000,
|
|
75
77
|
}: UseGenuineCheckArgs & UseGenuineCheckDependencies): UseGenuineCheckResult => {
|
|
@@ -92,6 +94,7 @@ export const useGenuineCheck = ({
|
|
|
92
94
|
|
|
93
95
|
const sub = getGenuineCheckFromDeviceId({
|
|
94
96
|
deviceId,
|
|
97
|
+
deviceName,
|
|
95
98
|
lockedDeviceTimeoutMs,
|
|
96
99
|
}).subscribe({
|
|
97
100
|
next: ({ socketEvent, lockedDevice }: GetGenuineCheckFromDeviceIdResult) => {
|
|
@@ -146,6 +149,7 @@ export const useGenuineCheck = ({
|
|
|
146
149
|
}, [
|
|
147
150
|
isHookEnabled,
|
|
148
151
|
deviceId,
|
|
152
|
+
deviceName,
|
|
149
153
|
lockedDeviceTimeoutMs,
|
|
150
154
|
getGenuineCheckFromDeviceId,
|
|
151
155
|
permissionTimeoutMs,
|
package/src/hw/index.test.ts
CHANGED
|
@@ -9,7 +9,7 @@ describe("open", () => {
|
|
|
9
9
|
it("should reject with a CantOpenDevice error", async () => {
|
|
10
10
|
registerTransportModule({
|
|
11
11
|
id: "test_0",
|
|
12
|
-
open: (_id: string, _timeoutMs?: number) => {
|
|
12
|
+
open: (_id: string, _timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
|
|
13
13
|
// Handles no device
|
|
14
14
|
return null;
|
|
15
15
|
},
|
|
@@ -27,7 +27,7 @@ describe("open", () => {
|
|
|
27
27
|
it("should return the associated opened Transport instance", async () => {
|
|
28
28
|
registerTransportModule({
|
|
29
29
|
id: "test_1",
|
|
30
|
-
open: (id: string, _timeoutMs?: number) => {
|
|
30
|
+
open: (id: string, _timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
|
|
31
31
|
// Filters on this current test
|
|
32
32
|
if (id !== "device_1") return null;
|
|
33
33
|
|
|
@@ -47,7 +47,7 @@ describe("open", () => {
|
|
|
47
47
|
it("should reject with an error on timeout", async () => {
|
|
48
48
|
registerTransportModule({
|
|
49
49
|
id: "test_2",
|
|
50
|
-
open: (id: string, timeoutMs?: number) => {
|
|
50
|
+
open: (id: string, timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
|
|
51
51
|
// Filters on this current test
|
|
52
52
|
if (id !== "device_2") return null;
|
|
53
53
|
|
|
@@ -63,7 +63,7 @@ describe("open", () => {
|
|
|
63
63
|
|
|
64
64
|
const timeoutMs = 1000;
|
|
65
65
|
|
|
66
|
-
const openPromise = open("device_2", timeoutMs);
|
|
66
|
+
const openPromise = open("device_2", { openTimeoutMs: timeoutMs });
|
|
67
67
|
jest.advanceTimersByTime(timeoutMs);
|
|
68
68
|
await expect(openPromise).rejects.toBeInstanceOf(CantOpenDevice);
|
|
69
69
|
});
|
|
@@ -71,7 +71,7 @@ describe("open", () => {
|
|
|
71
71
|
test("And the Transport/module implementation timeouts before open, it should still reject with an error", async () => {
|
|
72
72
|
registerTransportModule({
|
|
73
73
|
id: "test_3",
|
|
74
|
-
open: (id: string, timeoutMs?: number) => {
|
|
74
|
+
open: (id: string, timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
|
|
75
75
|
// Filters on this current test
|
|
76
76
|
if (id !== "device_3") return null;
|
|
77
77
|
|
|
@@ -88,10 +88,31 @@ describe("open", () => {
|
|
|
88
88
|
|
|
89
89
|
const timeoutMs = 1000;
|
|
90
90
|
|
|
91
|
-
const openPromise = open("device_3", timeoutMs);
|
|
91
|
+
const openPromise = open("device_3", { openTimeoutMs: timeoutMs });
|
|
92
92
|
// Advances time after the implementation timeout but before the `open` timeout
|
|
93
93
|
jest.advanceTimersByTime(timeoutMs - 100);
|
|
94
94
|
await expect(openPromise).rejects.toBeInstanceOf(TransportError);
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
|
+
|
|
98
|
+
describe("When matchDeviceByName is provided", () => {
|
|
99
|
+
it("should pass matchDeviceByName to the transport module open function", async () => {
|
|
100
|
+
const mockOpen = jest.fn(
|
|
101
|
+
(_id: string, _timeoutMs?: number, _context?, _matchDeviceByName?: string) => {
|
|
102
|
+
return Promise.resolve(aTransportBuilder());
|
|
103
|
+
},
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
registerTransportModule({
|
|
107
|
+
id: "test_4",
|
|
108
|
+
open: mockOpen,
|
|
109
|
+
disconnect: (_id: string) => {
|
|
110
|
+
return Promise.resolve();
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
await open("device_4", { matchDeviceByName: "My Device" });
|
|
115
|
+
expect(mockOpen).toHaveBeenCalledWith("device_4", undefined, undefined, "My Device");
|
|
116
|
+
});
|
|
117
|
+
});
|
|
97
118
|
});
|
package/src/hw/index.ts
CHANGED
|
@@ -17,6 +17,7 @@ export type DeviceEvent = {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export type Discovery = Observable<DeviceEvent>;
|
|
20
|
+
|
|
20
21
|
// NB open/close/disconnect semantic will have to be refined...
|
|
21
22
|
export type TransportModule = {
|
|
22
23
|
// unique transport name that identify the transport module
|
|
@@ -35,6 +36,7 @@ export type TransportModule = {
|
|
|
35
36
|
id: string,
|
|
36
37
|
timeoutMs?: number,
|
|
37
38
|
context?: TraceContext,
|
|
39
|
+
matchDeviceByName?: string,
|
|
38
40
|
) => Promise<Transport> | null | undefined;
|
|
39
41
|
// here, close means we want to STOP doing something with the transport
|
|
40
42
|
close?: (transport: Transport, id: string) => Promise<void> | null | undefined;
|
|
@@ -88,6 +90,11 @@ export const discoverDevices = (
|
|
|
88
90
|
);
|
|
89
91
|
};
|
|
90
92
|
|
|
93
|
+
export type OpenOptions = {
|
|
94
|
+
openTimeoutMs?: number;
|
|
95
|
+
matchDeviceByName?: string;
|
|
96
|
+
};
|
|
97
|
+
|
|
91
98
|
/**
|
|
92
99
|
* Tries to call `open` on the 1st matching registered transport implementation
|
|
93
100
|
*
|
|
@@ -109,7 +116,7 @@ export const discoverDevices = (
|
|
|
109
116
|
*/
|
|
110
117
|
export const open = (
|
|
111
118
|
deviceId: string,
|
|
112
|
-
|
|
119
|
+
options?: OpenOptions,
|
|
113
120
|
context?: TraceContext,
|
|
114
121
|
): Promise<Transport> => {
|
|
115
122
|
// The first registered Transport (TransportModule) accepting the given device will be returned.
|
|
@@ -117,16 +124,16 @@ export const open = (
|
|
|
117
124
|
// A TransportModule can check the prefix of the device id to guess if it should use USB or not on LLM for ex.
|
|
118
125
|
for (let i = 0; i < modules.length; i++) {
|
|
119
126
|
const m = modules[i];
|
|
120
|
-
const p = m.open(deviceId,
|
|
127
|
+
const p = m.open(deviceId, options?.openTimeoutMs, context, options?.matchDeviceByName);
|
|
121
128
|
if (p) {
|
|
122
129
|
trace({
|
|
123
130
|
type: LOG_TYPE,
|
|
124
131
|
message: `Found a matching Transport: ${m.id}`,
|
|
125
132
|
context,
|
|
126
|
-
data: {
|
|
133
|
+
data: { options },
|
|
127
134
|
});
|
|
128
135
|
|
|
129
|
-
if (!
|
|
136
|
+
if (!options?.openTimeoutMs) {
|
|
130
137
|
return p;
|
|
131
138
|
}
|
|
132
139
|
|
|
@@ -144,18 +151,18 @@ export const open = (
|
|
|
144
151
|
|
|
145
152
|
return transport;
|
|
146
153
|
}),
|
|
147
|
-
new Promise((_resolve, reject) => {
|
|
154
|
+
new Promise<never>((_resolve, reject) => {
|
|
148
155
|
timer = setTimeout(() => {
|
|
149
156
|
trace({
|
|
150
157
|
type: LOG_TYPE,
|
|
151
|
-
message: `Could not open registered transport ${m.id} on ${deviceId}, timed out after ${
|
|
158
|
+
message: `Could not open registered transport ${m.id} on ${deviceId}, timed out after ${options?.openTimeoutMs}ms`,
|
|
152
159
|
context,
|
|
153
160
|
});
|
|
154
161
|
|
|
155
162
|
return reject(new CantOpenDevice(`Timeout while opening device on transport ${m.id}`));
|
|
156
|
-
},
|
|
163
|
+
}, options?.openTimeoutMs);
|
|
157
164
|
}),
|
|
158
|
-
])
|
|
165
|
+
]);
|
|
159
166
|
}
|
|
160
167
|
}
|
|
161
168
|
return Promise.reject(new CantOpenDevice(`Cannot find registered transport to open ${deviceId}`));
|
|
@@ -36,16 +36,21 @@ export type InstallLanguageEvent =
|
|
|
36
36
|
export type InstallLanguageRequest = { language: Language };
|
|
37
37
|
export type Input = {
|
|
38
38
|
deviceId: string;
|
|
39
|
+
deviceName: string | null;
|
|
39
40
|
request: InstallLanguageRequest;
|
|
40
41
|
};
|
|
41
42
|
|
|
42
43
|
export default function installLanguage({
|
|
43
44
|
deviceId,
|
|
45
|
+
deviceName,
|
|
44
46
|
request,
|
|
45
47
|
}: Input): Observable<InstallLanguageEvent> {
|
|
46
48
|
const { language } = request;
|
|
47
49
|
|
|
48
|
-
const sub = withDevice(
|
|
50
|
+
const sub = withDevice(
|
|
51
|
+
deviceId,
|
|
52
|
+
deviceName ? { matchDeviceByName: deviceName } : undefined,
|
|
53
|
+
)(
|
|
49
54
|
transport =>
|
|
50
55
|
new Observable(subscriber => {
|
|
51
56
|
const timeoutSub = of<InstallLanguageEvent>({
|
|
@@ -12,7 +12,6 @@ describe("useNetworkAccountCounts", () => {
|
|
|
12
12
|
const assetAccountCounts = useNetworkAccountCounts({
|
|
13
13
|
networks: [ethereumCurrency],
|
|
14
14
|
nestedAccounts: [ethereumAccountHigh],
|
|
15
|
-
accountIds: new Map([[ethereumAccountHigh.id, true]]),
|
|
16
15
|
formatLabel: (count: number) => `${count}`,
|
|
17
16
|
});
|
|
18
17
|
|
|
@@ -27,10 +26,6 @@ describe("useNetworkAccountCounts", () => {
|
|
|
27
26
|
const assetAccountCounts = useNetworkAccountCounts({
|
|
28
27
|
networks: [ethereumCurrency],
|
|
29
28
|
nestedAccounts: [ethereumAccountHigh, ethereumAccountLow],
|
|
30
|
-
accountIds: new Map([
|
|
31
|
-
[ethereumAccountHigh.id, true],
|
|
32
|
-
[ethereumAccountLow.id, true],
|
|
33
|
-
]),
|
|
34
29
|
formatLabel: (count: number) => `${count}`,
|
|
35
30
|
});
|
|
36
31
|
|
|
@@ -80,7 +80,9 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
80
80
|
const assetHubPolkadot = useFeature("currencyAssetHubPolkadot");
|
|
81
81
|
const polkadot = useFeature("currencyPolkadot");
|
|
82
82
|
const monad = useFeature("currencyMonad");
|
|
83
|
+
const monadTestnet = useFeature("currencyMonadTestnet");
|
|
83
84
|
const somnia = useFeature("currencySomnia");
|
|
85
|
+
const zeroGravity = useFeature("currencyZeroGravity");
|
|
84
86
|
|
|
85
87
|
const featureFlaggedCurrencies = useMemo(
|
|
86
88
|
(): Partial<Record<CryptoCurrencyId, Feature<unknown> | null>> => ({
|
|
@@ -157,7 +159,9 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
157
159
|
assethub_polkadot: assetHubPolkadot,
|
|
158
160
|
polkadot,
|
|
159
161
|
monad,
|
|
162
|
+
monad_testnet: monadTestnet,
|
|
160
163
|
somnia,
|
|
164
|
+
zero_gravity: zeroGravity,
|
|
161
165
|
}),
|
|
162
166
|
[
|
|
163
167
|
aptos,
|
|
@@ -223,6 +227,8 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
223
227
|
mina,
|
|
224
228
|
babylon,
|
|
225
229
|
canton,
|
|
230
|
+
cantonDevnet,
|
|
231
|
+
cantonTestnet,
|
|
226
232
|
kaspa,
|
|
227
233
|
core,
|
|
228
234
|
ethereumHoodi,
|
|
@@ -231,7 +237,9 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
231
237
|
assetHubPolkadot,
|
|
232
238
|
polkadot,
|
|
233
239
|
monad,
|
|
240
|
+
monadTestnet,
|
|
234
241
|
somnia,
|
|
242
|
+
zeroGravity,
|
|
235
243
|
],
|
|
236
244
|
);
|
|
237
245
|
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import { Observable } from "rxjs";
|
|
2
1
|
import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
3
2
|
import { getAccountTuplesForCurrency } from "../../utils/getAccountTuplesForCurrency";
|
|
4
3
|
import type { Account } from "@ledgerhq/types-live";
|
|
5
|
-
import { WalletAPIAccount } from "../../wallet-api/types";
|
|
6
4
|
|
|
7
5
|
type AccountModuleParams = {
|
|
8
6
|
networks: CryptoOrTokenCurrency[];
|
|
9
7
|
nestedAccounts: Account[];
|
|
10
|
-
accountIds: Map<string, boolean> | undefined;
|
|
11
8
|
formatLabel: (count: number) => string;
|
|
12
|
-
accounts$?: Observable<WalletAPIAccount[]>;
|
|
13
9
|
};
|
|
14
10
|
|
|
15
11
|
export type NetworkCountItem = {
|
|
@@ -21,12 +17,11 @@ export type NetworkCountItem = {
|
|
|
21
17
|
export const useNetworkAccountCounts = ({
|
|
22
18
|
networks,
|
|
23
19
|
nestedAccounts,
|
|
24
|
-
accountIds,
|
|
25
20
|
formatLabel,
|
|
26
21
|
}: AccountModuleParams): NetworkCountItem[] =>
|
|
27
22
|
networks.map(network => {
|
|
28
23
|
const asset = network.type === "TokenCurrency" ? network.parentCurrency : network;
|
|
29
|
-
const { length } = getAccountTuplesForCurrency(asset, nestedAccounts
|
|
24
|
+
const { length } = getAccountTuplesForCurrency(asset, nestedAccounts);
|
|
30
25
|
return {
|
|
31
26
|
asset,
|
|
32
27
|
label: formatLabel(length),
|
|
@@ -78,7 +78,7 @@ const sortNetworks = (
|
|
|
78
78
|
|
|
79
79
|
export const createNetworkConfigurationHook =
|
|
80
80
|
(NetworkConfigurationDeps: NetworkConfigurationDeps) =>
|
|
81
|
-
({ networksConfig
|
|
81
|
+
({ networksConfig }: CreateNetworkConfigurationHookProps) => {
|
|
82
82
|
const { leftElement, rightElement } = networksConfig ?? {};
|
|
83
83
|
const leftHook = getLeftElement(NetworkConfigurationDeps)(leftElement);
|
|
84
84
|
const rightHook = getRightElement(NetworkConfigurationDeps)(rightElement);
|
|
@@ -90,7 +90,6 @@ export const createNetworkConfigurationHook =
|
|
|
90
90
|
): Array<CryptoOrTokenCurrency & Network & { balanceData?: BalanceUI; count?: number }> => {
|
|
91
91
|
const hookResults = hooks.map(hook =>
|
|
92
92
|
hook({
|
|
93
|
-
accounts$,
|
|
94
93
|
networks,
|
|
95
94
|
}),
|
|
96
95
|
);
|
|
@@ -2,8 +2,6 @@ import { CounterValuesState } from "@ledgerhq/live-countervalues/lib/types";
|
|
|
2
2
|
import { CryptoOrTokenCurrency, Currency, Unit } from "@ledgerhq/types-cryptoassets";
|
|
3
3
|
import { AccountLike } from "@ledgerhq/types-live";
|
|
4
4
|
import { ReactNode } from "react";
|
|
5
|
-
import { Observable } from "rxjs";
|
|
6
|
-
import { WalletAPIAccount } from "../../wallet-api/types";
|
|
7
5
|
import { EnhancedModularDrawerConfiguration } from "../../wallet-api/ModularDrawer/types";
|
|
8
6
|
import { InterestRate } from "../../dada-client/entities";
|
|
9
7
|
import { MarketItemResponse } from "../../market/utils/types";
|
|
@@ -71,7 +69,6 @@ export type AccountDataItem = {
|
|
|
71
69
|
|
|
72
70
|
export type AccountModuleParams = {
|
|
73
71
|
networks: CryptoOrTokenCurrency[];
|
|
74
|
-
accounts$?: Observable<WalletAPIAccount[]>;
|
|
75
72
|
};
|
|
76
73
|
|
|
77
74
|
export type CreateAccountsCount = (args: { label: string }) => ReactNode;
|
|
@@ -80,7 +77,6 @@ export type UseAccountData = (params: AccountModuleParams) => AccountDataItem[];
|
|
|
80
77
|
|
|
81
78
|
export type NetworkHookParams = {
|
|
82
79
|
networks: CryptoOrTokenCurrency[];
|
|
83
|
-
accounts$?: Observable<WalletAPIAccount[]>;
|
|
84
80
|
};
|
|
85
81
|
// Network hook type that returns additional properties to be merged with currencies
|
|
86
82
|
export type NetworkHook = (params: NetworkHookParams) => Array<{
|
|
@@ -111,7 +107,6 @@ export type Network = {
|
|
|
111
107
|
|
|
112
108
|
export type CreateNetworkConfigurationHookProps = {
|
|
113
109
|
networksConfig: EnhancedModularDrawerConfiguration["networks"];
|
|
114
|
-
accounts$?: Observable<WalletAPIAccount[]>;
|
|
115
110
|
};
|
|
116
111
|
|
|
117
112
|
type Props = {
|
|
@@ -65,6 +65,7 @@ export const useOnboardingStatePolling = ({
|
|
|
65
65
|
if (device && !stopPolling) {
|
|
66
66
|
onboardingStatePollingSubscription = getOnboardingStatePolling({
|
|
67
67
|
deviceId: device.deviceId,
|
|
68
|
+
deviceName: device.deviceName ?? null,
|
|
68
69
|
pollingPeriodMs,
|
|
69
70
|
allowedErrorChecks,
|
|
70
71
|
}).subscribe({
|
package/src/platform/filters.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { makeRe } from "minimatch";
|
|
2
|
-
import { AppPlatform, PlatformAccount
|
|
3
|
-
import { isPlatformTokenCurrency } from "./helpers";
|
|
2
|
+
import { AppPlatform, PlatformAccount } from "./types";
|
|
4
3
|
|
|
5
4
|
export type FilterParams = {
|
|
6
5
|
branches?: string[];
|
|
@@ -38,24 +37,3 @@ export type CurrencyFilters = {
|
|
|
38
37
|
includeTokens?: boolean;
|
|
39
38
|
currencies?: string[];
|
|
40
39
|
};
|
|
41
|
-
|
|
42
|
-
export function filterPlatformCurrencies(
|
|
43
|
-
currencies: PlatformCurrency[],
|
|
44
|
-
filters: CurrencyFilters,
|
|
45
|
-
): PlatformCurrency[] {
|
|
46
|
-
const filterCurrencyRegexes = filters.currencies
|
|
47
|
-
? filters.currencies.map(filter => makeRe(filter))
|
|
48
|
-
: null;
|
|
49
|
-
|
|
50
|
-
return currencies.filter(currency => {
|
|
51
|
-
if (!filters.includeTokens && isPlatformTokenCurrency(currency)) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (filterCurrencyRegexes && !filterCurrencyRegexes.some(regex => currency.id.match(regex))) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return true;
|
|
60
|
-
});
|
|
61
|
-
}
|