@ledgerhq/live-common 34.54.0 → 34.55.0-nightly.20251210100832
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/test-helpers/bridge.js +1 -1
- package/lib/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib/__tests__/test-helpers/environment.js +3 -0
- package/lib/__tests__/test-helpers/environment.js.map +1 -1
- package/lib/account/index.d.ts +1 -0
- package/lib/account/index.d.ts.map +1 -1
- package/lib/account/index.js +4 -1
- package/lib/account/index.js.map +1 -1
- package/lib/account/recentAddresses.d.ts +10 -0
- package/lib/account/recentAddresses.d.ts.map +1 -0
- package/lib/account/recentAddresses.js +60 -0
- package/lib/account/recentAddresses.js.map +1 -0
- package/lib/account/serialization.js +1 -1
- package/lib/account/serialization.js.map +1 -1
- package/lib/account/support.js +1 -1
- package/lib/account/support.js.map +1 -1
- package/lib/bridge/generic-alpaca/accountBridge.d.ts +1 -1
- package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/accountBridge.js +2 -1
- package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -1
- package/lib/bridge/generic-alpaca/broadcast.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/broadcast.js +3 -3
- package/lib/bridge/generic-alpaca/broadcast.js.map +1 -1
- package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/currencyBridge.js +3 -3
- package/lib/bridge/generic-alpaca/currencyBridge.js.map +1 -1
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +2 -1
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.js +24 -8
- package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js +16 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib/bridge/generic-alpaca/postSync.d.ts +16 -0
- package/lib/bridge/generic-alpaca/postSync.d.ts.map +1 -0
- package/lib/bridge/generic-alpaca/postSync.js +44 -0
- package/lib/bridge/generic-alpaca/postSync.js.map +1 -0
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.js +45 -4
- 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 +18 -2
- package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/Eth.d.ts +2 -0
- package/lib/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/Eth.js +8 -1
- package/lib/bridge/generic-alpaca/signer/Eth.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/index.js +7 -0
- package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/types.d.ts +4 -0
- package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.js +12 -3
- package/lib/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib/bridge/impl.d.ts.map +1 -1
- package/lib/bridge/impl.js +14 -3
- package/lib/bridge/impl.js.map +1 -1
- package/lib/currencies/helpers.d.ts +1 -0
- package/lib/currencies/helpers.d.ts.map +1 -1
- package/lib/currencies/helpers.js +7 -1
- package/lib/currencies/helpers.js.map +1 -1
- package/lib/domain/getTokensWithFunds.d.ts +7 -1
- package/lib/domain/getTokensWithFunds.d.ts.map +1 -1
- package/lib/domain/getTokensWithFunds.js +15 -4
- package/lib/domain/getTokensWithFunds.js.map +1 -1
- package/lib/domain/getTotalStakeableAssets.d.ts +10 -0
- package/lib/domain/getTotalStakeableAssets.d.ts.map +1 -0
- package/lib/domain/getTotalStakeableAssets.js +35 -0
- package/lib/domain/getTotalStakeableAssets.js.map +1 -0
- package/lib/e2e/data/deviceLabelsData.d.ts.map +1 -1
- package/lib/e2e/data/deviceLabelsData.js +1 -0
- package/lib/e2e/data/deviceLabelsData.js.map +1 -1
- package/lib/e2e/data/regexes.d.ts +2 -0
- package/lib/e2e/data/regexes.d.ts.map +1 -0
- package/lib/e2e/data/regexes.js +5 -0
- package/lib/e2e/data/regexes.js.map +1 -0
- package/lib/e2e/enum/Device.d.ts +1 -0
- package/lib/e2e/enum/Device.d.ts.map +1 -1
- package/lib/e2e/enum/Device.js +1 -0
- package/lib/e2e/enum/Device.js.map +1 -1
- package/lib/e2e/families/cardano.d.ts.map +1 -1
- package/lib/e2e/families/cardano.js +29 -14
- package/lib/e2e/families/cardano.js.map +1 -1
- package/lib/e2e/index.d.ts +35 -3
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/e2e/index.js +21 -1
- package/lib/e2e/index.js.map +1 -1
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +31 -4
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/e2e/speculosAppVersion.d.ts.map +1 -1
- package/lib/e2e/speculosAppVersion.js +6 -2
- package/lib/e2e/speculosAppVersion.js.map +1 -1
- package/lib/e2e/swap.d.ts.map +1 -1
- package/lib/e2e/swap.js +7 -6
- package/lib/e2e/swap.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/exchange/swap/api/v5/fetchCurrencyFrom.js +1 -1
- package/lib/exchange/swap/api/v5/fetchCurrencyFrom.js.map +1 -1
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
- package/lib/exchange/swap/postSwapState.d.ts.map +1 -1
- package/lib/exchange/swap/postSwapState.js +10 -6
- package/lib/exchange/swap/postSwapState.js.map +1 -1
- package/lib/exchange/swap/transactionStrategies.d.ts +3 -2
- package/lib/exchange/swap/transactionStrategies.d.ts.map +1 -1
- package/lib/exchange/swap/transactionStrategies.js +26 -7
- package/lib/exchange/swap/transactionStrategies.js.map +1 -1
- package/lib/exchange/swap/types.d.ts +3 -1
- package/lib/exchange/swap/types.d.ts.map +1 -1
- package/lib/families/bitcoin/walletApiAdapter.d.ts.map +1 -1
- package/lib/families/bitcoin/walletApiAdapter.js +3 -0
- package/lib/families/bitcoin/walletApiAdapter.js.map +1 -1
- package/lib/families/canton/config.d.ts.map +1 -1
- package/lib/families/canton/config.js +4 -4
- package/lib/families/canton/config.js.map +1 -1
- package/lib/families/canton/react.d.ts +2 -0
- package/lib/families/canton/react.d.ts.map +1 -1
- package/lib/families/canton/react.js +40 -1
- package/lib/families/canton/react.js.map +1 -1
- package/lib/families/celo/setup.d.ts.map +1 -1
- package/lib/families/celo/setup.js +11 -0
- package/lib/families/celo/setup.js.map +1 -1
- package/lib/families/evm/bridge/mock.d.ts +1 -0
- package/lib/families/evm/bridge/mock.d.ts.map +1 -1
- package/lib/families/evm/bridge/mock.js +12 -0
- package/lib/families/evm/bridge/mock.js.map +1 -1
- package/lib/families/evm/setup.d.ts +1 -4
- package/lib/families/evm/setup.d.ts.map +1 -1
- package/lib/families/evm/setup.js +1 -8
- package/lib/families/evm/setup.js.map +1 -1
- package/lib/families/evm/walletApiAdapter.d.ts +7 -0
- package/lib/families/evm/walletApiAdapter.d.ts.map +1 -1
- package/lib/families/evm/walletApiAdapter.js +36 -2
- package/lib/families/evm/walletApiAdapter.js.map +1 -1
- package/lib/families/hedera/react.d.ts +6 -0
- package/lib/families/hedera/react.d.ts.map +1 -0
- package/lib/families/hedera/react.js +50 -0
- package/lib/families/hedera/react.js.map +1 -0
- package/lib/families/polkadot/config.js +1 -1
- package/lib/families/polkadot/config.js.map +1 -1
- package/lib/families/stacks/constants.d.ts +1 -1
- package/lib/families/stacks/constants.d.ts.map +1 -1
- package/lib/families/stacks/constants.js +1 -1
- package/lib/families/stacks/constants.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 +22 -1
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/firebaseFeatureFlags.js +1 -1
- package/lib/featureFlags/firebaseFeatureFlags.js.map +1 -1
- package/lib/featureFlags/stakePrograms/index.js +4 -4
- 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/featureFlags/useHasOverriddenFeatureFlags.js +1 -1
- package/lib/featureFlags/useHasOverriddenFeatureFlags.js.map +1 -1
- package/lib/generated/bridge/js.d.ts +0 -1
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js +30 -32
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib/generated/bridge/mock.d.ts +1 -0
- package/lib/generated/bridge/mock.d.ts.map +1 -1
- package/lib/helpers/cryptoIconSize.d.ts +3 -0
- package/lib/helpers/cryptoIconSize.d.ts.map +1 -0
- package/lib/helpers/cryptoIconSize.js +40 -0
- package/lib/helpers/cryptoIconSize.js.map +1 -0
- package/lib/helpers.d.ts +1 -0
- package/lib/helpers.d.ts.map +1 -1
- package/lib/helpers.js +15 -0
- package/lib/helpers.js.map +1 -1
- package/lib/hooks/useHtmlLinkSegments.d.ts +19 -0
- package/lib/hooks/useHtmlLinkSegments.d.ts.map +1 -0
- package/lib/hooks/useHtmlLinkSegments.js +128 -0
- package/lib/hooks/useHtmlLinkSegments.js.map +1 -0
- package/lib/hw/getAppAndVersion.d.ts +3 -1
- package/lib/hw/getAppAndVersion.d.ts.map +1 -1
- package/lib/hw/getAppAndVersion.js +2 -2
- package/lib/hw/getAppAndVersion.js.map +1 -1
- package/lib/hw/getBitcoinLikeInfo.js +1 -1
- package/lib/hw/getBitcoinLikeInfo.js.map +1 -1
- package/lib/load/speculos.d.ts.map +1 -1
- package/lib/load/speculos.js +1 -0
- package/lib/load/speculos.js.map +1 -1
- package/lib/mock/account.js +1 -1
- package/lib/mock/account.js.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +6 -0
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
- package/lib/operation.d.ts.map +1 -1
- package/lib/operation.js +7 -2
- package/lib/operation.js.map +1 -1
- package/lib/postOnboarding/reducer.d.ts +2 -0
- package/lib/postOnboarding/reducer.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/SwapError.d.ts +93 -0
- package/lib/wallet-api/Exchange/SwapError.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/SwapError.js +142 -0
- package/lib/wallet-api/Exchange/SwapError.js.map +1 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.d.ts +40 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.js +112 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.js.map +1 -0
- package/lib/wallet-api/Exchange/index.d.ts +4 -0
- package/lib/wallet-api/Exchange/index.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/index.js +27 -0
- package/lib/wallet-api/Exchange/index.js.map +1 -0
- package/lib/wallet-api/Exchange/parser.d.ts +46 -0
- package/lib/wallet-api/Exchange/parser.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/parser.js +97 -0
- package/lib/wallet-api/Exchange/parser.js.map +1 -0
- package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/server.js +227 -174
- package/lib/wallet-api/Exchange/server.js.map +1 -1
- package/lib/wallet-api/Exchange/tracking.d.ts +7 -6
- package/lib/wallet-api/Exchange/tracking.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/tracking.js +52 -13
- package/lib/wallet-api/Exchange/tracking.js.map +1 -1
- package/lib/wallet-api/constants.d.ts +1 -1
- package/lib/wallet-api/logic.d.ts +1 -1
- package/lib/wallet-api/logic.d.ts.map +1 -1
- package/lib/wallet-api/logic.js +5 -5
- 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 +9 -6
- package/lib/wallet-api/react.js.map +1 -1
- package/lib/wallet-api/tracking.d.ts +5 -5
- package/lib/wallet-api/tracking.d.ts.map +1 -1
- package/lib/wallet-api/tracking.js +30 -10
- 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 +31 -20
- package/lib/wallet-api/useDappLogic.js.map +1 -1
- package/lib/wallet-api/utils/extractDappURLFromManifest.js +3 -3
- package/lib/wallet-api/utils/extractDappURLFromManifest.js.map +1 -1
- package/lib/wallet-api/utils/extractURLFromManifest.js +1 -1
- package/lib/wallet-api/utils/extractURLFromManifest.js.map +1 -1
- package/lib/walletSync/getEnvironmentParams.js +6 -6
- package/lib/walletSync/getEnvironmentParams.js.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib-es/__tests__/test-helpers/environment.js +3 -0
- package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
- package/lib-es/account/index.d.ts +1 -0
- package/lib-es/account/index.d.ts.map +1 -1
- package/lib-es/account/index.js +1 -0
- package/lib-es/account/index.js.map +1 -1
- package/lib-es/account/recentAddresses.d.ts +10 -0
- package/lib-es/account/recentAddresses.d.ts.map +1 -0
- package/lib-es/account/recentAddresses.js +55 -0
- package/lib-es/account/recentAddresses.js.map +1 -0
- package/lib-es/account/serialization.js +1 -1
- package/lib-es/account/serialization.js.map +1 -1
- package/lib-es/account/support.js +1 -1
- package/lib-es/account/support.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +1 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.js +2 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/broadcast.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/broadcast.js +3 -3
- package/lib-es/bridge/generic-alpaca/broadcast.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.js +3 -3
- package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +2 -1
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.js +24 -8
- package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +16 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/postSync.d.ts +16 -0
- package/lib-es/bridge/generic-alpaca/postSync.d.ts.map +1 -0
- package/lib-es/bridge/generic-alpaca/postSync.js +37 -0
- package/lib-es/bridge/generic-alpaca/postSync.js.map +1 -0
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js +45 -4
- 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 +18 -2
- package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts +2 -0
- package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.js +4 -0
- package/lib-es/bridge/generic-alpaca/signer/Eth.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/index.js +7 -0
- package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/types.d.ts +4 -0
- package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js +12 -3
- package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib-es/bridge/impl.d.ts.map +1 -1
- package/lib-es/bridge/impl.js +14 -3
- package/lib-es/bridge/impl.js.map +1 -1
- package/lib-es/currencies/helpers.d.ts +1 -0
- package/lib-es/currencies/helpers.d.ts.map +1 -1
- package/lib-es/currencies/helpers.js +5 -0
- package/lib-es/currencies/helpers.js.map +1 -1
- package/lib-es/domain/getTokensWithFunds.d.ts +7 -1
- package/lib-es/domain/getTokensWithFunds.d.ts.map +1 -1
- package/lib-es/domain/getTokensWithFunds.js +13 -3
- package/lib-es/domain/getTokensWithFunds.js.map +1 -1
- package/lib-es/domain/getTotalStakeableAssets.d.ts +10 -0
- package/lib-es/domain/getTotalStakeableAssets.d.ts.map +1 -0
- package/lib-es/domain/getTotalStakeableAssets.js +31 -0
- package/lib-es/domain/getTotalStakeableAssets.js.map +1 -0
- package/lib-es/e2e/data/deviceLabelsData.d.ts.map +1 -1
- package/lib-es/e2e/data/deviceLabelsData.js +1 -0
- package/lib-es/e2e/data/deviceLabelsData.js.map +1 -1
- package/lib-es/e2e/data/regexes.d.ts +2 -0
- package/lib-es/e2e/data/regexes.d.ts.map +1 -0
- package/lib-es/e2e/data/regexes.js +2 -0
- package/lib-es/e2e/data/regexes.js.map +1 -0
- package/lib-es/e2e/enum/Device.d.ts +1 -0
- package/lib-es/e2e/enum/Device.d.ts.map +1 -1
- package/lib-es/e2e/enum/Device.js +1 -0
- package/lib-es/e2e/enum/Device.js.map +1 -1
- package/lib-es/e2e/families/cardano.d.ts.map +1 -1
- package/lib-es/e2e/families/cardano.js +29 -14
- package/lib-es/e2e/families/cardano.js.map +1 -1
- package/lib-es/e2e/index.d.ts +35 -3
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/e2e/index.js +16 -0
- package/lib-es/e2e/index.js.map +1 -1
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +31 -4
- 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 +6 -2
- package/lib-es/e2e/speculosAppVersion.js.map +1 -1
- package/lib-es/e2e/swap.d.ts.map +1 -1
- package/lib-es/e2e/swap.js +7 -6
- package/lib-es/e2e/swap.js.map +1 -1
- package/lib-es/env.react.d.ts +1 -1
- package/lib-es/env.react.d.ts.map +1 -1
- package/lib-es/exchange/swap/api/v5/fetchCurrencyFrom.js +1 -1
- package/lib-es/exchange/swap/api/v5/fetchCurrencyFrom.js.map +1 -1
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
- package/lib-es/exchange/swap/postSwapState.d.ts.map +1 -1
- package/lib-es/exchange/swap/postSwapState.js +10 -6
- package/lib-es/exchange/swap/postSwapState.js.map +1 -1
- package/lib-es/exchange/swap/transactionStrategies.d.ts +3 -2
- package/lib-es/exchange/swap/transactionStrategies.d.ts.map +1 -1
- package/lib-es/exchange/swap/transactionStrategies.js +26 -7
- package/lib-es/exchange/swap/transactionStrategies.js.map +1 -1
- package/lib-es/exchange/swap/types.d.ts +3 -1
- package/lib-es/exchange/swap/types.d.ts.map +1 -1
- package/lib-es/families/bitcoin/walletApiAdapter.d.ts.map +1 -1
- package/lib-es/families/bitcoin/walletApiAdapter.js +3 -0
- package/lib-es/families/bitcoin/walletApiAdapter.js.map +1 -1
- package/lib-es/families/canton/config.d.ts.map +1 -1
- package/lib-es/families/canton/config.js +4 -4
- package/lib-es/families/canton/config.js.map +1 -1
- package/lib-es/families/canton/react.d.ts +2 -0
- package/lib-es/families/canton/react.d.ts.map +1 -1
- package/lib-es/families/canton/react.js +38 -1
- package/lib-es/families/canton/react.js.map +1 -1
- package/lib-es/families/celo/setup.d.ts.map +1 -1
- package/lib-es/families/celo/setup.js +11 -0
- package/lib-es/families/celo/setup.js.map +1 -1
- package/lib-es/families/evm/bridge/mock.d.ts +1 -0
- package/lib-es/families/evm/bridge/mock.d.ts.map +1 -1
- package/lib-es/families/evm/bridge/mock.js +12 -0
- package/lib-es/families/evm/bridge/mock.js.map +1 -1
- package/lib-es/families/evm/setup.d.ts +1 -4
- package/lib-es/families/evm/setup.d.ts.map +1 -1
- package/lib-es/families/evm/setup.js +2 -8
- package/lib-es/families/evm/setup.js.map +1 -1
- package/lib-es/families/evm/walletApiAdapter.d.ts +7 -0
- package/lib-es/families/evm/walletApiAdapter.d.ts.map +1 -1
- package/lib-es/families/evm/walletApiAdapter.js +30 -1
- package/lib-es/families/evm/walletApiAdapter.js.map +1 -1
- package/lib-es/families/hedera/react.d.ts +6 -0
- package/lib-es/families/hedera/react.d.ts.map +1 -0
- package/lib-es/families/hedera/react.js +41 -0
- package/lib-es/families/hedera/react.js.map +1 -0
- package/lib-es/families/polkadot/config.js +1 -1
- package/lib-es/families/polkadot/config.js.map +1 -1
- package/lib-es/families/stacks/constants.d.ts +1 -1
- package/lib-es/families/stacks/constants.d.ts.map +1 -1
- package/lib-es/families/stacks/constants.js +1 -1
- package/lib-es/families/stacks/constants.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 +22 -1
- package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
- package/lib-es/featureFlags/firebaseFeatureFlags.js +1 -1
- package/lib-es/featureFlags/firebaseFeatureFlags.js.map +1 -1
- package/lib-es/featureFlags/stakePrograms/index.js +4 -4
- 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/featureFlags/useHasOverriddenFeatureFlags.js +1 -1
- package/lib-es/featureFlags/useHasOverriddenFeatureFlags.js.map +1 -1
- package/lib-es/generated/bridge/js.d.ts +0 -1
- package/lib-es/generated/bridge/js.d.ts.map +1 -1
- package/lib-es/generated/bridge/js.js +0 -2
- package/lib-es/generated/bridge/js.js.map +1 -1
- package/lib-es/generated/bridge/mock.d.ts +1 -0
- package/lib-es/generated/bridge/mock.d.ts.map +1 -1
- package/lib-es/helpers/cryptoIconSize.d.ts +3 -0
- package/lib-es/helpers/cryptoIconSize.d.ts.map +1 -0
- package/lib-es/helpers/cryptoIconSize.js +35 -0
- package/lib-es/helpers/cryptoIconSize.js.map +1 -0
- package/lib-es/helpers.d.ts +1 -0
- package/lib-es/helpers.d.ts.map +1 -1
- package/lib-es/helpers.js +1 -0
- package/lib-es/helpers.js.map +1 -1
- package/lib-es/hooks/useHtmlLinkSegments.d.ts +19 -0
- package/lib-es/hooks/useHtmlLinkSegments.d.ts.map +1 -0
- package/lib-es/hooks/useHtmlLinkSegments.js +121 -0
- package/lib-es/hooks/useHtmlLinkSegments.js.map +1 -0
- package/lib-es/hw/getAppAndVersion.d.ts +3 -1
- package/lib-es/hw/getAppAndVersion.d.ts.map +1 -1
- package/lib-es/hw/getAppAndVersion.js +2 -2
- package/lib-es/hw/getAppAndVersion.js.map +1 -1
- package/lib-es/hw/getBitcoinLikeInfo.js +1 -1
- package/lib-es/hw/getBitcoinLikeInfo.js.map +1 -1
- package/lib-es/load/speculos.d.ts.map +1 -1
- package/lib-es/load/speculos.js +1 -0
- package/lib-es/load/speculos.js.map +1 -1
- package/lib-es/mock/account.js +1 -1
- package/lib-es/mock/account.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +6 -0
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
- package/lib-es/operation.d.ts.map +1 -1
- package/lib-es/operation.js +7 -2
- package/lib-es/operation.js.map +1 -1
- package/lib-es/postOnboarding/reducer.d.ts +2 -0
- package/lib-es/postOnboarding/reducer.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/SwapError.d.ts +93 -0
- package/lib-es/wallet-api/Exchange/SwapError.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/SwapError.js +128 -0
- package/lib-es/wallet-api/Exchange/SwapError.js.map +1 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.d.ts +40 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.js +106 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.js.map +1 -0
- package/lib-es/wallet-api/Exchange/index.d.ts +4 -0
- package/lib-es/wallet-api/Exchange/index.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/index.js +7 -0
- package/lib-es/wallet-api/Exchange/index.js.map +1 -0
- package/lib-es/wallet-api/Exchange/parser.d.ts +46 -0
- package/lib-es/wallet-api/Exchange/parser.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/parser.js +90 -0
- package/lib-es/wallet-api/Exchange/parser.js.map +1 -0
- package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/server.js +224 -174
- package/lib-es/wallet-api/Exchange/server.js.map +1 -1
- package/lib-es/wallet-api/Exchange/tracking.d.ts +7 -6
- package/lib-es/wallet-api/Exchange/tracking.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/tracking.js +52 -13
- package/lib-es/wallet-api/Exchange/tracking.js.map +1 -1
- package/lib-es/wallet-api/constants.d.ts +1 -1
- package/lib-es/wallet-api/logic.d.ts +1 -1
- package/lib-es/wallet-api/logic.d.ts.map +1 -1
- package/lib-es/wallet-api/logic.js +5 -5
- 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 +9 -6
- package/lib-es/wallet-api/react.js.map +1 -1
- package/lib-es/wallet-api/tracking.d.ts +5 -5
- package/lib-es/wallet-api/tracking.d.ts.map +1 -1
- package/lib-es/wallet-api/tracking.js +30 -10
- 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 +31 -20
- package/lib-es/wallet-api/useDappLogic.js.map +1 -1
- package/lib-es/wallet-api/utils/extractDappURLFromManifest.js +3 -3
- package/lib-es/wallet-api/utils/extractDappURLFromManifest.js.map +1 -1
- package/lib-es/wallet-api/utils/extractURLFromManifest.js +1 -1
- package/lib-es/wallet-api/utils/extractURLFromManifest.js.map +1 -1
- package/lib-es/walletSync/getEnvironmentParams.js +6 -6
- package/lib-es/walletSync/getEnvironmentParams.js.map +1 -1
- package/package.json +82 -90
- package/src/__tests__/test-helpers/bridge.ts +1 -1
- package/src/__tests__/test-helpers/environment.ts +3 -0
- package/src/account/index.ts +6 -0
- package/src/account/recentAddresses.test.ts +104 -0
- package/src/account/recentAddresses.ts +84 -0
- package/src/account/serialization.ts +1 -1
- package/src/account/support.ts +1 -1
- package/src/bridge/generic-alpaca/accountBridge.ts +3 -2
- package/src/bridge/generic-alpaca/broadcast.ts +6 -3
- package/src/bridge/generic-alpaca/currencyBridge.ts +3 -3
- package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +2 -1
- package/src/bridge/generic-alpaca/getAccountShape.ts +36 -13
- package/src/bridge/generic-alpaca/getTransactionStatus.ts +16 -1
- package/src/bridge/generic-alpaca/postSync.test.ts +97 -0
- package/src/bridge/generic-alpaca/postSync.ts +42 -0
- package/src/bridge/generic-alpaca/prepareTransaction.ts +51 -10
- package/src/bridge/generic-alpaca/signOperation.ts +18 -2
- package/src/bridge/generic-alpaca/signer/Eth.ts +5 -1
- package/src/bridge/generic-alpaca/signer/index.ts +7 -0
- package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +43 -10
- package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +74 -0
- package/src/bridge/generic-alpaca/types.ts +4 -0
- package/src/bridge/generic-alpaca/utils.test.ts +4 -0
- package/src/bridge/generic-alpaca/utils.ts +15 -3
- package/src/bridge/impl.ts +16 -3
- package/src/currencies/helpers.test.ts +10 -1
- package/src/currencies/helpers.ts +6 -0
- package/src/domain/getTokensWithFunds.ts +18 -5
- package/src/domain/getTotalStakeableAssets.test.ts +267 -0
- package/src/domain/getTotalStakeableAssets.ts +47 -0
- package/src/e2e/data/deviceLabelsData.ts +1 -0
- package/src/e2e/data/regexes.ts +1 -0
- package/src/e2e/enum/Device.ts +1 -0
- package/src/e2e/families/cardano.ts +32 -14
- package/src/e2e/index.ts +20 -0
- package/src/e2e/speculos.ts +35 -4
- package/src/e2e/speculosAppVersion.ts +8 -2
- package/src/e2e/swap.ts +8 -7
- package/src/exchange/swap/api/v5/fetchCurrencyFrom.ts +1 -1
- package/src/exchange/swap/getIncompatibleCurrencyKeys.ts +4 -0
- package/src/exchange/swap/postSwapState.ts +10 -5
- package/src/exchange/swap/transactionStrategies.ts +30 -7
- package/src/exchange/swap/types.ts +3 -1
- package/src/families/bitcoin/walletApiAdapter.test.ts +36 -0
- package/src/families/bitcoin/walletApiAdapter.ts +4 -0
- package/src/families/canton/config.ts +5 -4
- package/src/families/canton/react.test.ts +147 -0
- package/src/families/canton/react.ts +45 -1
- package/src/families/celo/setup.ts +12 -0
- package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +73 -4
- package/src/families/cosmos/datasets/__snapshots__/cryptoOrg.integration.test.ts.snap +2 -2
- package/src/families/cosmos/datasets/__snapshots__/injective.integration.test.ts.snap +2 -2
- package/src/families/cosmos/datasets/__snapshots__/mantra.integration.test.ts.snap +2 -2
- package/src/families/cosmos/datasets/__snapshots__/osmosis.integration.test.ts.snap +2 -2
- package/src/families/cosmos/datasets/__snapshots__/persistence.integration.test.ts.snap +4 -4
- package/src/families/cosmos/datasets/__snapshots__/stargaze.integration.test.ts.snap +2 -2
- package/src/families/evm/bridge/mock.ts +14 -0
- package/src/families/evm/setup.ts +3 -22
- package/src/families/evm/walletApiAdapter.ts +33 -1
- package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +278 -17
- package/src/families/hedera/react.test.ts +272 -0
- package/src/families/hedera/react.ts +63 -0
- package/src/families/polkadot/__snapshots__/bridge.integration.test.ts.snap +6 -3653
- package/src/families/polkadot/config.ts +1 -1
- package/src/families/stacks/__snapshots__/bridge.integration.test.ts.snap +1537 -18
- package/src/families/stacks/__tests__/sync.integration.test.ts +2 -2
- package/src/families/stacks/constants.ts +1 -1
- package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +9 -9
- package/src/featureFlags/defaultFeatures.ts +22 -1
- package/src/featureFlags/firebaseFeatureFlags.ts +1 -1
- package/src/featureFlags/stakePrograms/index.ts +4 -4
- package/src/featureFlags/useHasOverriddenFeatureFlags.ts +1 -1
- package/src/generated/bridge/js.ts +0 -2
- package/src/helpers/cryptoIconSize.ts +25 -0
- package/src/helpers.ts +2 -0
- package/src/hooks/__tests__/useHtmlLinkSegments.test.ts +105 -0
- package/src/hooks/useHtmlLinkSegments.ts +158 -0
- package/src/hw/getAppAndVersion.ts +2 -1
- package/src/hw/getBitcoinLikeInfo.ts +1 -1
- package/src/load/speculos.ts +1 -0
- package/src/mock/account.ts +1 -1
- package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +6 -0
- package/src/operation.ts +10 -2
- package/src/wallet-api/Exchange/SwapError.test.ts +126 -0
- package/src/wallet-api/Exchange/SwapError.ts +159 -0
- package/src/wallet-api/Exchange/handleSwapErrors.test.ts +46 -0
- package/src/wallet-api/Exchange/handleSwapErrors.ts +161 -0
- package/src/wallet-api/Exchange/index.ts +26 -0
- package/src/wallet-api/Exchange/parser.test.ts +86 -0
- package/src/wallet-api/Exchange/parser.ts +119 -0
- package/src/wallet-api/Exchange/server.ts +289 -232
- package/src/wallet-api/Exchange/tracking.ts +56 -13
- package/src/wallet-api/logic.ts +5 -4
- package/src/wallet-api/react.ts +10 -5
- package/src/wallet-api/tracking.ts +30 -10
- package/src/wallet-api/useDappLogic.ts +32 -20
- package/src/wallet-api/utils/extractDappURLFromManifest.ts +3 -3
- package/src/wallet-api/utils/extractURLFromManifest.ts +1 -1
- package/src/walletSync/getEnvironmentParams.ts +6 -6
- package/lib/currencies/cryptoIcons.d.ts +0 -3
- package/lib/currencies/cryptoIcons.d.ts.map +0 -1
- package/lib/currencies/cryptoIcons.js +0 -24
- package/lib/currencies/cryptoIcons.js.map +0 -1
- package/lib/react.d.ts +0 -16
- package/lib/react.d.ts.map +0 -1
- package/lib/react.js +0 -64
- package/lib/react.js.map +0 -1
- package/lib/reactNative.d.ts +0 -16
- package/lib/reactNative.d.ts.map +0 -1
- package/lib/reactNative.js +0 -43
- package/lib/reactNative.js.map +0 -1
- package/lib-es/currencies/cryptoIcons.d.ts +0 -3
- package/lib-es/currencies/cryptoIcons.d.ts.map +0 -1
- package/lib-es/currencies/cryptoIcons.js +0 -20
- package/lib-es/currencies/cryptoIcons.js.map +0 -1
- package/lib-es/react.d.ts +0 -16
- package/lib-es/react.d.ts.map +0 -1
- package/lib-es/react.js +0 -33
- package/lib-es/react.js.map +0 -1
- package/lib-es/reactNative.d.ts +0 -16
- package/lib-es/reactNative.d.ts.map +0 -1
- package/lib-es/reactNative.js +0 -15
- package/lib-es/reactNative.js.map +0 -1
- package/react.js +0 -1
- package/reactNative.js +0 -1
- package/src/currencies/cryptoIcons.test.ts +0 -54
- package/src/currencies/cryptoIcons.ts +0 -21
- package/src/react.tsx +0 -43
- package/src/reactNative.ts +0 -23
- package/src/reactNativeSvg.d.ts +0 -19
|
@@ -16,10 +16,10 @@ describe("sync for token transfers", () => {
|
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
test("sync build operations only for transfer type txn", async () => {
|
|
19
|
-
const
|
|
19
|
+
const [transfers] = await fetchFullTxs(address);
|
|
20
20
|
|
|
21
21
|
// Contains operations for txn of type token_transfer
|
|
22
|
-
const operations = flatMap(
|
|
22
|
+
const operations = flatMap(transfers, mapTxToOps(accountId, address));
|
|
23
23
|
|
|
24
24
|
expect(operations.length).toBeTruthy();
|
|
25
25
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Encapsulate for LLD & LLM
|
|
2
|
-
export * from "@ledgerhq/coin-stacks/
|
|
2
|
+
export * from "@ledgerhq/coin-stacks/constants";
|
|
@@ -16,7 +16,7 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
|
|
16
16
|
"spendableBalance": "311064932",
|
|
17
17
|
"subAccounts": [],
|
|
18
18
|
"swapHistory": [],
|
|
19
|
-
"syncHash": "
|
|
19
|
+
"syncHash": "0x8a6ee88a",
|
|
20
20
|
"used": true,
|
|
21
21
|
"xpub": "GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
|
|
22
22
|
},
|
|
@@ -31,10 +31,10 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
|
|
31
31
|
"operationsCount": 43,
|
|
32
32
|
"pendingOperations": [],
|
|
33
33
|
"seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
|
|
34
|
-
"spendableBalance": "
|
|
34
|
+
"spendableBalance": "79999760",
|
|
35
35
|
"subAccounts": [],
|
|
36
36
|
"swapHistory": [],
|
|
37
|
-
"syncHash": "
|
|
37
|
+
"syncHash": "0x8a6ee88a",
|
|
38
38
|
"used": true,
|
|
39
39
|
"xpub": "GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z",
|
|
40
40
|
},
|
|
@@ -49,10 +49,10 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
|
|
49
49
|
"operationsCount": 38,
|
|
50
50
|
"pendingOperations": [],
|
|
51
51
|
"seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
|
|
52
|
-
"spendableBalance": "
|
|
52
|
+
"spendableBalance": "44999262",
|
|
53
53
|
"subAccounts": [],
|
|
54
54
|
"swapHistory": [],
|
|
55
|
-
"syncHash": "
|
|
55
|
+
"syncHash": "0x8a6ee88a",
|
|
56
56
|
"used": true,
|
|
57
57
|
"xpub": "GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS",
|
|
58
58
|
},
|
|
@@ -67,10 +67,10 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
|
|
67
67
|
"operationsCount": 17,
|
|
68
68
|
"pendingOperations": [],
|
|
69
69
|
"seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
|
|
70
|
-
"spendableBalance": "
|
|
70
|
+
"spendableBalance": "10145721",
|
|
71
71
|
"subAccounts": [],
|
|
72
72
|
"swapHistory": [],
|
|
73
|
-
"syncHash": "
|
|
73
|
+
"syncHash": "0x8a6ee88a",
|
|
74
74
|
"used": true,
|
|
75
75
|
"xpub": "GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC",
|
|
76
76
|
},
|
|
@@ -88,7 +88,7 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
|
|
88
88
|
"spendableBalance": "0",
|
|
89
89
|
"subAccounts": [],
|
|
90
90
|
"swapHistory": [],
|
|
91
|
-
"syncHash": "
|
|
91
|
+
"syncHash": "0x8a6ee88a",
|
|
92
92
|
"used": true,
|
|
93
93
|
"xpub": "GBQMOU2WYJUP6AKY53FFKZJGQMDWCMTWSOUTZ5DVIAQPVW7AJUHSX2M5",
|
|
94
94
|
},
|
|
@@ -106,7 +106,7 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
|
|
|
106
106
|
"spendableBalance": "0",
|
|
107
107
|
"subAccounts": [],
|
|
108
108
|
"swapHistory": [],
|
|
109
|
-
"syncHash": "
|
|
109
|
+
"syncHash": "0x8a6ee88a",
|
|
110
110
|
"used": false,
|
|
111
111
|
"xpub": "GAJEKFXY76YWDSKJESDOKS2EGKRMCHSIC5AU32SU7OF54E5VVREUHXLH",
|
|
112
112
|
},
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
import reduce from "lodash/reduce";
|
|
9
9
|
import { BUY_SELL_UI_APP_ID } from "../wallet-api/constants";
|
|
10
10
|
import { formatToFirebaseFeatureId } from "./firebaseFeatureFlags";
|
|
11
|
+
import { DeviceModelId } from "@ledgerhq/types-devices";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Default disabled feature.
|
|
@@ -109,6 +110,8 @@ export const CURRENCY_DEFAULT_FEATURES = {
|
|
|
109
110
|
currencyMonadTestnet: DEFAULT_FEATURE,
|
|
110
111
|
currencySomnia: DEFAULT_FEATURE,
|
|
111
112
|
currencyZeroGravity: DEFAULT_FEATURE,
|
|
113
|
+
currencyConcordium: DEFAULT_FEATURE,
|
|
114
|
+
currencyConcordiumTestnet: DEFAULT_FEATURE,
|
|
112
115
|
};
|
|
113
116
|
|
|
114
117
|
/**
|
|
@@ -215,6 +218,18 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
215
218
|
protectId: "protect-simu",
|
|
216
219
|
},
|
|
217
220
|
},
|
|
221
|
+
recoverUpsellPostOnboarding: {
|
|
222
|
+
...DEFAULT_FEATURE,
|
|
223
|
+
params: {
|
|
224
|
+
deviceIds: [
|
|
225
|
+
DeviceModelId.nanoSP,
|
|
226
|
+
DeviceModelId.nanoX,
|
|
227
|
+
DeviceModelId.stax,
|
|
228
|
+
DeviceModelId.europa,
|
|
229
|
+
DeviceModelId.apex,
|
|
230
|
+
],
|
|
231
|
+
},
|
|
232
|
+
},
|
|
218
233
|
|
|
219
234
|
storyly: {
|
|
220
235
|
enabled: false,
|
|
@@ -583,6 +598,8 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
583
598
|
postOnboarding: true,
|
|
584
599
|
},
|
|
585
600
|
},
|
|
601
|
+
lwmLedgerSyncOptimisation: DEFAULT_FEATURE,
|
|
602
|
+
lwdLedgerSyncOptimisation: DEFAULT_FEATURE,
|
|
586
603
|
lldNanoSUpsellBanners: {
|
|
587
604
|
...DEFAULT_FEATURE,
|
|
588
605
|
params: {
|
|
@@ -667,8 +684,8 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
667
684
|
chains: ["ethereum", "polygon", "base", "arbitrum"],
|
|
668
685
|
},
|
|
669
686
|
},
|
|
670
|
-
ldmkConnectApp: DEFAULT_FEATURE,
|
|
671
687
|
ldmkSolanaSigner: DEFAULT_FEATURE,
|
|
688
|
+
ldmkConnectApp: DEFAULT_FEATURE,
|
|
672
689
|
lldNetworkBasedAddAccount: DEFAULT_FEATURE,
|
|
673
690
|
llmDatadog: {
|
|
674
691
|
...DEFAULT_FEATURE,
|
|
@@ -718,6 +735,10 @@ export const DEFAULT_FEATURES: Features = {
|
|
|
718
735
|
},
|
|
719
736
|
},
|
|
720
737
|
zcashShielded: DEFAULT_FEATURE,
|
|
738
|
+
llmNanoOnboardingFundWallet: DEFAULT_FEATURE,
|
|
739
|
+
lldRebornABtest: DEFAULT_FEATURE,
|
|
740
|
+
llmRebornABtest: DEFAULT_FEATURE,
|
|
741
|
+
lifiSolana: DEFAULT_FEATURE,
|
|
721
742
|
};
|
|
722
743
|
|
|
723
744
|
// Firebase SDK treat JSON values as strings
|
|
@@ -44,7 +44,7 @@ export const getBitcoinYieldSetting = (stakePrograms: Feature_StakePrograms | nu
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
export const getEthDepositScreenSetting = (stakePrograms: Feature_StakePrograms | null): string => {
|
|
47
|
-
/** Check if Ethereum has "earn" provider configured in redirects with
|
|
47
|
+
/** Check if Ethereum has "earn" provider configured in redirects with ethDepositCohort. */
|
|
48
48
|
const ethereumRedirect = stakePrograms?.enabled
|
|
49
49
|
? stakePrograms?.params?.redirects?.["ethereum"]
|
|
50
50
|
: undefined;
|
|
@@ -55,8 +55,8 @@ export const getEthDepositScreenSetting = (stakePrograms: Feature_StakePrograms
|
|
|
55
55
|
return "standard";
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
// Extract
|
|
59
|
-
const
|
|
58
|
+
// Extract ethDepositCohort from queryParams
|
|
59
|
+
const ethDepositCohort = ethereumRedirect.queryParams?.ethDepositCohort;
|
|
60
60
|
|
|
61
|
-
return
|
|
61
|
+
return ethDepositCohort ?? "missing_cohort_value";
|
|
62
62
|
};
|
|
@@ -6,7 +6,6 @@ import { bridge as casper } from "../../families/casper/setup";
|
|
|
6
6
|
import { bridge as canton } from "../../families/canton/setup";
|
|
7
7
|
import { bridge as celo } from "../../families/celo/setup";
|
|
8
8
|
import { bridge as cosmos } from "../../families/cosmos/setup";
|
|
9
|
-
import { bridge as evm } from "../../families/evm/setup";
|
|
10
9
|
import { bridge as hedera } from "../../families/hedera/setup";
|
|
11
10
|
import { bridge as filecoin } from "../../families/filecoin/setup";
|
|
12
11
|
import { bridge as internet_computer } from "../../families/internet_computer/setup";
|
|
@@ -32,7 +31,6 @@ export default {
|
|
|
32
31
|
canton,
|
|
33
32
|
celo,
|
|
34
33
|
cosmos,
|
|
35
|
-
evm,
|
|
36
34
|
hedera,
|
|
37
35
|
filecoin,
|
|
38
36
|
internet_computer,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Utility to map any size to valid crypto-icons sizes
|
|
2
|
+
// For React Native (returns numbers)
|
|
3
|
+
export const getValidCryptoIconSizeNative = (size: number): 16 | 20 | 24 | 32 | 40 | 48 | 56 => {
|
|
4
|
+
if (size <= 16) return 16;
|
|
5
|
+
if (size <= 20) return 20;
|
|
6
|
+
if (size <= 24) return 24;
|
|
7
|
+
if (size <= 32) return 32;
|
|
8
|
+
if (size <= 40) return 40;
|
|
9
|
+
if (size <= 48) return 48;
|
|
10
|
+
return 56;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// Utility to map any size to valid crypto-icons sizes
|
|
14
|
+
// For React/Web (returns strings with "px")
|
|
15
|
+
export const getValidCryptoIconSize = (
|
|
16
|
+
size: number,
|
|
17
|
+
): "16px" | "20px" | "24px" | "32px" | "40px" | "48px" | "56px" => {
|
|
18
|
+
if (size <= 16) return "16px";
|
|
19
|
+
if (size <= 20) return "20px";
|
|
20
|
+
if (size <= 24) return "24px";
|
|
21
|
+
if (size <= 32) return "32px";
|
|
22
|
+
if (size <= 40) return "40px";
|
|
23
|
+
if (size <= 48) return "48px";
|
|
24
|
+
return "56px";
|
|
25
|
+
};
|
package/src/helpers.ts
CHANGED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildHtmlDisplaySegments,
|
|
3
|
+
splitHtmlLinkSegments,
|
|
4
|
+
validateLedgerUrl,
|
|
5
|
+
} from "../useHtmlLinkSegments";
|
|
6
|
+
|
|
7
|
+
describe("splitHtmlLinkSegments", () => {
|
|
8
|
+
it("returns an empty array when input is empty", () => {
|
|
9
|
+
expect(splitHtmlLinkSegments("")).toEqual([]);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it("returns only text segments when there are no anchors", () => {
|
|
13
|
+
const segments = splitHtmlLinkSegments("simple text without links");
|
|
14
|
+
expect(segments).toEqual([{ type: "text", content: "simple text without links" }]);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("splits text into text and link segments", () => {
|
|
18
|
+
const segments = splitHtmlLinkSegments('Hello <a href="https://ledger.com">Ledger</a> !');
|
|
19
|
+
|
|
20
|
+
expect(segments).toEqual([
|
|
21
|
+
{ type: "text", content: "Hello " },
|
|
22
|
+
{ type: "link", label: "Ledger", href: "https://ledger.com" },
|
|
23
|
+
{ type: "text", content: " !" },
|
|
24
|
+
]);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("keeps whitespace-only text segments", () => {
|
|
28
|
+
const segments = splitHtmlLinkSegments(
|
|
29
|
+
'<a href="https://ledger.com">Ledger</a> <a href="https://support.ledger.com">Support</a>',
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
expect(segments).toEqual([
|
|
33
|
+
{ type: "link", label: "Ledger", href: "https://ledger.com" },
|
|
34
|
+
{ type: "text", content: " " },
|
|
35
|
+
{ type: "link", label: "Support", href: "https://support.ledger.com" },
|
|
36
|
+
]);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
describe("buildHtmlDisplaySegments", () => {
|
|
41
|
+
it("keeps valid ledger links clickable", () => {
|
|
42
|
+
const segments = buildHtmlDisplaySegments(
|
|
43
|
+
'Visit <a href="https://support.ledger.com">support</a> docs',
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
expect(segments).toEqual([
|
|
47
|
+
{ type: "text", content: "Visit " },
|
|
48
|
+
{ type: "link", href: "https://support.ledger.com", label: "support" },
|
|
49
|
+
{ type: "text", content: " docs" },
|
|
50
|
+
]);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("falls back to text segments for non-ledger links", () => {
|
|
54
|
+
const segments = buildHtmlDisplaySegments('Check <a href="https://example.com">here</a>');
|
|
55
|
+
|
|
56
|
+
expect(segments).toEqual([
|
|
57
|
+
{ type: "text", content: "Check " },
|
|
58
|
+
{ type: "text", content: "here" },
|
|
59
|
+
]);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("ignores invalid protocols", () => {
|
|
63
|
+
const segments = buildHtmlDisplaySegments('Bad <a href="javascript:alert(1)">click</a>');
|
|
64
|
+
|
|
65
|
+
expect(segments).toEqual([
|
|
66
|
+
{ type: "text", content: "Bad " },
|
|
67
|
+
{ type: "text", content: "click" },
|
|
68
|
+
]);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
describe("validateLedgerUrl", () => {
|
|
73
|
+
it("accepts ledger http(s) URLs", () => {
|
|
74
|
+
expect(validateLedgerUrl("https://ledger.com")).toEqual({
|
|
75
|
+
isHttp: true,
|
|
76
|
+
isAllowedLedgerDomain: true,
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
expect(validateLedgerUrl("https://support.ledger.com/hc/en-us")).toEqual({
|
|
80
|
+
isHttp: true,
|
|
81
|
+
isAllowedLedgerDomain: true,
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("rejects non-http protocols", () => {
|
|
86
|
+
expect(validateLedgerUrl("ledgerlive://settings")).toEqual({
|
|
87
|
+
isHttp: false,
|
|
88
|
+
isAllowedLedgerDomain: false,
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it("rejects non-ledger domains", () => {
|
|
93
|
+
expect(validateLedgerUrl("https://example.com")).toEqual({
|
|
94
|
+
isHttp: true,
|
|
95
|
+
isAllowedLedgerDomain: false,
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it("rejects invalid URLs", () => {
|
|
100
|
+
expect(validateLedgerUrl("not a url")).toEqual({
|
|
101
|
+
isHttp: false,
|
|
102
|
+
isAllowedLedgerDomain: false,
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
});
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
|
|
3
|
+
export type HtmlLinkSegment =
|
|
4
|
+
| {
|
|
5
|
+
type: "text";
|
|
6
|
+
content: string;
|
|
7
|
+
}
|
|
8
|
+
| {
|
|
9
|
+
type: "link";
|
|
10
|
+
label: string;
|
|
11
|
+
href: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const ANCHOR_OPEN_REGEX = /<a\b[^>]*>/gi;
|
|
15
|
+
const HREF_ATTR_REGEX = /href\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s'">]+))/i;
|
|
16
|
+
const CLOSING_ANCHOR = "</a>";
|
|
17
|
+
|
|
18
|
+
export const splitHtmlLinkSegments = (input: string): HtmlLinkSegment[] => {
|
|
19
|
+
const segments: HtmlLinkSegment[] = [];
|
|
20
|
+
|
|
21
|
+
if (!input) {
|
|
22
|
+
return segments;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const lowerInput = input.toLowerCase();
|
|
26
|
+
let cursor = 0;
|
|
27
|
+
ANCHOR_OPEN_REGEX.lastIndex = 0;
|
|
28
|
+
|
|
29
|
+
const extractHrefValue = (tag: string): string | null => {
|
|
30
|
+
const match = HREF_ATTR_REGEX.exec(tag);
|
|
31
|
+
if (!match) return null;
|
|
32
|
+
return match[1] ?? match[2] ?? match[3] ?? null;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
let match: RegExpExecArray | null;
|
|
36
|
+
while ((match = ANCHOR_OPEN_REGEX.exec(input)) !== null) {
|
|
37
|
+
const startIndex = match.index;
|
|
38
|
+
const tag = match[0];
|
|
39
|
+
const contentStartIndex = startIndex + tag.length;
|
|
40
|
+
const closingIndex = lowerInput.indexOf(CLOSING_ANCHOR, contentStartIndex);
|
|
41
|
+
|
|
42
|
+
if (closingIndex === -1) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (startIndex > cursor) {
|
|
47
|
+
const textBefore = input.slice(cursor, startIndex);
|
|
48
|
+
if (textBefore) {
|
|
49
|
+
segments.push({
|
|
50
|
+
type: "text",
|
|
51
|
+
content: textBefore,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const href = extractHrefValue(tag);
|
|
57
|
+
if (href) {
|
|
58
|
+
const label = input.slice(contentStartIndex, closingIndex);
|
|
59
|
+
segments.push({
|
|
60
|
+
type: "link",
|
|
61
|
+
href,
|
|
62
|
+
label,
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
const fallbackText = input.slice(startIndex, closingIndex + CLOSING_ANCHOR.length);
|
|
66
|
+
segments.push({
|
|
67
|
+
type: "text",
|
|
68
|
+
content: fallbackText,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
cursor = closingIndex + CLOSING_ANCHOR.length;
|
|
73
|
+
ANCHOR_OPEN_REGEX.lastIndex = cursor;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (cursor < input.length) {
|
|
77
|
+
const textAfter = input.slice(cursor);
|
|
78
|
+
if (textAfter) {
|
|
79
|
+
segments.push({
|
|
80
|
+
type: "text",
|
|
81
|
+
content: textAfter,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return segments;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const validateLedgerUrl = (
|
|
90
|
+
href: string,
|
|
91
|
+
): { isHttp: boolean; isAllowedLedgerDomain: boolean } => {
|
|
92
|
+
try {
|
|
93
|
+
const url = new URL(href);
|
|
94
|
+
const isHttp = url.protocol === "http:" || url.protocol === "https:";
|
|
95
|
+
|
|
96
|
+
if (!isHttp) {
|
|
97
|
+
return {
|
|
98
|
+
isHttp: false,
|
|
99
|
+
isAllowedLedgerDomain: false,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const hostname = url.hostname.toLowerCase();
|
|
104
|
+
const isAllowedLedgerDomain = hostname === "ledger.com" || hostname.endsWith(".ledger.com");
|
|
105
|
+
|
|
106
|
+
return {
|
|
107
|
+
isHttp,
|
|
108
|
+
isAllowedLedgerDomain,
|
|
109
|
+
};
|
|
110
|
+
} catch {
|
|
111
|
+
return {
|
|
112
|
+
isHttp: false,
|
|
113
|
+
isAllowedLedgerDomain: false,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export const buildHtmlDisplaySegments = (input: string): HtmlLinkSegment[] => {
|
|
119
|
+
return splitHtmlLinkSegments(input).map(segment => {
|
|
120
|
+
if (segment.type === "link") {
|
|
121
|
+
const { isHttp, isAllowedLedgerDomain } = validateLedgerUrl(segment.href);
|
|
122
|
+
|
|
123
|
+
if (isHttp && isAllowedLedgerDomain) {
|
|
124
|
+
return segment;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
type: "text",
|
|
129
|
+
content: segment.label,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return segment;
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export const useHtmlLinkSegments = (
|
|
138
|
+
html?: string | null,
|
|
139
|
+
): {
|
|
140
|
+
segments: HtmlLinkSegment[];
|
|
141
|
+
hasLinks: boolean;
|
|
142
|
+
} => {
|
|
143
|
+
return useMemo(() => {
|
|
144
|
+
if (!html) {
|
|
145
|
+
return {
|
|
146
|
+
segments: [],
|
|
147
|
+
hasLinks: false,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const segments = buildHtmlDisplaySegments(html);
|
|
152
|
+
|
|
153
|
+
return {
|
|
154
|
+
segments,
|
|
155
|
+
hasLinks: segments.some(segment => segment.type === "link"),
|
|
156
|
+
};
|
|
157
|
+
}, [html]);
|
|
158
|
+
};
|
|
@@ -2,12 +2,13 @@ import { GetAppAndVersionUnsupportedFormat } from "../errors";
|
|
|
2
2
|
import Transport from "@ledgerhq/hw-transport";
|
|
3
3
|
export default async (
|
|
4
4
|
transport: Transport,
|
|
5
|
+
{ abortTimeoutMs }: { abortTimeoutMs?: number } = {},
|
|
5
6
|
): Promise<{
|
|
6
7
|
name: string;
|
|
7
8
|
version: string;
|
|
8
9
|
flags: number | Buffer;
|
|
9
10
|
}> => {
|
|
10
|
-
const r = await transport.send(0xb0, 0x01, 0x00, 0x00);
|
|
11
|
+
const r = await transport.send(0xb0, 0x01, 0x00, 0x00, undefined, undefined, { abortTimeoutMs });
|
|
11
12
|
let i = 0;
|
|
12
13
|
const format = r[i++];
|
|
13
14
|
|
package/src/load/speculos.ts
CHANGED
package/src/mock/account.ts
CHANGED
|
@@ -199,7 +199,7 @@ export function genAccount(id: number | string, opts: GenAccountOptions = {}): A
|
|
|
199
199
|
if (initAccount) {
|
|
200
200
|
initAccount(account);
|
|
201
201
|
}
|
|
202
|
-
} catch
|
|
202
|
+
} catch {
|
|
203
203
|
// to fix /src/__tests__/cross.ts, skip bridge error if there is no bridge in such currency
|
|
204
204
|
}
|
|
205
205
|
}
|
|
@@ -83,6 +83,8 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
83
83
|
const monadTestnet = useFeature("currencyMonadTestnet");
|
|
84
84
|
const somnia = useFeature("currencySomnia");
|
|
85
85
|
const zeroGravity = useFeature("currencyZeroGravity");
|
|
86
|
+
const concordium = useFeature("currencyConcordium");
|
|
87
|
+
const concordiumTestnet = useFeature("currencyConcordiumTestnet");
|
|
86
88
|
|
|
87
89
|
const featureFlaggedCurrencies = useMemo(
|
|
88
90
|
(): Partial<Record<CryptoCurrencyId, Feature<unknown> | null>> => ({
|
|
@@ -162,6 +164,8 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
162
164
|
monad_testnet: monadTestnet,
|
|
163
165
|
somnia,
|
|
164
166
|
zero_gravity: zeroGravity,
|
|
167
|
+
concordium,
|
|
168
|
+
concordium_testnet: concordiumTestnet,
|
|
165
169
|
}),
|
|
166
170
|
[
|
|
167
171
|
aptos,
|
|
@@ -240,6 +244,8 @@ export function useCurrenciesUnderFeatureFlag() {
|
|
|
240
244
|
monadTestnet,
|
|
241
245
|
somnia,
|
|
242
246
|
zeroGravity,
|
|
247
|
+
concordium,
|
|
248
|
+
concordiumTestnet,
|
|
243
249
|
],
|
|
244
250
|
);
|
|
245
251
|
|
package/src/operation.ts
CHANGED
|
@@ -5,8 +5,16 @@ import {
|
|
|
5
5
|
isStuckOperation as isStuckOperationEvm,
|
|
6
6
|
getStuckAccountAndOperation as getStuckAccountAndOperationEvm,
|
|
7
7
|
} from "@ledgerhq/coin-evm/operation";
|
|
8
|
+
import { getCurrencyConfiguration } from "./config";
|
|
9
|
+
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
10
|
+
import { EvmConfigInfo } from "@ledgerhq/coin-evm/config";
|
|
8
11
|
export * from "@ledgerhq/coin-framework/operation";
|
|
9
12
|
|
|
13
|
+
function hasGasTracker(currency: CryptoCurrency): boolean {
|
|
14
|
+
const config = getCurrencyConfiguration<EvmConfigInfo>(currency);
|
|
15
|
+
return !!config.gasTracker;
|
|
16
|
+
}
|
|
17
|
+
|
|
10
18
|
/**
|
|
11
19
|
* Return weather an operation is editable or not.
|
|
12
20
|
*/
|
|
@@ -18,7 +26,7 @@ export const isEditableOperation = ({
|
|
|
18
26
|
operation: Operation;
|
|
19
27
|
}): boolean => {
|
|
20
28
|
if (account.currency.family === "evm") {
|
|
21
|
-
return isEditableOperationEvm(account, operation);
|
|
29
|
+
return isEditableOperationEvm(account, operation, hasGasTracker);
|
|
22
30
|
}
|
|
23
31
|
|
|
24
32
|
return false;
|
|
@@ -58,7 +66,7 @@ export const getStuckAccountAndOperation = (
|
|
|
58
66
|
const mainAccount = getMainAccount(account, parentAccount);
|
|
59
67
|
|
|
60
68
|
if (mainAccount.currency.family === "evm") {
|
|
61
|
-
return getStuckAccountAndOperationEvm(account, parentAccount);
|
|
69
|
+
return getStuckAccountAndOperationEvm(account, parentAccount, hasGasTracker);
|
|
62
70
|
}
|
|
63
71
|
|
|
64
72
|
return undefined;
|