@ledgerhq/live-common 34.52.0 → 34.53.0-nightly.20251108023448
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/DataModel.d.ts +2 -2
- package/lib/DataModel.d.ts.map +1 -1
- package/lib/DataModel.js +2 -2
- package/lib/DataModel.js.map +1 -1
- package/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
- package/lib/__tests__/test-helpers/bridge.js +103 -47
- package/lib/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib/__tests__/test-helpers/setup.d.ts.map +1 -1
- package/lib/__tests__/test-helpers/setup.js +6 -5
- package/lib/__tests__/test-helpers/setup.js.map +1 -1
- package/lib/account/serialization.d.ts +1 -1
- package/lib/account/serialization.d.ts.map +1 -1
- package/lib/account/serialization.js +2 -2
- package/lib/account/serialization.js.map +1 -1
- package/lib/api/ofacGeoBlockApi.d.ts +4 -0
- package/lib/api/ofacGeoBlockApi.d.ts.map +1 -0
- package/lib/api/ofacGeoBlockApi.js +21 -0
- package/lib/api/ofacGeoBlockApi.js.map +1 -0
- package/lib/apps/config.d.ts.map +1 -1
- package/lib/apps/config.js +1 -0
- package/lib/apps/config.js.map +1 -1
- package/lib/bot/engine.d.ts +5 -5
- package/lib/bot/engine.d.ts.map +1 -1
- package/lib/bot/engine.js.map +1 -1
- package/lib/bridge/crypto-assets/index.d.ts.map +1 -1
- package/lib/bridge/crypto-assets/index.js +2 -2
- package/lib/bridge/crypto-assets/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +2 -2
- package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.js +6 -1
- package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js +1 -0
- package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts +2 -2
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.js +30 -26
- package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signOperation.js +6 -4
- package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/Eth.d.ts +2 -1
- package/lib/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/Eth.js +2 -1
- package/lib/bridge/generic-alpaca/signer/Eth.js.map +1 -1
- package/lib/bridge/generic-alpaca/types.d.ts +61 -2
- package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.d.ts +1 -1
- package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.js +121 -7
- package/lib/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib/bridge/index.d.ts +1 -1
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +2 -2
- package/lib/bridge/index.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/__mocks__/assets.mock.d.ts +383 -0
- package/lib/dada-client/__mocks__/assets.mock.d.ts.map +1 -0
- package/lib/dada-client/__mocks__/assets.mock.js +260 -0
- package/lib/dada-client/__mocks__/assets.mock.js.map +1 -0
- package/lib/dada-client/hooks/useAssetsData.d.ts +2 -1
- package/lib/dada-client/hooks/useAssetsData.d.ts.map +1 -1
- package/lib/dada-client/hooks/useAssetsData.js +2 -2
- package/lib/dada-client/hooks/useAssetsData.js.map +1 -1
- package/lib/dada-client/hooks/useLazyLedgerCurrency.d.ts +13 -0
- package/lib/dada-client/hooks/useLazyLedgerCurrency.d.ts.map +1 -0
- package/lib/dada-client/hooks/useLazyLedgerCurrency.js +34 -0
- package/lib/dada-client/hooks/useLazyLedgerCurrency.js.map +1 -0
- package/lib/dada-client/index.d.ts +2 -0
- package/lib/dada-client/index.d.ts.map +1 -0
- package/lib/dada-client/index.js +18 -0
- package/lib/dada-client/index.js.map +1 -0
- package/lib/dada-client/state-manager/api.js +1 -1
- package/lib/dada-client/state-manager/api.js.map +1 -1
- package/lib/dada-client/utils/currencySelection.d.ts +10 -0
- package/lib/dada-client/utils/currencySelection.d.ts.map +1 -0
- package/lib/dada-client/utils/currencySelection.js +34 -0
- package/lib/dada-client/utils/currencySelection.js.map +1 -0
- package/lib/deposit/helper.d.ts +1 -1
- package/lib/deposit/helper.d.ts.map +1 -1
- package/lib/deposit/helper.js +3 -2
- package/lib/deposit/helper.js.map +1 -1
- package/lib/e2e/data/deviceLabelsData.d.ts.map +1 -1
- package/lib/e2e/data/deviceLabelsData.js +2 -1
- package/lib/e2e/data/deviceLabelsData.js.map +1 -1
- package/lib/e2e/enum/DeviceLabels.d.ts +5 -1
- package/lib/e2e/enum/DeviceLabels.d.ts.map +1 -1
- package/lib/e2e/enum/DeviceLabels.js +4 -0
- package/lib/e2e/enum/DeviceLabels.js.map +1 -1
- package/lib/e2e/index.d.ts +4 -8
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/e2e/speculos.d.ts +1 -1
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +24 -5
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/e2e/speculosAppVersion.d.ts.map +1 -1
- package/lib/e2e/speculosAppVersion.js +1 -0
- package/lib/e2e/speculosAppVersion.js.map +1 -1
- package/lib/families/cosmos/datasets/coreum.d.ts.map +1 -1
- package/lib/families/cosmos/datasets/coreum.js +2 -1
- package/lib/families/cosmos/datasets/coreum.js.map +1 -1
- package/lib/families/near/config.d.ts.map +1 -1
- package/lib/families/near/config.js +1 -0
- package/lib/families/near/config.js.map +1 -1
- package/lib/families/solana/setup.d.ts +1 -1
- package/lib/families/tron/data.mock.d.ts +4 -4
- package/lib/families/tron/data.mock.d.ts.map +1 -1
- package/lib/families/tron/data.mock.js +27 -13
- package/lib/families/tron/data.mock.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +3 -4
- 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 +13 -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/generated/cli-transaction.d.ts +1 -1
- package/lib/generated/transaction.d.ts +1 -1
- package/lib/hw/actions/implementations.d.ts.map +1 -1
- package/lib/hw/actions/implementations.js +13 -7
- package/lib/hw/actions/implementations.js.map +1 -1
- package/lib/hw/connectAppEventMapper.d.ts.map +1 -1
- package/lib/hw/connectAppEventMapper.js +2 -2
- package/lib/hw/connectAppEventMapper.js.map +1 -1
- package/lib/market/hooks/useLargeMoverCurrencies.d.ts +1 -1
- package/lib/market/hooks/useMarketDataProvider.d.ts +2 -2
- package/lib/market/hooks/useMarketDataProvider.d.ts.map +1 -1
- package/lib/market/hooks/useMarketDataProvider.js +4 -7
- package/lib/market/hooks/useMarketDataProvider.js.map +1 -1
- package/lib/market/utils/currencyFormatter.d.ts +3 -4
- package/lib/market/utils/currencyFormatter.d.ts.map +1 -1
- package/lib/market/utils/currencyFormatter.js +3 -6
- package/lib/market/utils/currencyFormatter.js.map +1 -1
- package/lib/market/utils/queryKeys.d.ts +0 -1
- package/lib/market/utils/queryKeys.d.ts.map +1 -1
- package/lib/market/utils/queryKeys.js +0 -1
- package/lib/market/utils/queryKeys.js.map +1 -1
- package/lib/market/utils/types.d.ts +6 -8
- package/lib/market/utils/types.d.ts.map +1 -1
- package/lib/market/utils/types.js.map +1 -1
- package/lib/mock/fixtures/cryptoCurrencies.d.ts.map +1 -1
- package/lib/mock/fixtures/cryptoCurrencies.js +10 -1
- package/lib/mock/fixtures/cryptoCurrencies.js.map +1 -1
- package/lib/modularDrawer/__mocks__/currencies.mock.d.ts +1 -1
- package/lib/modularDrawer/__mocks__/currencies.mock.d.ts.map +1 -1
- package/lib/modularDrawer/__mocks__/currencies.mock.js +1 -1
- package/lib/modularDrawer/__mocks__/currencies.mock.js.map +1 -1
- package/lib/modularDrawer/utils/currencyUtils.d.ts +3 -3
- package/lib/modularDrawer/utils/currencyUtils.d.ts.map +1 -1
- package/lib/modularDrawer/utils/currencyUtils.js +8 -8
- package/lib/modularDrawer/utils/currencyUtils.js.map +1 -1
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -1
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.js +13 -4
- package/lib/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -1
- package/lib/postOnboarding/mock.d.ts +1 -0
- package/lib/postOnboarding/mock.d.ts.map +1 -1
- package/lib/postOnboarding/mock.js +3 -1
- package/lib/postOnboarding/mock.js.map +1 -1
- package/lib/postOnboarding/reducer.d.ts +16 -14
- package/lib/postOnboarding/reducer.d.ts.map +1 -1
- package/lib/transaction/index.d.ts +1 -1
- package/lib/transaction/index.d.ts.map +1 -1
- package/lib/transaction/index.js +2 -2
- package/lib/transaction/index.js.map +1 -1
- package/lib/utils/addressUtils.d.ts +15 -0
- package/lib/utils/addressUtils.d.ts.map +1 -0
- package/lib/utils/addressUtils.js +39 -0
- package/lib/utils/addressUtils.js.map +1 -0
- package/lib/wallet-api/ACRE/server.d.ts.map +1 -1
- package/lib/wallet-api/ACRE/server.js +19 -15
- 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 -5
- package/lib/wallet-api/Exchange/server.js.map +1 -1
- package/lib/wallet-api/logic.d.ts.map +1 -1
- package/lib/wallet-api/logic.js +29 -29
- package/lib/wallet-api/logic.js.map +1 -1
- package/lib/wallet-api/react.d.ts.map +1 -1
- package/lib/wallet-api/react.js +37 -29
- package/lib/wallet-api/react.js.map +1 -1
- package/lib/wallet-api/useDappLogic.d.ts.map +1 -1
- package/lib/wallet-api/useDappLogic.js +76 -60
- package/lib/wallet-api/useDappLogic.js.map +1 -1
- package/lib-es/DataModel.d.ts +2 -2
- package/lib-es/DataModel.d.ts.map +1 -1
- package/lib-es/DataModel.js +2 -2
- package/lib-es/DataModel.js.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js +103 -47
- package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib-es/__tests__/test-helpers/setup.d.ts.map +1 -1
- package/lib-es/__tests__/test-helpers/setup.js +6 -5
- package/lib-es/__tests__/test-helpers/setup.js.map +1 -1
- package/lib-es/account/serialization.d.ts +1 -1
- package/lib-es/account/serialization.d.ts.map +1 -1
- package/lib-es/account/serialization.js +2 -2
- package/lib-es/account/serialization.js.map +1 -1
- package/lib-es/api/ofacGeoBlockApi.d.ts +4 -0
- package/lib-es/api/ofacGeoBlockApi.d.ts.map +1 -0
- package/lib-es/api/ofacGeoBlockApi.js +18 -0
- package/lib-es/api/ofacGeoBlockApi.js.map +1 -0
- package/lib-es/apps/config.d.ts.map +1 -1
- package/lib-es/apps/config.js +1 -0
- package/lib-es/apps/config.js.map +1 -1
- package/lib-es/bot/engine.d.ts +5 -5
- package/lib-es/bot/engine.d.ts.map +1 -1
- package/lib-es/bot/engine.js.map +1 -1
- package/lib-es/bridge/crypto-assets/index.d.ts.map +1 -1
- package/lib-es/bridge/crypto-assets/index.js +1 -1
- package/lib-es/bridge/crypto-assets/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +2 -2
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js +6 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +1 -0
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts +2 -2
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js +30 -26
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signOperation.js +6 -4
- package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts +2 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.js +2 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/types.d.ts +61 -2
- package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts +1 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js +121 -7
- package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib-es/bridge/index.d.ts +1 -1
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +2 -2
- package/lib-es/bridge/index.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/__mocks__/assets.mock.d.ts +383 -0
- package/lib-es/dada-client/__mocks__/assets.mock.d.ts.map +1 -0
- package/lib-es/dada-client/__mocks__/assets.mock.js +257 -0
- package/lib-es/dada-client/__mocks__/assets.mock.js.map +1 -0
- package/lib-es/dada-client/hooks/useAssetsData.d.ts +2 -1
- package/lib-es/dada-client/hooks/useAssetsData.d.ts.map +1 -1
- package/lib-es/dada-client/hooks/useAssetsData.js +2 -2
- package/lib-es/dada-client/hooks/useAssetsData.js.map +1 -1
- package/lib-es/dada-client/hooks/useLazyLedgerCurrency.d.ts +13 -0
- package/lib-es/dada-client/hooks/useLazyLedgerCurrency.d.ts.map +1 -0
- package/lib-es/dada-client/hooks/useLazyLedgerCurrency.js +27 -0
- package/lib-es/dada-client/hooks/useLazyLedgerCurrency.js.map +1 -0
- package/lib-es/dada-client/index.d.ts +2 -0
- package/lib-es/dada-client/index.d.ts.map +1 -0
- package/lib-es/dada-client/index.js +2 -0
- package/lib-es/dada-client/index.js.map +1 -0
- package/lib-es/dada-client/state-manager/api.js +1 -1
- package/lib-es/dada-client/state-manager/api.js.map +1 -1
- package/lib-es/dada-client/utils/currencySelection.d.ts +10 -0
- package/lib-es/dada-client/utils/currencySelection.d.ts.map +1 -0
- package/lib-es/dada-client/utils/currencySelection.js +30 -0
- package/lib-es/dada-client/utils/currencySelection.js.map +1 -0
- package/lib-es/deposit/helper.d.ts +1 -1
- package/lib-es/deposit/helper.d.ts.map +1 -1
- package/lib-es/deposit/helper.js +4 -3
- package/lib-es/deposit/helper.js.map +1 -1
- package/lib-es/e2e/data/deviceLabelsData.d.ts.map +1 -1
- package/lib-es/e2e/data/deviceLabelsData.js +2 -1
- package/lib-es/e2e/data/deviceLabelsData.js.map +1 -1
- package/lib-es/e2e/enum/DeviceLabels.d.ts +5 -1
- package/lib-es/e2e/enum/DeviceLabels.d.ts.map +1 -1
- package/lib-es/e2e/enum/DeviceLabels.js +4 -0
- package/lib-es/e2e/enum/DeviceLabels.js.map +1 -1
- package/lib-es/e2e/index.d.ts +4 -8
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/e2e/speculos.d.ts +1 -1
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +24 -5
- package/lib-es/e2e/speculos.js.map +1 -1
- package/lib-es/e2e/speculosAppVersion.d.ts.map +1 -1
- package/lib-es/e2e/speculosAppVersion.js +1 -0
- package/lib-es/e2e/speculosAppVersion.js.map +1 -1
- package/lib-es/families/cosmos/datasets/coreum.d.ts.map +1 -1
- package/lib-es/families/cosmos/datasets/coreum.js +2 -1
- package/lib-es/families/cosmos/datasets/coreum.js.map +1 -1
- package/lib-es/families/near/config.d.ts.map +1 -1
- package/lib-es/families/near/config.js +1 -0
- package/lib-es/families/near/config.js.map +1 -1
- package/lib-es/families/solana/setup.d.ts +1 -1
- package/lib-es/families/tron/data.mock.d.ts +4 -4
- package/lib-es/families/tron/data.mock.d.ts.map +1 -1
- package/lib-es/families/tron/data.mock.js +22 -12
- package/lib-es/families/tron/data.mock.js.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +3 -4
- 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 +11 -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/generated/cli-transaction.d.ts +1 -1
- package/lib-es/generated/transaction.d.ts +1 -1
- package/lib-es/hw/actions/implementations.d.ts.map +1 -1
- package/lib-es/hw/actions/implementations.js +15 -9
- package/lib-es/hw/actions/implementations.js.map +1 -1
- package/lib-es/hw/connectAppEventMapper.d.ts.map +1 -1
- package/lib-es/hw/connectAppEventMapper.js +3 -3
- package/lib-es/hw/connectAppEventMapper.js.map +1 -1
- package/lib-es/market/hooks/useLargeMoverCurrencies.d.ts +1 -1
- package/lib-es/market/hooks/useMarketDataProvider.d.ts +2 -2
- package/lib-es/market/hooks/useMarketDataProvider.d.ts.map +1 -1
- package/lib-es/market/hooks/useMarketDataProvider.js +2 -5
- package/lib-es/market/hooks/useMarketDataProvider.js.map +1 -1
- package/lib-es/market/utils/currencyFormatter.d.ts +3 -4
- package/lib-es/market/utils/currencyFormatter.d.ts.map +1 -1
- package/lib-es/market/utils/currencyFormatter.js +3 -6
- package/lib-es/market/utils/currencyFormatter.js.map +1 -1
- package/lib-es/market/utils/queryKeys.d.ts +0 -1
- package/lib-es/market/utils/queryKeys.d.ts.map +1 -1
- package/lib-es/market/utils/queryKeys.js +0 -1
- package/lib-es/market/utils/queryKeys.js.map +1 -1
- package/lib-es/market/utils/types.d.ts +6 -8
- package/lib-es/market/utils/types.d.ts.map +1 -1
- package/lib-es/market/utils/types.js.map +1 -1
- package/lib-es/mock/fixtures/cryptoCurrencies.d.ts.map +1 -1
- package/lib-es/mock/fixtures/cryptoCurrencies.js +11 -2
- package/lib-es/mock/fixtures/cryptoCurrencies.js.map +1 -1
- package/lib-es/modularDrawer/__mocks__/currencies.mock.d.ts +1 -1
- package/lib-es/modularDrawer/__mocks__/currencies.mock.d.ts.map +1 -1
- package/lib-es/modularDrawer/__mocks__/currencies.mock.js +1 -1
- package/lib-es/modularDrawer/__mocks__/currencies.mock.js.map +1 -1
- package/lib-es/modularDrawer/utils/currencyUtils.d.ts +3 -3
- package/lib-es/modularDrawer/utils/currencyUtils.d.ts.map +1 -1
- package/lib-es/modularDrawer/utils/currencyUtils.js +8 -8
- package/lib-es/modularDrawer/utils/currencyUtils.js.map +1 -1
- package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.d.ts.map +1 -1
- package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.js +13 -4
- package/lib-es/postOnboarding/hooks/usePostOnboardingHubState.js.map +1 -1
- package/lib-es/postOnboarding/mock.d.ts +1 -0
- package/lib-es/postOnboarding/mock.d.ts.map +1 -1
- package/lib-es/postOnboarding/mock.js +2 -0
- package/lib-es/postOnboarding/mock.js.map +1 -1
- package/lib-es/postOnboarding/reducer.d.ts +16 -14
- package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
- package/lib-es/transaction/index.d.ts +1 -1
- package/lib-es/transaction/index.d.ts.map +1 -1
- package/lib-es/transaction/index.js +2 -2
- package/lib-es/transaction/index.js.map +1 -1
- package/lib-es/utils/addressUtils.d.ts +15 -0
- package/lib-es/utils/addressUtils.d.ts.map +1 -0
- package/lib-es/utils/addressUtils.js +35 -0
- package/lib-es/utils/addressUtils.js.map +1 -0
- package/lib-es/wallet-api/ACRE/server.d.ts.map +1 -1
- package/lib-es/wallet-api/ACRE/server.js +19 -15
- 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 +9 -6
- package/lib-es/wallet-api/Exchange/server.js.map +1 -1
- package/lib-es/wallet-api/logic.d.ts.map +1 -1
- package/lib-es/wallet-api/logic.js +26 -26
- package/lib-es/wallet-api/logic.js.map +1 -1
- package/lib-es/wallet-api/react.d.ts.map +1 -1
- package/lib-es/wallet-api/react.js +38 -30
- package/lib-es/wallet-api/react.js.map +1 -1
- package/lib-es/wallet-api/useDappLogic.d.ts.map +1 -1
- package/lib-es/wallet-api/useDappLogic.js +74 -58
- package/lib-es/wallet-api/useDappLogic.js.map +1 -1
- package/package.json +51 -47
- package/src/DataModel.test.ts +74 -24
- package/src/DataModel.ts +4 -4
- package/src/__tests__/accounts/groupPerDay.ts +182 -177
- package/src/__tests__/csvExport.ts +3 -0
- package/src/__tests__/migration/account-migration.ts +2 -2
- package/src/__tests__/test-helpers/bridge.ts +426 -358
- package/src/__tests__/test-helpers/setup.ts +7 -6
- package/src/account/serialization.test.ts +6 -6
- package/src/account/serialization.ts +2 -2
- package/src/api/ofacGeoBlockApi.ts +19 -0
- package/src/apps/config.ts +1 -0
- package/src/bot/engine.ts +5 -5
- package/src/bridge/cache.test.ts +2 -0
- package/src/bridge/crypto-assets/index.test.ts +3 -9
- package/src/bridge/crypto-assets/index.ts +1 -1
- package/src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts +3 -3
- package/src/bridge/generic-alpaca/createTransaction.ts +6 -1
- package/src/bridge/generic-alpaca/getTransactionStatus.ts +1 -0
- package/src/bridge/generic-alpaca/prepareTransaction.ts +36 -41
- package/src/bridge/generic-alpaca/signOperation.ts +10 -4
- package/src/bridge/generic-alpaca/signer/Eth.ts +4 -2
- package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +29 -76
- package/src/bridge/generic-alpaca/tests/signOperation.test.ts +10 -2
- package/src/bridge/generic-alpaca/types.ts +80 -2
- package/src/bridge/generic-alpaca/utils.test.ts +58 -2
- package/src/bridge/generic-alpaca/utils.ts +151 -10
- package/src/bridge/index.ts +2 -2
- package/src/bridge/useBridgeTransaction.test.ts +9 -6
- package/src/currencies/cryptoIcons.test.ts +10 -5
- package/src/currencies/index.ts +0 -3
- package/src/currencies/sortByMarketcap.test.ts +4 -1
- package/src/dada-client/README.md +38 -0
- package/src/dada-client/__mocks__/assets.mock.ts +264 -0
- package/src/dada-client/hooks/__tests__/useLazyLedgerCurrency.test.ts +155 -0
- package/src/dada-client/hooks/useAssetsData.ts +14 -9
- package/src/dada-client/hooks/useLazyLedgerCurrency.ts +46 -0
- package/src/dada-client/index.ts +1 -0
- package/src/dada-client/state-manager/api.ts +1 -1
- package/src/dada-client/utils/__test__/currencySelection.test.ts +16 -0
- package/src/dada-client/utils/currencySelection.ts +33 -0
- package/src/deposit/deposit.integration.test.ts +15 -0
- package/src/deposit/deposit.test.ts +60 -40
- package/src/deposit/helper.ts +4 -8
- package/src/domain/getTokensWithFunds.test.ts +4 -0
- package/src/e2e/data/deviceLabelsData.ts +2 -1
- package/src/e2e/enum/DeviceLabels.ts +4 -0
- package/src/e2e/speculos.ts +26 -6
- package/src/e2e/speculosAppVersion.ts +1 -0
- package/src/families/aptos/__snapshots__/bridge.integration.test.ts.snap +12 -12
- package/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap +1482 -843
- package/src/families/bitcoin/satstack.test.ts +33 -20
- package/src/families/cosmos/datasets/__snapshots__/babylon.integration.test.ts.snap +1 -1
- package/src/families/cosmos/datasets/__snapshots__/coreum.integration.test.ts.snap +4 -4
- package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +251 -209
- package/src/families/cosmos/datasets/coreum.ts +2 -1
- package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +675 -37
- package/src/families/multiversx/__snapshots__/bridge.integration.test.ts.snap +3 -3
- package/src/families/near/config.ts +1 -0
- package/src/families/polkadot/__snapshots__/bridge.integration.test.ts.snap +34 -34
- package/src/families/solana/__snapshots__/bridge.integration.test.ts.snap +3 -3
- package/src/families/stacks/__snapshots__/bridge.integration.test.ts.snap +10 -10
- package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +1183 -625
- package/src/families/sui/__snapshots__/bridge.integration.test.ts.snap +428 -0
- package/src/families/tron/data.mock.ts +32 -16
- package/src/families/tron/react.test.ts +16 -4
- package/src/featureFlags/defaultFeatures.ts +3 -4
- package/src/featureFlags/stakePrograms/index.ts +14 -0
- package/src/hw/actions/implementations.ts +22 -11
- package/src/hw/connectAppEventMapper.ts +2 -4
- package/src/market/hooks/useMarketDataProvider.ts +4 -8
- package/src/market/utils/currencyFormatter.ts +4 -18
- package/src/market/utils/queryKeys.ts +0 -1
- package/src/market/utils/types.ts +6 -8
- package/src/mock/fixtures/cryptoCurrencies.ts +11 -2
- package/src/modularDrawer/__mocks__/currencies.mock.ts +1 -1
- package/src/modularDrawer/utils/__tests__/currencyUtils.test.ts +10 -10
- package/src/modularDrawer/utils/currencyUtils.ts +11 -10
- package/src/platform/serializers.test.ts +2 -2
- package/src/postOnboarding/hooks/usePostOnboardingHubState.test.ts +30 -3
- package/src/postOnboarding/hooks/usePostOnboardingHubState.ts +20 -6
- package/src/postOnboarding/mock.ts +2 -0
- package/src/transaction/index.ts +2 -2
- package/src/utils/__tests__/addressUtils.test.ts +229 -0
- package/src/utils/__tests__/getAccountTuplesForCurrency.test.ts +15 -4
- package/src/utils/addressUtils.ts +40 -0
- package/src/wallet-api/ACRE/server.test.ts +11 -8
- package/src/wallet-api/ACRE/server.ts +25 -22
- package/src/wallet-api/Exchange/server.ts +11 -8
- package/src/wallet-api/logic.test.ts +4 -0
- package/src/wallet-api/logic.ts +28 -32
- package/src/wallet-api/react.ts +37 -34
- package/src/wallet-api/useDappLogic.ts +103 -82
- package/lib/hooks/useOFACGeoBlockCheck.d.ts +0 -8
- package/lib/hooks/useOFACGeoBlockCheck.d.ts.map +0 -1
- package/lib/hooks/useOFACGeoBlockCheck.js +0 -32
- package/lib/hooks/useOFACGeoBlockCheck.js.map +0 -1
- package/lib-es/hooks/useOFACGeoBlockCheck.d.ts +0 -8
- package/lib-es/hooks/useOFACGeoBlockCheck.d.ts.map +0 -1
- package/lib-es/hooks/useOFACGeoBlockCheck.js +0 -28
- package/lib-es/hooks/useOFACGeoBlockCheck.js.map +0 -1
- package/src/hooks/useOFACGeoBlockCheck.ts +0 -37
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
const mockInjectiveCurrency = {
|
|
2
|
+
type: "CryptoCurrency" as const,
|
|
3
|
+
id: "injective",
|
|
4
|
+
name: "Injective",
|
|
5
|
+
ticker: "INJ",
|
|
6
|
+
units: [
|
|
7
|
+
{
|
|
8
|
+
name: "INJ",
|
|
9
|
+
code: "INJ",
|
|
10
|
+
magnitude: 18,
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
family: "injective",
|
|
14
|
+
managerAppName: "Injective",
|
|
15
|
+
coinType: 60,
|
|
16
|
+
scheme: "injective",
|
|
17
|
+
color: "#00F2FE",
|
|
18
|
+
explorerViews: [],
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const mockEthereumCurrency = {
|
|
22
|
+
type: "CryptoCurrency" as const,
|
|
23
|
+
id: "ethereum",
|
|
24
|
+
name: "Ethereum",
|
|
25
|
+
ticker: "ETH",
|
|
26
|
+
units: [],
|
|
27
|
+
family: "ethereum",
|
|
28
|
+
managerAppName: "Ethereum",
|
|
29
|
+
coinType: 60,
|
|
30
|
+
scheme: "ethereum",
|
|
31
|
+
color: "#627EEA",
|
|
32
|
+
explorerViews: [],
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const mockBscCurrency = {
|
|
36
|
+
type: "CryptoCurrency" as const,
|
|
37
|
+
id: "bsc",
|
|
38
|
+
name: "Binance Smart Chain",
|
|
39
|
+
ticker: "BNB",
|
|
40
|
+
units: [],
|
|
41
|
+
family: "evm",
|
|
42
|
+
managerAppName: "Binance Smart Chain",
|
|
43
|
+
coinType: 60,
|
|
44
|
+
scheme: "bsc",
|
|
45
|
+
color: "#F3BA2F",
|
|
46
|
+
explorerViews: [],
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const mockAssetsData = {
|
|
50
|
+
cryptoAssets: {
|
|
51
|
+
"urn:crypto:meta-currency:injective_protocol": {
|
|
52
|
+
id: "urn:crypto:meta-currency:injective_protocol",
|
|
53
|
+
ticker: "INJ",
|
|
54
|
+
name: "Injective",
|
|
55
|
+
assetsIds: {
|
|
56
|
+
injective: "injective",
|
|
57
|
+
ethereum: "ethereum/erc20/injective_token",
|
|
58
|
+
bsc: "bsc/bep20/injective_protocol",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
networks: {
|
|
63
|
+
bsc: { id: "bsc", name: "Binance Smart Chain" },
|
|
64
|
+
ethereum: { id: "ethereum", name: "Ethereum" },
|
|
65
|
+
injective: { id: "injective", name: "Injective" },
|
|
66
|
+
},
|
|
67
|
+
cryptoOrTokenCurrencies: {
|
|
68
|
+
"bsc/bep20/injective_protocol": {
|
|
69
|
+
type: "TokenCurrency" as const,
|
|
70
|
+
id: "bsc/bep20/injective_protocol",
|
|
71
|
+
name: "Injective Protocol",
|
|
72
|
+
ticker: "INJ",
|
|
73
|
+
contractAddress: "0x0",
|
|
74
|
+
parentCurrency: mockBscCurrency,
|
|
75
|
+
tokenType: "bep20",
|
|
76
|
+
units: [
|
|
77
|
+
{
|
|
78
|
+
name: "INJ",
|
|
79
|
+
code: "INJ",
|
|
80
|
+
magnitude: 18,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
"ethereum/erc20/injective_token": {
|
|
85
|
+
type: "TokenCurrency" as const,
|
|
86
|
+
id: "ethereum/erc20/injective_token",
|
|
87
|
+
name: "Injective Token",
|
|
88
|
+
ticker: "INJ",
|
|
89
|
+
contractAddress: "0x0",
|
|
90
|
+
parentCurrency: mockEthereumCurrency,
|
|
91
|
+
tokenType: "erc20",
|
|
92
|
+
units: [
|
|
93
|
+
{
|
|
94
|
+
name: "INJ",
|
|
95
|
+
code: "INJ",
|
|
96
|
+
magnitude: 18,
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
injective: mockInjectiveCurrency,
|
|
101
|
+
},
|
|
102
|
+
interestRates: {},
|
|
103
|
+
markets: {},
|
|
104
|
+
currenciesOrder: {
|
|
105
|
+
key: "marketCap",
|
|
106
|
+
order: "desc",
|
|
107
|
+
currenciesIds: ["injective", "ethereum/erc20/injective_token", "bsc/bep20/injective_protocol"],
|
|
108
|
+
metaCurrencyIds: ["urn:crypto:meta-currency:injective_protocol"],
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export const mockAssetsDataWithPagination = {
|
|
113
|
+
...mockAssetsData,
|
|
114
|
+
pagination: {
|
|
115
|
+
nextCursor: "cursor-1",
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// Bitcoin mock data
|
|
120
|
+
const mockBitcoinCurrency = {
|
|
121
|
+
type: "CryptoCurrency" as const,
|
|
122
|
+
id: "bitcoin",
|
|
123
|
+
name: "Bitcoin",
|
|
124
|
+
ticker: "BTC",
|
|
125
|
+
units: [
|
|
126
|
+
{
|
|
127
|
+
name: "BTC",
|
|
128
|
+
code: "BTC",
|
|
129
|
+
magnitude: 8,
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
family: "bitcoin",
|
|
133
|
+
managerAppName: "Bitcoin",
|
|
134
|
+
coinType: 0,
|
|
135
|
+
scheme: "bitcoin",
|
|
136
|
+
color: "#FF9900",
|
|
137
|
+
explorerViews: [],
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export const mockBitcoinAssetsData = {
|
|
141
|
+
cryptoAssets: {
|
|
142
|
+
bitcoin: {
|
|
143
|
+
id: "bitcoin",
|
|
144
|
+
ticker: "BTC",
|
|
145
|
+
name: "Bitcoin",
|
|
146
|
+
assetsIds: {
|
|
147
|
+
bitcoin: "bitcoin",
|
|
148
|
+
ethereum: "ethereum/erc20/wrapped_bitcoin",
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
networks: {
|
|
153
|
+
bitcoin: { id: "bitcoin", name: "Bitcoin" },
|
|
154
|
+
ethereum: { id: "ethereum", name: "Ethereum" },
|
|
155
|
+
},
|
|
156
|
+
cryptoOrTokenCurrencies: {
|
|
157
|
+
bitcoin: mockBitcoinCurrency,
|
|
158
|
+
"ethereum/erc20/wrapped_bitcoin": {
|
|
159
|
+
type: "TokenCurrency" as const,
|
|
160
|
+
id: "ethereum/erc20/wrapped_bitcoin",
|
|
161
|
+
name: "Wrapped Bitcoin",
|
|
162
|
+
ticker: "WBTC",
|
|
163
|
+
contractAddress: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
|
|
164
|
+
parentCurrency: mockEthereumCurrency,
|
|
165
|
+
tokenType: "erc20",
|
|
166
|
+
units: [
|
|
167
|
+
{
|
|
168
|
+
name: "WBTC",
|
|
169
|
+
code: "WBTC",
|
|
170
|
+
magnitude: 8,
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
interestRates: {},
|
|
176
|
+
markets: {},
|
|
177
|
+
currenciesOrder: {
|
|
178
|
+
key: "marketCap",
|
|
179
|
+
order: "desc",
|
|
180
|
+
currenciesIds: ["bitcoin", "ethereum/erc20/wrapped_bitcoin"],
|
|
181
|
+
metaCurrencyIds: ["bitcoin"],
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
// USDC mock data
|
|
186
|
+
const mockPolygonCurrency = {
|
|
187
|
+
type: "CryptoCurrency" as const,
|
|
188
|
+
id: "polygon",
|
|
189
|
+
name: "Polygon",
|
|
190
|
+
ticker: "MATIC",
|
|
191
|
+
units: [
|
|
192
|
+
{
|
|
193
|
+
name: "MATIC",
|
|
194
|
+
code: "MATIC",
|
|
195
|
+
magnitude: 18,
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
family: "evm",
|
|
199
|
+
managerAppName: "Polygon",
|
|
200
|
+
coinType: 60,
|
|
201
|
+
scheme: "polygon",
|
|
202
|
+
color: "#8247E5",
|
|
203
|
+
explorerViews: [],
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
export const mockUsdcAssetsData = {
|
|
207
|
+
cryptoAssets: {
|
|
208
|
+
usdc: {
|
|
209
|
+
id: "usdc",
|
|
210
|
+
ticker: "USDC",
|
|
211
|
+
name: "USD Coin",
|
|
212
|
+
assetsIds: {
|
|
213
|
+
ethereum: "ethereum/erc20/usd_coin",
|
|
214
|
+
polygon: "polygon/erc20/usd_coin",
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
networks: {
|
|
219
|
+
ethereum: { id: "ethereum", name: "Ethereum" },
|
|
220
|
+
polygon: { id: "polygon", name: "Polygon" },
|
|
221
|
+
},
|
|
222
|
+
cryptoOrTokenCurrencies: {
|
|
223
|
+
"ethereum/erc20/usd_coin": {
|
|
224
|
+
type: "TokenCurrency" as const,
|
|
225
|
+
id: "ethereum/erc20/usd_coin",
|
|
226
|
+
name: "USD Coin",
|
|
227
|
+
ticker: "USDC",
|
|
228
|
+
contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
229
|
+
parentCurrency: mockEthereumCurrency,
|
|
230
|
+
tokenType: "erc20",
|
|
231
|
+
units: [
|
|
232
|
+
{
|
|
233
|
+
name: "USDC",
|
|
234
|
+
code: "USDC",
|
|
235
|
+
magnitude: 6,
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
},
|
|
239
|
+
"polygon/erc20/usd_coin": {
|
|
240
|
+
type: "TokenCurrency" as const,
|
|
241
|
+
id: "polygon/erc20/usd_coin",
|
|
242
|
+
name: "USD Coin (Polygon)",
|
|
243
|
+
ticker: "USDC",
|
|
244
|
+
contractAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
245
|
+
parentCurrency: mockPolygonCurrency,
|
|
246
|
+
tokenType: "erc20",
|
|
247
|
+
units: [
|
|
248
|
+
{
|
|
249
|
+
name: "USDC",
|
|
250
|
+
code: "USDC",
|
|
251
|
+
magnitude: 6,
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
interestRates: {},
|
|
257
|
+
markets: {},
|
|
258
|
+
currenciesOrder: {
|
|
259
|
+
key: "marketCap",
|
|
260
|
+
order: "desc",
|
|
261
|
+
currenciesIds: ["ethereum/erc20/usd_coin", "polygon/erc20/usd_coin"],
|
|
262
|
+
metaCurrencyIds: ["usdc"],
|
|
263
|
+
},
|
|
264
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { renderHook } from "@testing-library/react";
|
|
6
|
+
import { useLazyLedgerCurrency } from "../useLazyLedgerCurrency";
|
|
7
|
+
import { assetsDataApi } from "../../state-manager/api";
|
|
8
|
+
import useEnv from "../../../hooks/useEnv";
|
|
9
|
+
import {
|
|
10
|
+
mockAssetsData,
|
|
11
|
+
mockBitcoinAssetsData,
|
|
12
|
+
mockUsdcAssetsData,
|
|
13
|
+
} from "../../__mocks__/assets.mock";
|
|
14
|
+
|
|
15
|
+
jest.mock("../../../hooks/useEnv");
|
|
16
|
+
|
|
17
|
+
jest.mock("../../state-manager/api", () => ({
|
|
18
|
+
assetsDataApi: {
|
|
19
|
+
useLazyGetAssetDataQuery: jest.fn(),
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
const mockUseEnv = jest.mocked(useEnv);
|
|
24
|
+
const mockUseLazyGetAssetDataQuery = jest.mocked(assetsDataApi.useLazyGetAssetDataQuery);
|
|
25
|
+
|
|
26
|
+
describe("useLazyLedgerCurrency", () => {
|
|
27
|
+
beforeEach(() => {
|
|
28
|
+
jest.clearAllMocks();
|
|
29
|
+
mockUseEnv.mockReturnValue(false);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("should return undefined when currency is null", async () => {
|
|
33
|
+
const mockTrigger = jest.fn();
|
|
34
|
+
mockUseLazyGetAssetDataQuery.mockReturnValue([mockTrigger, {} as any, {} as any]);
|
|
35
|
+
|
|
36
|
+
const { result } = renderHook(() =>
|
|
37
|
+
useLazyLedgerCurrency({ product: "lld", version: "1.0.0" }, null),
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
const ledgerCurrency = await result.current.getLedgerCurrency();
|
|
41
|
+
|
|
42
|
+
expect(ledgerCurrency).toBeUndefined();
|
|
43
|
+
expect(mockTrigger).not.toHaveBeenCalled();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it("should return undefined when currency has no ledgerIds", async () => {
|
|
47
|
+
const mockTrigger = jest.fn();
|
|
48
|
+
mockUseLazyGetAssetDataQuery.mockReturnValue([mockTrigger, {} as any, {} as any]);
|
|
49
|
+
|
|
50
|
+
const currency = { id: "test" };
|
|
51
|
+
const { result } = renderHook(() =>
|
|
52
|
+
useLazyLedgerCurrency({ product: "lld", version: "1.0.0" }, currency),
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
const ledgerCurrency = await result.current.getLedgerCurrency();
|
|
56
|
+
|
|
57
|
+
expect(ledgerCurrency).toBeUndefined();
|
|
58
|
+
expect(mockTrigger).not.toHaveBeenCalled();
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("should return undefined when currency has empty ledgerIds", async () => {
|
|
62
|
+
const mockTrigger = jest.fn();
|
|
63
|
+
mockUseLazyGetAssetDataQuery.mockReturnValue([mockTrigger, {} as any, {} as any]);
|
|
64
|
+
|
|
65
|
+
const currency = { id: "test", ledgerIds: [] };
|
|
66
|
+
const { result } = renderHook(() =>
|
|
67
|
+
useLazyLedgerCurrency({ product: "lld", version: "1.0.0" }, currency),
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
const ledgerCurrency = await result.current.getLedgerCurrency();
|
|
71
|
+
|
|
72
|
+
expect(ledgerCurrency).toBeUndefined();
|
|
73
|
+
expect(mockTrigger).not.toHaveBeenCalled();
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it("should return the CryptoCurrency when available (Injective example)", async () => {
|
|
77
|
+
const mockResult = mockAssetsData;
|
|
78
|
+
|
|
79
|
+
const mockTrigger = jest.fn().mockReturnValue({
|
|
80
|
+
unwrap: jest.fn().mockResolvedValue(mockResult),
|
|
81
|
+
});
|
|
82
|
+
mockUseLazyGetAssetDataQuery.mockReturnValue([mockTrigger, {} as any, {} as any]);
|
|
83
|
+
|
|
84
|
+
const currency = {
|
|
85
|
+
id: "injective",
|
|
86
|
+
ledgerIds: ["injective", "bsc/bep20/injective_protocol", "ethereum/erc20/injective_token"],
|
|
87
|
+
};
|
|
88
|
+
const { result } = renderHook(() =>
|
|
89
|
+
useLazyLedgerCurrency({ product: "lld", version: "1.0.0" }, currency),
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
const ledgerCurrency = await result.current.getLedgerCurrency();
|
|
93
|
+
|
|
94
|
+
expect(ledgerCurrency).toMatchObject({
|
|
95
|
+
type: "CryptoCurrency",
|
|
96
|
+
id: "injective",
|
|
97
|
+
name: "Injective",
|
|
98
|
+
ticker: "INJ",
|
|
99
|
+
});
|
|
100
|
+
expect(mockTrigger).toHaveBeenCalledWith(
|
|
101
|
+
{
|
|
102
|
+
currencyIds: [
|
|
103
|
+
"injective",
|
|
104
|
+
"bsc/bep20/injective_protocol",
|
|
105
|
+
"ethereum/erc20/injective_token",
|
|
106
|
+
],
|
|
107
|
+
product: "lld",
|
|
108
|
+
version: "1.0.0",
|
|
109
|
+
isStaging: false,
|
|
110
|
+
includeTestNetworks: false,
|
|
111
|
+
},
|
|
112
|
+
true,
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it("should return the currency matching metaCurrencyId when available", async () => {
|
|
117
|
+
const mockTrigger = jest.fn().mockReturnValue({
|
|
118
|
+
unwrap: jest.fn().mockResolvedValue(mockBitcoinAssetsData),
|
|
119
|
+
});
|
|
120
|
+
mockUseLazyGetAssetDataQuery.mockReturnValue([mockTrigger, {} as any, {} as any]);
|
|
121
|
+
|
|
122
|
+
const currency = { id: "bitcoin", ledgerIds: ["bitcoin"] };
|
|
123
|
+
const { result } = renderHook(() =>
|
|
124
|
+
useLazyLedgerCurrency({ product: "lld", version: "1.0.0" }, currency),
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
const ledgerCurrency = await result.current.getLedgerCurrency();
|
|
128
|
+
|
|
129
|
+
// Should return the currency matching metaCurrencyId (bitcoin)
|
|
130
|
+
expect(ledgerCurrency).toMatchObject({
|
|
131
|
+
type: "CryptoCurrency",
|
|
132
|
+
id: "bitcoin",
|
|
133
|
+
name: "Bitcoin",
|
|
134
|
+
ticker: "BTC",
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it("should return first TokenCurrency when no CryptoCurrency available", async () => {
|
|
139
|
+
const mockTrigger = jest.fn().mockReturnValue({
|
|
140
|
+
unwrap: jest.fn().mockResolvedValue(mockUsdcAssetsData),
|
|
141
|
+
});
|
|
142
|
+
mockUseLazyGetAssetDataQuery.mockReturnValue([mockTrigger, {} as any, {} as any]);
|
|
143
|
+
|
|
144
|
+
const currency = { id: "usdc", ledgerIds: ["ethereum/erc20/usd_coin"] };
|
|
145
|
+
const { result } = renderHook(() =>
|
|
146
|
+
useLazyLedgerCurrency({ product: "lld", version: "1.0.0" }, currency),
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
const ledgerCurrency = await result.current.getLedgerCurrency();
|
|
150
|
+
|
|
151
|
+
// Should return the first TokenCurrency since no CryptoCurrency exists
|
|
152
|
+
expect(ledgerCurrency?.type).toBe("TokenCurrency");
|
|
153
|
+
expect(ledgerCurrency?.ticker).toBe("USDC");
|
|
154
|
+
});
|
|
155
|
+
});
|
|
@@ -26,8 +26,10 @@ export function useAssetsData({
|
|
|
26
26
|
version,
|
|
27
27
|
isStaging,
|
|
28
28
|
includeTestNetworks,
|
|
29
|
+
skip,
|
|
29
30
|
}: GetAssetsDataParams & {
|
|
30
31
|
areCurrenciesFiltered?: boolean;
|
|
32
|
+
skip?: boolean;
|
|
31
33
|
}) {
|
|
32
34
|
const {
|
|
33
35
|
data,
|
|
@@ -39,15 +41,18 @@ export function useAssetsData({
|
|
|
39
41
|
isFetching,
|
|
40
42
|
isError,
|
|
41
43
|
isFetchingNextPage,
|
|
42
|
-
} = useGetAssetsDataInfiniteQuery(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
} = useGetAssetsDataInfiniteQuery(
|
|
45
|
+
{
|
|
46
|
+
search,
|
|
47
|
+
useCase,
|
|
48
|
+
currencyIds: areCurrenciesFiltered ? currencyIds : undefined,
|
|
49
|
+
product,
|
|
50
|
+
version,
|
|
51
|
+
isStaging,
|
|
52
|
+
includeTestNetworks,
|
|
53
|
+
},
|
|
54
|
+
{ skip },
|
|
55
|
+
);
|
|
51
56
|
|
|
52
57
|
const joinedPages = useMemo(() => {
|
|
53
58
|
return data?.pages.reduce<AssetsDataWithPagination>((acc, page) => {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { assetsDataApi } from "../state-manager/api";
|
|
3
|
+
import useEnv from "../../hooks/useEnv";
|
|
4
|
+
import { selectCurrency } from "../utils/currencySelection";
|
|
5
|
+
|
|
6
|
+
interface Currency {
|
|
7
|
+
id?: string;
|
|
8
|
+
ledgerIds?: string[];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface LazyLedgerCurrencyOptions {
|
|
12
|
+
product: "lld" | "llm";
|
|
13
|
+
version: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function useLazyLedgerCurrency(
|
|
17
|
+
options: LazyLedgerCurrencyOptions,
|
|
18
|
+
currency?: Currency | null,
|
|
19
|
+
) {
|
|
20
|
+
const devMode = useEnv("MANAGER_DEV_MODE");
|
|
21
|
+
|
|
22
|
+
const [triggerGetAssetData] = assetsDataApi.useLazyGetAssetDataQuery();
|
|
23
|
+
|
|
24
|
+
const getLedgerCurrency = useCallback(async () => {
|
|
25
|
+
if (!currency?.ledgerIds || currency.ledgerIds.length === 0) return undefined;
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
const result = await triggerGetAssetData(
|
|
29
|
+
{
|
|
30
|
+
currencyIds: currency.ledgerIds,
|
|
31
|
+
product: options.product,
|
|
32
|
+
version: options.version,
|
|
33
|
+
isStaging: false,
|
|
34
|
+
includeTestNetworks: devMode,
|
|
35
|
+
},
|
|
36
|
+
true, // prefer cached data
|
|
37
|
+
).unwrap();
|
|
38
|
+
|
|
39
|
+
return selectCurrency(result);
|
|
40
|
+
} catch {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
}, [currency, devMode, options, triggerGetAssetData]);
|
|
44
|
+
|
|
45
|
+
return { getLedgerCurrency };
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./entities";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { selectCurrency } from "../currencySelection";
|
|
2
|
+
import { mockAssetsDataWithPagination } from "../../__mocks__/assets.mock";
|
|
3
|
+
|
|
4
|
+
describe("currencySelection", () => {
|
|
5
|
+
it("should return the correct currency", () => {
|
|
6
|
+
const result = selectCurrency(mockAssetsDataWithPagination);
|
|
7
|
+
expect(result).toBeDefined();
|
|
8
|
+
|
|
9
|
+
expect(result).toMatchObject({
|
|
10
|
+
type: "CryptoCurrency",
|
|
11
|
+
id: "injective",
|
|
12
|
+
name: "Injective",
|
|
13
|
+
ticker: "INJ",
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets";
|
|
2
|
+
import { AssetsDataWithPagination } from "../state-manager/types";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Selects the best currency from asset data result based on priority:
|
|
6
|
+
* 1. Main currency (matching metaCurrencyId)
|
|
7
|
+
* 2. CryptoCurrency type
|
|
8
|
+
* 3. First available network
|
|
9
|
+
*/
|
|
10
|
+
export function selectCurrency(
|
|
11
|
+
result: AssetsDataWithPagination,
|
|
12
|
+
): CryptoOrTokenCurrency | undefined {
|
|
13
|
+
const metaCurrencyId = result.currenciesOrder.metaCurrencyIds?.[0];
|
|
14
|
+
if (!metaCurrencyId) return undefined;
|
|
15
|
+
|
|
16
|
+
const assetsIds = result.cryptoAssets[metaCurrencyId]?.assetsIds;
|
|
17
|
+
if (!assetsIds) return undefined;
|
|
18
|
+
|
|
19
|
+
let fallback: CryptoOrTokenCurrency | undefined;
|
|
20
|
+
let crypto: CryptoOrTokenCurrency | undefined;
|
|
21
|
+
|
|
22
|
+
for (const id of Object.values(assetsIds)) {
|
|
23
|
+
const currency = result.cryptoOrTokenCurrencies[id];
|
|
24
|
+
if (!currency) continue;
|
|
25
|
+
|
|
26
|
+
if (currency.id === metaCurrencyId) return currency; // highest priority
|
|
27
|
+
if (!fallback) fallback = currency;
|
|
28
|
+
if (!crypto && currency.type === "CryptoCurrency") crypto = currency;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// CryptoCurrency > fallback (should be a TokenCurrency)
|
|
32
|
+
return crypto ?? fallback;
|
|
33
|
+
}
|
|
@@ -7,6 +7,21 @@ import { useGroupedCurrenciesByProvider } from ".";
|
|
|
7
7
|
import { GroupedCurrencies, LoadingBasedGroupedCurrencies, MappedAsset } from "./type";
|
|
8
8
|
import * as api from "./api";
|
|
9
9
|
|
|
10
|
+
// Mock dependencies for useAcceptedCurrency
|
|
11
|
+
jest.mock("../featureFlags", () => ({
|
|
12
|
+
useFeature: jest.fn().mockReturnValue({ enabled: true }),
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
jest.mock("../hooks/useEnv", () => jest.fn().mockReturnValue(false));
|
|
16
|
+
|
|
17
|
+
// Mock the countervalues API for currenciesByMarketcap
|
|
18
|
+
jest.mock("@ledgerhq/live-countervalues/api/index", () => ({
|
|
19
|
+
__esModule: true,
|
|
20
|
+
default: {
|
|
21
|
+
fetchIdsSortedByMarketcap: jest.fn().mockResolvedValue(["bitcoin", "ethereum"]),
|
|
22
|
+
},
|
|
23
|
+
}));
|
|
24
|
+
|
|
10
25
|
// Mock the API module
|
|
11
26
|
jest.mock("./api");
|
|
12
27
|
const mockGetMappedAssets = api.getMappedAssets as jest.MockedFunction<typeof api.getMappedAssets>;
|