@ledgerhq/live-common 34.48.0-nightly.1 → 34.48.0-nightly.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/test-helpers/environment.js +1 -0
- package/lib/__tests__/test-helpers/environment.js.map +1 -1
- package/lib/apps/inlineAppInstall.d.ts +1 -3
- package/lib/apps/inlineAppInstall.d.ts.map +1 -1
- package/lib/apps/inlineAppInstall.js +2 -2
- package/lib/apps/inlineAppInstall.js.map +1 -1
- package/lib/apps/react.d.ts +1 -2
- package/lib/apps/react.d.ts.map +1 -1
- package/lib/apps/react.js +2 -2
- package/lib/apps/react.js.map +1 -1
- package/lib/apps/runner.d.ts +2 -4
- package/lib/apps/runner.d.ts.map +1 -1
- package/lib/apps/runner.js +3 -4
- package/lib/apps/runner.js.map +1 -1
- package/lib/bridge/crypto-assets/index.d.ts.map +1 -1
- package/lib/bridge/crypto-assets/index.js +0 -4
- package/lib/bridge/crypto-assets/index.js.map +1 -1
- package/lib/bridge/crypto-assets/index.test.js +0 -36
- package/lib/bridge/crypto-assets/index.test.js.map +1 -1
- package/lib/bridge/generic-alpaca/accountBridge.d.ts +2 -1
- package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/accountBridge.js +2 -2
- package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.d.ts +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.js +10 -6
- package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/alpaca/index.unit.test.js +37 -9
- package/lib/bridge/generic-alpaca/alpaca/index.unit.test.js.map +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.d.ts +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/createTransaction.js +8 -0
- package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/currencyBridge.d.ts +2 -1
- package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/currencyBridge.js +3 -2
- package/lib/bridge/generic-alpaca/currencyBridge.js.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.js +4 -4
- package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/Eth.d.ts +8 -0
- package/lib/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -0
- package/lib/bridge/generic-alpaca/signer/Eth.js +51 -0
- package/lib/bridge/generic-alpaca/signer/Eth.js.map +1 -0
- package/lib/bridge/generic-alpaca/signer/index.d.ts +2 -10
- package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/index.js +2 -2
- package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -3
- package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
- package/lib/bridge/generic-alpaca/signer/types.d.ts +11 -0
- package/lib/bridge/generic-alpaca/signer/types.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.d.ts +2 -0
- package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/utils.js +15 -1
- package/lib/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib/bridge/generic-alpaca/utils.test.js +21 -0
- package/lib/bridge/generic-alpaca/utils.test.js.map +1 -1
- package/lib/config/sharedConfig.d.ts.map +1 -1
- package/lib/config/sharedConfig.js +30 -26
- package/lib/config/sharedConfig.js.map +1 -1
- package/lib/e2e/enum/Account.d.ts +2 -0
- package/lib/e2e/enum/Account.d.ts.map +1 -1
- package/lib/e2e/enum/Account.js +2 -0
- package/lib/e2e/enum/Account.js.map +1 -1
- package/lib/e2e/enum/AppInfos.d.ts +1 -0
- package/lib/e2e/enum/AppInfos.d.ts.map +1 -1
- package/lib/e2e/enum/AppInfos.js +1 -0
- package/lib/e2e/enum/AppInfos.js.map +1 -1
- package/lib/e2e/enum/Currency.d.ts +1 -0
- package/lib/e2e/enum/Currency.d.ts.map +1 -1
- package/lib/e2e/enum/Currency.js +1 -0
- package/lib/e2e/enum/Currency.js.map +1 -1
- package/lib/e2e/enum/Network.d.ts +2 -1
- package/lib/e2e/enum/Network.d.ts.map +1 -1
- package/lib/e2e/enum/Network.js +1 -0
- package/lib/e2e/enum/Network.js.map +1 -1
- package/lib/e2e/families/kaspa.d.ts +4 -0
- package/lib/e2e/families/kaspa.d.ts.map +1 -0
- package/lib/e2e/families/kaspa.js +23 -0
- package/lib/e2e/families/kaspa.js.map +1 -0
- package/lib/e2e/index.d.ts +3 -6
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +12 -0
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/families/canton/bridge/mock-data.d.ts +6 -0
- package/lib/families/canton/bridge/mock-data.d.ts.map +1 -0
- package/lib/families/canton/bridge/mock-data.js +120 -0
- package/lib/families/canton/bridge/mock-data.js.map +1 -0
- package/lib/families/canton/bridge/mock.d.ts +12 -0
- package/lib/families/canton/bridge/mock.d.ts.map +1 -0
- package/lib/families/canton/bridge/mock.js +154 -0
- package/lib/families/canton/bridge/mock.js.map +1 -0
- package/lib/families/canton/config.d.ts.map +1 -1
- package/lib/families/canton/config.js +5 -2
- package/lib/families/canton/config.js.map +1 -1
- package/lib/families/canton/setup.d.ts.map +1 -1
- package/lib/families/canton/setup.js +8 -2
- package/lib/families/canton/setup.js.map +1 -1
- package/lib/families/evm/config.js +2 -2
- package/lib/families/evm/config.js.map +1 -1
- package/lib/families/kaspa/bridge.integration.test.d.ts +2 -0
- package/lib/families/kaspa/bridge.integration.test.d.ts.map +1 -0
- package/lib/families/kaspa/bridge.integration.test.js +7 -0
- package/lib/families/kaspa/bridge.integration.test.js.map +1 -0
- package/lib/families/kaspa/config.d.ts +3 -0
- package/lib/families/kaspa/config.d.ts.map +1 -0
- package/lib/families/kaspa/config.js +14 -0
- package/lib/families/kaspa/config.js.map +1 -0
- package/lib/families/kaspa/react.d.ts +4 -0
- package/lib/families/kaspa/react.d.ts.map +1 -0
- package/lib/families/kaspa/react.js +18 -0
- package/lib/families/kaspa/react.js.map +1 -0
- package/lib/families/kaspa/setup.d.ts +18 -0
- package/lib/families/kaspa/setup.d.ts.map +1 -0
- package/lib/families/kaspa/setup.js +24 -0
- package/lib/families/kaspa/setup.js.map +1 -0
- package/lib/families/kaspa/types.d.ts +2 -0
- package/lib/families/kaspa/types.d.ts.map +1 -0
- package/lib/families/kaspa/types.js +18 -0
- package/lib/families/kaspa/types.js.map +1 -0
- package/lib/families/xrp/setup.d.ts +2 -2
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +0 -2
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/useFeature.d.ts +1 -1
- package/lib/featureFlags/useFeature.d.ts.map +1 -1
- package/lib/generated/bridge/js.d.ts +1 -0
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js +24 -22
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib/generated/bridge/mock.d.ts +9 -1
- package/lib/generated/bridge/mock.d.ts.map +1 -1
- package/lib/generated/bridge/mock.js +26 -24
- package/lib/generated/bridge/mock.js.map +1 -1
- package/lib/generated/cli-transaction.d.ts +13 -2
- package/lib/generated/cli-transaction.d.ts.map +1 -1
- package/lib/generated/cli-transaction.js +28 -26
- package/lib/generated/cli-transaction.js.map +1 -1
- package/lib/generated/deviceTransactionConfig.d.ts +2 -0
- package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
- package/lib/generated/deviceTransactionConfig.js +24 -22
- package/lib/generated/deviceTransactionConfig.js.map +1 -1
- package/lib/generated/hw-getAddress.d.ts +1 -0
- package/lib/generated/hw-getAddress.d.ts.map +1 -1
- package/lib/generated/hw-getAddress.js +28 -26
- package/lib/generated/hw-getAddress.js.map +1 -1
- package/lib/generated/platformAdapter.d.ts +1 -1
- package/lib/generated/specs.d.ts +1 -1
- package/lib/generated/transaction.d.ts +11 -3
- package/lib/generated/transaction.d.ts.map +1 -1
- package/lib/generated/transaction.js +28 -26
- package/lib/generated/transaction.js.map +1 -1
- package/lib/generated/types.d.ts +5 -4
- package/lib/generated/types.d.ts.map +1 -1
- package/lib/generated/walletApiAdapter.d.ts +1 -1
- package/lib/hw/actions/app.d.ts.map +1 -1
- package/lib/hw/actions/app.js +11 -8
- package/lib/hw/actions/app.js.map +1 -1
- package/lib/hw/getDeviceNameMaxLength.d.ts.map +1 -1
- package/lib/hw/getDeviceNameMaxLength.js +2 -0
- package/lib/hw/getDeviceNameMaxLength.js.map +1 -1
- package/lib/hw/getDeviceNameMaxLength.test.js +12 -0
- package/lib/hw/getDeviceNameMaxLength.test.js.map +1 -1
- package/lib/modularDrawer/hooks/useAssetsData.d.ts +1 -0
- package/lib/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useAssetsData.js +3 -2
- package/lib/modularDrawer/hooks/useAssetsData.js.map +1 -1
- package/lib/modularDrawer/hooks/useSearch.d.ts +16 -0
- package/lib/modularDrawer/hooks/useSearch.d.ts.map +1 -0
- package/lib/modularDrawer/hooks/useSearch.js +24 -0
- package/lib/modularDrawer/hooks/useSearch.js.map +1 -0
- package/lib/notifications/ServiceStatusProvider/index.d.ts +16 -1
- package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
- package/lib/notifications/ServiceStatusProvider/index.js +31 -7
- package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
- package/lib/notifications/ServiceStatusProvider/index.test.d.ts +2 -0
- package/lib/notifications/ServiceStatusProvider/index.test.d.ts.map +1 -0
- package/lib/notifications/ServiceStatusProvider/index.test.js +88 -0
- package/lib/notifications/ServiceStatusProvider/index.test.js.map +1 -0
- package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts +2 -0
- package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts.map +1 -0
- package/lib/notifications/ServiceStatusProvider/ledger-components.js +16 -0
- package/lib/notifications/ServiceStatusProvider/ledger-components.js.map +1 -0
- package/lib/wallet-api/ACRE/server.d.ts +13 -6
- package/lib/wallet-api/ACRE/server.d.ts.map +1 -1
- package/lib/wallet-api/ACRE/server.js +142 -1
- package/lib/wallet-api/ACRE/server.js.map +1 -1
- package/lib/wallet-api/ACRE/server.test.d.ts +2 -0
- package/lib/wallet-api/ACRE/server.test.d.ts.map +1 -0
- package/lib/wallet-api/ACRE/server.test.js +393 -0
- package/lib/wallet-api/ACRE/server.test.js.map +1 -0
- package/lib-es/__tests__/test-helpers/environment.js +1 -0
- package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
- package/lib-es/apps/inlineAppInstall.d.ts +1 -3
- package/lib-es/apps/inlineAppInstall.d.ts.map +1 -1
- package/lib-es/apps/inlineAppInstall.js +2 -2
- package/lib-es/apps/inlineAppInstall.js.map +1 -1
- package/lib-es/apps/react.d.ts +1 -2
- package/lib-es/apps/react.d.ts.map +1 -1
- package/lib-es/apps/react.js +2 -2
- package/lib-es/apps/react.js.map +1 -1
- package/lib-es/apps/runner.d.ts +2 -4
- package/lib-es/apps/runner.d.ts.map +1 -1
- package/lib-es/apps/runner.js +3 -4
- package/lib-es/apps/runner.js.map +1 -1
- package/lib-es/bridge/crypto-assets/index.d.ts.map +1 -1
- package/lib-es/bridge/crypto-assets/index.js +0 -4
- package/lib-es/bridge/crypto-assets/index.js.map +1 -1
- package/lib-es/bridge/crypto-assets/index.test.js +0 -36
- package/lib-es/bridge/crypto-assets/index.test.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +2 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.js +2 -2
- package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.js +10 -6
- package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.js +37 -9
- package/lib-es/bridge/generic-alpaca/alpaca/index.unit.test.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js +8 -0
- package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts +2 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.js +3 -2
- package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.js +4 -4
- package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts +8 -0
- package/lib-es/bridge/generic-alpaca/signer/Eth.d.ts.map +1 -0
- package/lib-es/bridge/generic-alpaca/signer/Eth.js +47 -0
- package/lib-es/bridge/generic-alpaca/signer/Eth.js.map +1 -0
- package/lib-es/bridge/generic-alpaca/signer/index.d.ts +2 -10
- package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/index.js +2 -2
- package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -3
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/signer/types.d.ts +11 -0
- package/lib-es/bridge/generic-alpaca/signer/types.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts +2 -0
- package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.js +13 -0
- package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/utils.test.js +22 -1
- package/lib-es/bridge/generic-alpaca/utils.test.js.map +1 -1
- package/lib-es/config/sharedConfig.d.ts.map +1 -1
- package/lib-es/config/sharedConfig.js +4 -0
- package/lib-es/config/sharedConfig.js.map +1 -1
- package/lib-es/e2e/enum/Account.d.ts +2 -0
- package/lib-es/e2e/enum/Account.d.ts.map +1 -1
- package/lib-es/e2e/enum/Account.js +2 -0
- package/lib-es/e2e/enum/Account.js.map +1 -1
- package/lib-es/e2e/enum/AppInfos.d.ts +1 -0
- package/lib-es/e2e/enum/AppInfos.d.ts.map +1 -1
- package/lib-es/e2e/enum/AppInfos.js +1 -0
- package/lib-es/e2e/enum/AppInfos.js.map +1 -1
- package/lib-es/e2e/enum/Currency.d.ts +1 -0
- package/lib-es/e2e/enum/Currency.d.ts.map +1 -1
- package/lib-es/e2e/enum/Currency.js +1 -0
- package/lib-es/e2e/enum/Currency.js.map +1 -1
- package/lib-es/e2e/enum/Network.d.ts +2 -1
- package/lib-es/e2e/enum/Network.d.ts.map +1 -1
- package/lib-es/e2e/enum/Network.js +1 -0
- package/lib-es/e2e/enum/Network.js.map +1 -1
- package/lib-es/e2e/families/kaspa.d.ts +4 -0
- package/lib-es/e2e/families/kaspa.d.ts.map +1 -0
- package/lib-es/e2e/families/kaspa.js +15 -0
- package/lib-es/e2e/families/kaspa.js.map +1 -0
- package/lib-es/e2e/index.d.ts +3 -6
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +12 -0
- package/lib-es/e2e/speculos.js.map +1 -1
- package/lib-es/env.react.d.ts +1 -1
- package/lib-es/env.react.d.ts.map +1 -1
- package/lib-es/families/canton/bridge/mock-data.d.ts +6 -0
- package/lib-es/families/canton/bridge/mock-data.d.ts.map +1 -0
- package/lib-es/families/canton/bridge/mock-data.js +116 -0
- package/lib-es/families/canton/bridge/mock-data.js.map +1 -0
- package/lib-es/families/canton/bridge/mock.d.ts +12 -0
- package/lib-es/families/canton/bridge/mock.d.ts.map +1 -0
- package/lib-es/families/canton/bridge/mock.js +152 -0
- package/lib-es/families/canton/bridge/mock.js.map +1 -0
- package/lib-es/families/canton/config.d.ts.map +1 -1
- package/lib-es/families/canton/config.js +5 -2
- package/lib-es/families/canton/config.js.map +1 -1
- package/lib-es/families/canton/setup.d.ts.map +1 -1
- package/lib-es/families/canton/setup.js +8 -2
- package/lib-es/families/canton/setup.js.map +1 -1
- package/lib-es/families/evm/config.js +2 -2
- package/lib-es/families/evm/config.js.map +1 -1
- package/lib-es/families/kaspa/bridge.integration.test.d.ts +2 -0
- package/lib-es/families/kaspa/bridge.integration.test.d.ts.map +1 -0
- package/lib-es/families/kaspa/bridge.integration.test.js +5 -0
- package/lib-es/families/kaspa/bridge.integration.test.js.map +1 -0
- package/lib-es/families/kaspa/config.d.ts +3 -0
- package/lib-es/families/kaspa/config.d.ts.map +1 -0
- package/lib-es/families/kaspa/config.js +11 -0
- package/lib-es/families/kaspa/config.js.map +1 -0
- package/lib-es/families/kaspa/react.d.ts +4 -0
- package/lib-es/families/kaspa/react.d.ts.map +1 -0
- package/lib-es/families/kaspa/react.js +14 -0
- package/lib-es/families/kaspa/react.js.map +1 -0
- package/lib-es/families/kaspa/setup.d.ts +18 -0
- package/lib-es/families/kaspa/setup.d.ts.map +1 -0
- package/lib-es/families/kaspa/setup.js +16 -0
- package/lib-es/families/kaspa/setup.js.map +1 -0
- package/lib-es/families/kaspa/types.d.ts +2 -0
- package/lib-es/families/kaspa/types.d.ts.map +1 -0
- package/lib-es/families/kaspa/types.js +2 -0
- package/lib-es/families/kaspa/types.js.map +1 -0
- package/lib-es/families/xrp/setup.d.ts +2 -2
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +0 -2
- package/lib-es/featureFlags/defaultFeatures.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/bridge/js.d.ts +1 -0
- package/lib-es/generated/bridge/js.d.ts.map +1 -1
- package/lib-es/generated/bridge/js.js +2 -0
- package/lib-es/generated/bridge/js.js.map +1 -1
- package/lib-es/generated/bridge/mock.d.ts +9 -1
- package/lib-es/generated/bridge/mock.d.ts.map +1 -1
- package/lib-es/generated/bridge/mock.js +2 -0
- package/lib-es/generated/bridge/mock.js.map +1 -1
- package/lib-es/generated/cli-transaction.d.ts +13 -2
- package/lib-es/generated/cli-transaction.d.ts.map +1 -1
- package/lib-es/generated/cli-transaction.js +2 -0
- package/lib-es/generated/cli-transaction.js.map +1 -1
- package/lib-es/generated/deviceTransactionConfig.d.ts +2 -0
- package/lib-es/generated/deviceTransactionConfig.d.ts.map +1 -1
- package/lib-es/generated/deviceTransactionConfig.js +2 -0
- package/lib-es/generated/deviceTransactionConfig.js.map +1 -1
- package/lib-es/generated/hw-getAddress.d.ts +1 -0
- package/lib-es/generated/hw-getAddress.d.ts.map +1 -1
- package/lib-es/generated/hw-getAddress.js +2 -0
- package/lib-es/generated/hw-getAddress.js.map +1 -1
- package/lib-es/generated/platformAdapter.d.ts +1 -1
- package/lib-es/generated/specs.d.ts +1 -1
- package/lib-es/generated/transaction.d.ts +11 -3
- package/lib-es/generated/transaction.d.ts.map +1 -1
- package/lib-es/generated/transaction.js +2 -0
- package/lib-es/generated/transaction.js.map +1 -1
- package/lib-es/generated/types.d.ts +5 -4
- package/lib-es/generated/types.d.ts.map +1 -1
- package/lib-es/generated/walletApiAdapter.d.ts +1 -1
- package/lib-es/hw/actions/app.d.ts.map +1 -1
- package/lib-es/hw/actions/app.js +11 -8
- package/lib-es/hw/actions/app.js.map +1 -1
- package/lib-es/hw/getDeviceNameMaxLength.d.ts.map +1 -1
- package/lib-es/hw/getDeviceNameMaxLength.js +2 -0
- package/lib-es/hw/getDeviceNameMaxLength.js.map +1 -1
- package/lib-es/hw/getDeviceNameMaxLength.test.js +12 -0
- package/lib-es/hw/getDeviceNameMaxLength.test.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useAssetsData.d.ts +1 -0
- package/lib-es/modularDrawer/hooks/useAssetsData.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useAssetsData.js +3 -2
- package/lib-es/modularDrawer/hooks/useAssetsData.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useSearch.d.ts +16 -0
- package/lib-es/modularDrawer/hooks/useSearch.d.ts.map +1 -0
- package/lib-es/modularDrawer/hooks/useSearch.js +20 -0
- package/lib-es/modularDrawer/hooks/useSearch.js.map +1 -0
- package/lib-es/notifications/ServiceStatusProvider/index.d.ts +16 -1
- package/lib-es/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
- package/lib-es/notifications/ServiceStatusProvider/index.js +31 -7
- package/lib-es/notifications/ServiceStatusProvider/index.js.map +1 -1
- package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts +2 -0
- package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts.map +1 -0
- package/lib-es/notifications/ServiceStatusProvider/index.test.js +86 -0
- package/lib-es/notifications/ServiceStatusProvider/index.test.js.map +1 -0
- package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts +2 -0
- package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts.map +1 -0
- package/lib-es/notifications/ServiceStatusProvider/ledger-components.js +13 -0
- package/lib-es/notifications/ServiceStatusProvider/ledger-components.js.map +1 -0
- package/lib-es/wallet-api/ACRE/server.d.ts +13 -6
- package/lib-es/wallet-api/ACRE/server.d.ts.map +1 -1
- package/lib-es/wallet-api/ACRE/server.js +140 -2
- package/lib-es/wallet-api/ACRE/server.js.map +1 -1
- package/lib-es/wallet-api/ACRE/server.test.d.ts +2 -0
- package/lib-es/wallet-api/ACRE/server.test.d.ts.map +1 -0
- package/lib-es/wallet-api/ACRE/server.test.js +388 -0
- package/lib-es/wallet-api/ACRE/server.test.js.map +1 -0
- package/package.json +52 -49
- package/src/__tests__/test-helpers/environment.ts +1 -0
- package/src/apps/inlineAppInstall.ts +1 -4
- package/src/apps/react.ts +1 -3
- package/src/apps/runner.ts +1 -8
- package/src/bridge/crypto-assets/index.test.ts +0 -47
- package/src/bridge/crypto-assets/index.ts +0 -5
- package/src/bridge/generic-alpaca/accountBridge.ts +8 -3
- package/src/bridge/generic-alpaca/alpaca/index.ts +13 -18
- package/src/bridge/generic-alpaca/alpaca/index.unit.test.ts +38 -10
- package/src/bridge/generic-alpaca/createTransaction.ts +9 -1
- package/src/bridge/generic-alpaca/currencyBridge.ts +8 -2
- package/src/bridge/generic-alpaca/getAccountShape.ts +4 -5
- package/src/bridge/generic-alpaca/signer/Eth.ts +70 -0
- package/src/bridge/generic-alpaca/signer/index.ts +5 -15
- package/src/bridge/generic-alpaca/signer/signTransaction.ts +4 -3
- package/src/bridge/generic-alpaca/signer/types.ts +14 -0
- package/src/bridge/generic-alpaca/utils.test.ts +29 -1
- package/src/bridge/generic-alpaca/utils.ts +15 -0
- package/src/config/sharedConfig.ts +4 -0
- package/src/e2e/enum/Account.ts +14 -0
- package/src/e2e/enum/AppInfos.ts +2 -0
- package/src/e2e/enum/Currency.ts +2 -0
- package/src/e2e/enum/Network.ts +1 -0
- package/src/e2e/families/kaspa.ts +17 -0
- package/src/e2e/speculos.ts +12 -0
- package/src/families/canton/bridge/mock-data.ts +175 -0
- package/src/families/canton/bridge/mock.ts +180 -0
- package/src/families/canton/config.ts +5 -3
- package/src/families/canton/setup.ts +8 -5
- package/src/families/evm/config.ts +2 -2
- package/src/families/kaspa/__snapshots__/bridge.integration.test.ts.snap +66 -0
- package/src/families/kaspa/bridge.integration.test.ts +5 -0
- package/src/families/kaspa/config.ts +12 -0
- package/src/families/kaspa/react.ts +19 -0
- package/src/families/kaspa/setup.ts +27 -0
- package/src/families/kaspa/types.ts +1 -0
- package/src/featureFlags/defaultFeatures.ts +0 -2
- package/src/generated/bridge/js.ts +2 -0
- package/src/generated/bridge/mock.ts +2 -0
- package/src/generated/cli-transaction.ts +2 -0
- package/src/generated/deviceTransactionConfig.ts +2 -0
- package/src/generated/hw-getAddress.ts +2 -0
- package/src/generated/transaction.ts +2 -0
- package/src/generated/types.ts +10 -0
- package/src/hw/actions/app.ts +12 -10
- package/src/hw/getDeviceNameMaxLength.test.ts +16 -0
- package/src/hw/getDeviceNameMaxLength.ts +2 -0
- package/src/modularDrawer/hooks/useAssetsData.ts +3 -2
- package/src/modularDrawer/hooks/useSearch.ts +52 -0
- package/src/notifications/ServiceStatusProvider/index.test.ts +102 -0
- package/src/notifications/ServiceStatusProvider/index.tsx +37 -12
- package/src/notifications/ServiceStatusProvider/ledger-components.ts +12 -0
- package/src/wallet-api/ACRE/server.test.ts +470 -0
- package/src/wallet-api/ACRE/server.ts +202 -14
- package/lib/bridge/crypto-assets/cal-integration.d.ts +0 -4
- package/lib/bridge/crypto-assets/cal-integration.d.ts.map +0 -1
- package/lib/bridge/crypto-assets/cal-integration.js +0 -26
- package/lib/bridge/crypto-assets/cal-integration.js.map +0 -1
- package/lib/bridge/crypto-assets/cal-integration.test.d.ts +0 -2
- package/lib/bridge/crypto-assets/cal-integration.test.d.ts.map +0 -1
- package/lib/bridge/crypto-assets/cal-integration.test.js +0 -45
- package/lib/bridge/crypto-assets/cal-integration.test.js.map +0 -1
- package/lib/bridge/crypto-assets/cal-store.d.ts +0 -14
- package/lib/bridge/crypto-assets/cal-store.d.ts.map +0 -1
- package/lib/bridge/crypto-assets/cal-store.js +0 -58
- package/lib/bridge/crypto-assets/cal-store.js.map +0 -1
- package/lib/bridge/crypto-assets/cal-store.test.d.ts +0 -2
- package/lib/bridge/crypto-assets/cal-store.test.d.ts.map +0 -1
- package/lib/bridge/crypto-assets/cal-store.test.js +0 -70
- package/lib/bridge/crypto-assets/cal-store.test.js.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-integration.d.ts +0 -4
- package/lib-es/bridge/crypto-assets/cal-integration.d.ts.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-integration.js +0 -21
- package/lib-es/bridge/crypto-assets/cal-integration.js.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-integration.test.d.ts +0 -2
- package/lib-es/bridge/crypto-assets/cal-integration.test.d.ts.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-integration.test.js +0 -43
- package/lib-es/bridge/crypto-assets/cal-integration.test.js.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-store.d.ts +0 -14
- package/lib-es/bridge/crypto-assets/cal-store.d.ts.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-store.js +0 -54
- package/lib-es/bridge/crypto-assets/cal-store.js.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-store.test.d.ts +0 -2
- package/lib-es/bridge/crypto-assets/cal-store.test.d.ts.map +0 -1
- package/lib-es/bridge/crypto-assets/cal-store.test.js +0 -68
- package/lib-es/bridge/crypto-assets/cal-store.test.js.map +0 -1
- package/src/bridge/crypto-assets/cal-integration.test.ts +0 -53
- package/src/bridge/crypto-assets/cal-integration.ts +0 -23
- package/src/bridge/crypto-assets/cal-store.test.ts +0 -93
- package/src/bridge/crypto-assets/cal-store.ts +0 -63
@@ -14,6 +14,7 @@ export const cantonConfig: Record<string, ConfigInfo> = {
|
|
14
14
|
gatewayUrl: "https://canton-gateway.api.live.ledger.com",
|
15
15
|
minReserve: 0,
|
16
16
|
useGateway: true,
|
17
|
+
networkType: "mainnet",
|
17
18
|
},
|
18
19
|
},
|
19
20
|
config_currency_canton_network_devnet: {
|
@@ -23,12 +24,12 @@ export const cantonConfig: Record<string, ConfigInfo> = {
|
|
23
24
|
type: "active",
|
24
25
|
},
|
25
26
|
nodeUrl: "https://wallet-validator-devnet-canton.ledger-test.com",
|
26
|
-
nodeId: "ledger-
|
27
|
+
nodeId: "ledger-devnet-stg",
|
27
28
|
gatewayUrl: "https://canton-gateway.api.live.ledger-test.com",
|
28
29
|
minReserve: 0,
|
29
30
|
useGateway: true,
|
30
|
-
|
31
|
-
|
31
|
+
networkType: "devnet",
|
32
|
+
nativeInstrumentId: "Amulet",
|
32
33
|
},
|
33
34
|
},
|
34
35
|
config_currency_canton_network_localnet: {
|
@@ -42,6 +43,7 @@ export const cantonConfig: Record<string, ConfigInfo> = {
|
|
42
43
|
gatewayUrl: undefined,
|
43
44
|
minReserve: 0,
|
44
45
|
useGateway: false,
|
46
|
+
networkType: "localnet",
|
45
47
|
},
|
46
48
|
},
|
47
49
|
};
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// Goal of this file is to inject all necessary device/signer dependency to coin-modules
|
2
2
|
|
3
3
|
import { createBridges } from "@ledgerhq/coin-canton/bridge/index";
|
4
|
+
import { getEnv } from "@ledgerhq/live-env";
|
4
5
|
import Transport from "@ledgerhq/hw-transport";
|
5
6
|
import { CantonSigner } from "@ledgerhq/coin-canton";
|
6
7
|
import cantonResolver from "@ledgerhq/coin-canton/signer";
|
@@ -10,6 +11,7 @@ import { CantonCoinConfig } from "@ledgerhq/coin-canton/config";
|
|
10
11
|
import { TransactionStatus, Transaction } from "@ledgerhq/coin-canton/types";
|
11
12
|
import { LegacySignerCanton } from "@ledgerhq/live-signer-canton";
|
12
13
|
import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/setup";
|
14
|
+
import cantonBridgeMock from "./bridge/mock";
|
13
15
|
import { Resolver } from "../../hw/getAddress/types";
|
14
16
|
import { getCurrencyConfiguration } from "../../config";
|
15
17
|
import { getCryptoCurrencyById } from "../../currencies";
|
@@ -19,13 +21,14 @@ const createSigner: CreateSigner<CantonSigner> = (transport: Transport) => {
|
|
19
21
|
};
|
20
22
|
|
21
23
|
const getCurrencyConfig = () => {
|
22
|
-
|
24
|
+
// Use devnet for development/testing
|
25
|
+
const currencyId = getEnv("MOCK") ? "canton_network_devnet" : "canton_network_devnet";
|
26
|
+
return getCurrencyConfiguration<CantonCoinConfig>(getCryptoCurrencyById(currencyId));
|
23
27
|
};
|
24
28
|
|
25
|
-
const bridge: Bridge<Transaction, Account, TransactionStatus> =
|
26
|
-
|
27
|
-
getCurrencyConfig
|
28
|
-
);
|
29
|
+
const bridge: Bridge<Transaction, Account, TransactionStatus> = getEnv("MOCK")
|
30
|
+
? cantonBridgeMock
|
31
|
+
: createBridges(executeWithSigner(createSigner), getCurrencyConfig);
|
29
32
|
|
30
33
|
const resolver: Resolver = createResolver(createSigner, cantonResolver);
|
31
34
|
|
@@ -674,8 +674,8 @@ const evmConfig: CurrencyLiveConfigDefinition = {
|
|
674
674
|
uri: "https://zkevm-rpc.com",
|
675
675
|
},
|
676
676
|
explorer: {
|
677
|
-
type: "
|
678
|
-
uri: "https://
|
677
|
+
type: "etherscan",
|
678
|
+
uri: "https://proxyetherscan.api.live.ledger.com/v2/api/1101",
|
679
679
|
},
|
680
680
|
showNfts: false,
|
681
681
|
},
|
@@ -0,0 +1,66 @@
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
2
|
+
|
3
|
+
exports[`kaspa currency bridge scanAccounts kaspa seed 1 1`] = `
|
4
|
+
[
|
5
|
+
{
|
6
|
+
"balance": "13370000",
|
7
|
+
"currencyId": "kaspa",
|
8
|
+
"derivationMode": "",
|
9
|
+
"freshAddress": "kaspa:qz49rpg0q6ywewxkwl76757ya79v6j556hcmrcy7mk9d36ewgp80cdrwlct2h",
|
10
|
+
"freshAddressPath": "44'/111111'/0'/0/1",
|
11
|
+
"id": "js:2:kaspa:41049d8002c08041d975ab58491c09cf8ced7b388a114ab2f5df73f2534d4d74d17ab8913b3cb3056bad63141cb63fb92e44401b691dee069dbdb2119861c18cc01b204340fcc305ab72e752cd347f4b6271ffe21da098d4f2a4749826857dda7a5576:",
|
12
|
+
"index": 0,
|
13
|
+
"operationsCount": 1,
|
14
|
+
"pendingOperations": [],
|
15
|
+
"seedIdentifier": "41049d8002c08041d975ab58491c09cf8ced7b388a114ab2f5df73f2534d4d74d17ab8913b3cb3056bad63141cb63fb92e44401b691dee069dbdb2119861c18cc01b204340fcc305ab72e752cd347f4b6271ffe21da098d4f2a4749826857dda7a5576",
|
16
|
+
"spendableBalance": "13370000",
|
17
|
+
"swapHistory": [],
|
18
|
+
"syncHash": undefined,
|
19
|
+
"used": true,
|
20
|
+
"xpub": "41049d8002c08041d975ab58491c09cf8ced7b388a114ab2f5df73f2534d4d74d17ab8913b3cb3056bad63141cb63fb92e44401b691dee069dbdb2119861c18cc01b204340fcc305ab72e752cd347f4b6271ffe21da098d4f2a4749826857dda7a5576",
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"balance": "0",
|
24
|
+
"currencyId": "kaspa",
|
25
|
+
"derivationMode": "",
|
26
|
+
"freshAddress": "kaspa:qpncmme6ues25uk9umkqju4rtwtt33ud9lcrp7qn8jwv62m53m26jpjhar48j",
|
27
|
+
"freshAddressPath": "44'/111111'/1'/0/0",
|
28
|
+
"id": "js:2:kaspa:4104751b5ebd4a9d2a0a25d5c37cab4814a95335b8945cfcaa6a4138de418f581bb1d0d02f22081b3cda223a51e18a63ebdffd64803e0988b68a91802738a5a9f901206d4a2b989a82b5fb160f0151ea5d046451a291a0748f3038ecdc63d637cce00b:",
|
29
|
+
"index": 1,
|
30
|
+
"operationsCount": 0,
|
31
|
+
"pendingOperations": [],
|
32
|
+
"seedIdentifier": "41049d8002c08041d975ab58491c09cf8ced7b388a114ab2f5df73f2534d4d74d17ab8913b3cb3056bad63141cb63fb92e44401b691dee069dbdb2119861c18cc01b204340fcc305ab72e752cd347f4b6271ffe21da098d4f2a4749826857dda7a5576",
|
33
|
+
"spendableBalance": "0",
|
34
|
+
"swapHistory": [],
|
35
|
+
"syncHash": undefined,
|
36
|
+
"used": false,
|
37
|
+
"xpub": "4104751b5ebd4a9d2a0a25d5c37cab4814a95335b8945cfcaa6a4138de418f581bb1d0d02f22081b3cda223a51e18a63ebdffd64803e0988b68a91802738a5a9f901206d4a2b989a82b5fb160f0151ea5d046451a291a0748f3038ecdc63d637cce00b",
|
38
|
+
},
|
39
|
+
]
|
40
|
+
`;
|
41
|
+
|
42
|
+
exports[`kaspa currency bridge scanAccounts kaspa seed 1 2`] = `
|
43
|
+
[
|
44
|
+
[
|
45
|
+
{
|
46
|
+
"accountId": "js:2:kaspa:41049d8002c08041d975ab58491c09cf8ced7b388a114ab2f5df73f2534d4d74d17ab8913b3cb3056bad63141cb63fb92e44401b691dee069dbdb2119861c18cc01b204340fcc305ab72e752cd347f4b6271ffe21da098d4f2a4749826857dda7a5576:",
|
47
|
+
"blockHash": "12166d40313b71447d4dd837f2e91e749407b0a1c8844e9e9d010390a67d6b52",
|
48
|
+
"blockHeight": 194187672,
|
49
|
+
"extra": {},
|
50
|
+
"fee": "2069",
|
51
|
+
"hash": "ed6dc5422558c3480e6a7809bf166e6ba1f2931ef39f24fe9b3bcf48253e4752",
|
52
|
+
"id": "ed6dc5422558c3480e6a7809bf166e6ba1f2931ef39f24fe9b3bcf48253e4752",
|
53
|
+
"recipients": [
|
54
|
+
"kaspa:qzavrhr9eg0k7pgr8mysfej34alfy8uj6vc9r84kgqfkqd8rtgxm5t0jvah73",
|
55
|
+
"kaspa:qqt874j85r5ga5av0q6tthj2tu89dfpchjmvjuvx5tyn2vpjjrhk7tcpsx2vu",
|
56
|
+
],
|
57
|
+
"senders": [
|
58
|
+
"kaspa:qqt874j85r5ga5av0q6tthj2tu89dfpchjmvjuvx5tyn2vpjjrhk7tcpsx2vu",
|
59
|
+
],
|
60
|
+
"type": "IN",
|
61
|
+
"value": "13370000",
|
62
|
+
},
|
63
|
+
],
|
64
|
+
[],
|
65
|
+
]
|
66
|
+
`;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import type { Account, FeeStrategy } from "@ledgerhq/types-live";
|
2
|
+
import type { Transaction } from "@ledgerhq/coin-kaspa/types/index";
|
3
|
+
import { BigNumber } from "bignumber.js";
|
4
|
+
|
5
|
+
export const useFeesStrategy = (a: Account, t: Transaction): FeeStrategy[] => {
|
6
|
+
const allSameEstimatedSeconds: boolean = t.networkInfo.every(
|
7
|
+
ni => ni.estimatedSeconds === t.networkInfo[0].estimatedSeconds,
|
8
|
+
);
|
9
|
+
|
10
|
+
return t.networkInfo.map(ni => ({
|
11
|
+
label: ni.label,
|
12
|
+
amount: ni.amount,
|
13
|
+
disabled: (ni.label === "slow" || ni.label === "medium") && allSameEstimatedSeconds,
|
14
|
+
extra: {
|
15
|
+
estimatedMs: BigNumber(ni.estimatedSeconds * 1000),
|
16
|
+
},
|
17
|
+
unit: a.currency.units[a.currency.units.length - 1], // Should be sat
|
18
|
+
}));
|
19
|
+
};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
// Goal of this file is to inject all necessary device/signer dependency to coin-modules
|
2
|
+
|
3
|
+
import kaspaResolver from "@ledgerhq/coin-kaspa/hw-getAddress";
|
4
|
+
import Kaspa from "@ledgerhq/hw-app-kaspa";
|
5
|
+
import Transport from "@ledgerhq/hw-transport";
|
6
|
+
import { createResolver, CreateSigner, executeWithSigner } from "../../bridge/setup";
|
7
|
+
import type { Resolver } from "../../hw/getAddress/types";
|
8
|
+
import { KaspaSigner } from "@ledgerhq/coin-kaspa/types/signer";
|
9
|
+
import { KaspaAccount, Transaction, TransactionStatus } from "@ledgerhq/coin-kaspa/types/bridge";
|
10
|
+
import { createBridges } from "@ledgerhq/coin-kaspa/bridge";
|
11
|
+
import type { Bridge } from "@ledgerhq/types-live";
|
12
|
+
import makeCliTools from "@ledgerhq/coin-kaspa/test/cli";
|
13
|
+
|
14
|
+
const createSigner: CreateSigner<KaspaSigner> = (transport: Transport) => {
|
15
|
+
return new Kaspa(transport);
|
16
|
+
};
|
17
|
+
|
18
|
+
// const kaspaCoin = getCryptoCurrencyById("kaspa");
|
19
|
+
const resolver: Resolver = createResolver(createSigner, kaspaResolver);
|
20
|
+
// const getCurrencyConfig = (): KaspaCoinConfig => getCurrencyConfiguration(kaspaCoin);
|
21
|
+
|
22
|
+
const bridge: Bridge<Transaction, KaspaAccount, TransactionStatus> = createBridges(
|
23
|
+
executeWithSigner(createSigner),
|
24
|
+
);
|
25
|
+
const cliTools = makeCliTools;
|
26
|
+
|
27
|
+
export { bridge, cliTools, resolver };
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "@ledgerhq/coin-kaspa/types/index";
|
@@ -103,12 +103,10 @@ export const CURRENCY_DEFAULT_FEATURES = {
|
|
103
103
|
*/
|
104
104
|
export const DEFAULT_FEATURES: Features = {
|
105
105
|
...CURRENCY_DEFAULT_FEATURES,
|
106
|
-
brazeLearn: DEFAULT_FEATURE,
|
107
106
|
portfolioExchangeBanner: DEFAULT_FEATURE,
|
108
107
|
postOnboardingAssetsTransfer: DEFAULT_FEATURE,
|
109
108
|
counterValue: DEFAULT_FEATURE,
|
110
109
|
mockFeature: DEFAULT_FEATURE,
|
111
|
-
calLedgerService: DEFAULT_FEATURE,
|
112
110
|
ptxServiceCtaExchangeDrawer: DEFAULT_FEATURE,
|
113
111
|
ptxServiceCtaScreens: DEFAULT_FEATURE,
|
114
112
|
ptxSwapReceiveTRC20WithoutTrx: DEFAULT_FEATURE,
|
@@ -11,6 +11,7 @@ import { bridge as hedera } from "../../families/hedera/setup";
|
|
11
11
|
import { bridge as filecoin } from "../../families/filecoin/setup";
|
12
12
|
import { bridge as internet_computer } from "../../families/internet_computer/setup";
|
13
13
|
import { bridge as icon } from "../../families/icon/setup";
|
14
|
+
import { bridge as kaspa } from "../../families/kaspa/setup";
|
14
15
|
import { bridge as multiversx } from "../../families/multiversx/setup";
|
15
16
|
import { bridge as near } from "../../families/near/setup";
|
16
17
|
import { bridge as polkadot } from "../../families/polkadot/setup";
|
@@ -37,6 +38,7 @@ export default {
|
|
37
38
|
filecoin,
|
38
39
|
internet_computer,
|
39
40
|
icon,
|
41
|
+
kaspa,
|
40
42
|
multiversx,
|
41
43
|
near,
|
42
44
|
polkadot,
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import algorand from "../../families/algorand/bridge/mock";
|
2
2
|
import bitcoin from "../../families/bitcoin/bridge/mock";
|
3
|
+
import canton from "../../families/canton/bridge/mock";
|
3
4
|
import cardano from "../../families/cardano/bridge/mock";
|
4
5
|
import casper from "../../families/casper/bridge/mock";
|
5
6
|
import cosmos from "../../families/cosmos/bridge/mock";
|
@@ -16,6 +17,7 @@ import xrp from "../../families/xrp/bridge/mock";
|
|
16
17
|
export default {
|
17
18
|
algorand,
|
18
19
|
bitcoin,
|
20
|
+
canton,
|
19
21
|
cardano,
|
20
22
|
casper,
|
21
23
|
cosmos,
|
@@ -11,6 +11,7 @@ import { cliTools as hedera } from "../families/hedera/setup";
|
|
11
11
|
import { cliTools as filecoin } from "../families/filecoin/setup";
|
12
12
|
import { cliTools as internet_computer } from "../families/internet_computer/setup";
|
13
13
|
import { cliTools as icon } from "../families/icon/setup";
|
14
|
+
import { cliTools as kaspa } from "../families/kaspa/setup";
|
14
15
|
import { cliTools as multiversx } from "../families/multiversx/setup";
|
15
16
|
import { cliTools as near } from "../families/near/setup";
|
16
17
|
import { cliTools as polkadot } from "../families/polkadot/setup";
|
@@ -39,6 +40,7 @@ export default {
|
|
39
40
|
filecoin,
|
40
41
|
internet_computer,
|
41
42
|
icon,
|
43
|
+
kaspa,
|
42
44
|
multiversx,
|
43
45
|
near,
|
44
46
|
polkadot,
|
@@ -11,6 +11,7 @@ import hedera from "@ledgerhq/coin-hedera/deviceTransactionConfig";
|
|
11
11
|
import filecoin from "@ledgerhq/coin-filecoin/deviceTransactionConfig";
|
12
12
|
import internet_computer from "@ledgerhq/coin-internet_computer/deviceTransactionConfig";
|
13
13
|
import icon from "@ledgerhq/coin-icon/deviceTransactionConfig";
|
14
|
+
import kaspa from "@ledgerhq/coin-kaspa/deviceTransactionConfig";
|
14
15
|
import multiversx from "@ledgerhq/coin-multiversx/deviceTransactionConfig";
|
15
16
|
import near from "@ledgerhq/coin-near/deviceTransactionConfig";
|
16
17
|
import polkadot from "@ledgerhq/coin-polkadot/deviceTransactionConfig";
|
@@ -37,6 +38,7 @@ export default {
|
|
37
38
|
filecoin,
|
38
39
|
internet_computer,
|
39
40
|
icon,
|
41
|
+
kaspa,
|
40
42
|
multiversx,
|
41
43
|
near,
|
42
44
|
polkadot,
|
@@ -11,6 +11,7 @@ import { resolver as hedera } from "../families/hedera/setup";
|
|
11
11
|
import { resolver as filecoin } from "../families/filecoin/setup";
|
12
12
|
import { resolver as internet_computer } from "../families/internet_computer/setup";
|
13
13
|
import { resolver as icon } from "../families/icon/setup";
|
14
|
+
import { resolver as kaspa } from "../families/kaspa/setup";
|
14
15
|
import { resolver as multiversx } from "../families/multiversx/setup";
|
15
16
|
import { resolver as near } from "../families/near/setup";
|
16
17
|
import { resolver as polkadot } from "../families/polkadot/setup";
|
@@ -39,6 +40,7 @@ export default {
|
|
39
40
|
filecoin,
|
40
41
|
internet_computer,
|
41
42
|
icon,
|
43
|
+
kaspa,
|
42
44
|
multiversx,
|
43
45
|
near,
|
44
46
|
polkadot,
|
@@ -11,6 +11,7 @@ import hedera from "@ledgerhq/coin-hedera/transaction";
|
|
11
11
|
import filecoin from "@ledgerhq/coin-filecoin/transaction";
|
12
12
|
import internet_computer from "@ledgerhq/coin-internet_computer/transaction";
|
13
13
|
import icon from "@ledgerhq/coin-icon/transaction";
|
14
|
+
import kaspa from "@ledgerhq/coin-kaspa/transaction";
|
14
15
|
import multiversx from "@ledgerhq/coin-multiversx/transaction";
|
15
16
|
import near from "@ledgerhq/coin-near/transaction";
|
16
17
|
import polkadot from "@ledgerhq/coin-polkadot/transaction";
|
@@ -39,6 +40,7 @@ export default {
|
|
39
40
|
filecoin,
|
40
41
|
internet_computer,
|
41
42
|
icon,
|
43
|
+
kaspa,
|
42
44
|
multiversx,
|
43
45
|
near,
|
44
46
|
polkadot,
|
package/src/generated/types.ts
CHANGED
@@ -76,6 +76,12 @@ import type {
|
|
76
76
|
TransactionStatus as internet_computerTransactionStatus,
|
77
77
|
TransactionStatusRaw as internet_computerTransactionStatusRaw,
|
78
78
|
} from "@ledgerhq/coin-internet_computer/types/index";
|
79
|
+
import type {
|
80
|
+
Transaction as kaspaTransaction,
|
81
|
+
TransactionRaw as kaspaTransactionRaw,
|
82
|
+
TransactionStatus as kaspaTransactionStatus,
|
83
|
+
TransactionStatusRaw as kaspaTransactionStatusRaw,
|
84
|
+
} from "@ledgerhq/coin-kaspa/types/index";
|
79
85
|
import type {
|
80
86
|
Transaction as minaTransaction,
|
81
87
|
TransactionRaw as minaTransactionRaw,
|
@@ -169,6 +175,7 @@ export type Transaction =
|
|
169
175
|
| hederaTransaction
|
170
176
|
| iconTransaction
|
171
177
|
| internet_computerTransaction
|
178
|
+
| kaspaTransaction
|
172
179
|
| minaTransaction
|
173
180
|
| multiversxTransaction
|
174
181
|
| nearTransaction
|
@@ -197,6 +204,7 @@ export type TransactionRaw =
|
|
197
204
|
| hederaTransactionRaw
|
198
205
|
| iconTransactionRaw
|
199
206
|
| internet_computerTransactionRaw
|
207
|
+
| kaspaTransactionRaw
|
200
208
|
| minaTransactionRaw
|
201
209
|
| multiversxTransactionRaw
|
202
210
|
| nearTransactionRaw
|
@@ -225,6 +233,7 @@ export type TransactionStatus =
|
|
225
233
|
| hederaTransactionStatus
|
226
234
|
| iconTransactionStatus
|
227
235
|
| internet_computerTransactionStatus
|
236
|
+
| kaspaTransactionStatus
|
228
237
|
| minaTransactionStatus
|
229
238
|
| multiversxTransactionStatus
|
230
239
|
| nearTransactionStatus
|
@@ -253,6 +262,7 @@ export type TransactionStatusRaw =
|
|
253
262
|
| hederaTransactionStatusRaw
|
254
263
|
| iconTransactionStatusRaw
|
255
264
|
| internet_computerTransactionStatusRaw
|
265
|
+
| kaspaTransactionStatusRaw
|
256
266
|
| minaTransactionStatusRaw
|
257
267
|
| multiversxTransactionStatusRaw
|
258
268
|
| nearTransactionStatusRaw
|
package/src/hw/actions/app.ts
CHANGED
@@ -540,18 +540,20 @@ export const createAction = (
|
|
540
540
|
displayUpgradeWarning: false,
|
541
541
|
}));
|
542
542
|
}, []);
|
543
|
-
|
543
|
+
// TODO remove after fix
|
544
|
+
const isCanton = appRequest.account?.currency.id.includes("canton");
|
545
|
+
const wrongDevice =
|
546
|
+
state.derivation && appRequest.account
|
547
|
+
? state.derivation.address !== appRequest.account.freshAddress &&
|
548
|
+
state.derivation.address !== appRequest.account.seedIdentifier // Use-case added for Hedera
|
549
|
+
? {
|
550
|
+
accountName: getDefaultAccountName(appRequest.account),
|
551
|
+
}
|
552
|
+
: null
|
553
|
+
: null;
|
544
554
|
return {
|
545
555
|
...state,
|
546
|
-
inWrongDeviceForAccount:
|
547
|
-
state.derivation && appRequest.account
|
548
|
-
? state.derivation.address !== appRequest.account.freshAddress &&
|
549
|
-
state.derivation.address !== appRequest.account.seedIdentifier // Use-case added for Hedera
|
550
|
-
? {
|
551
|
-
accountName: getDefaultAccountName(appRequest.account),
|
552
|
-
}
|
553
|
-
: null
|
554
|
-
: null,
|
556
|
+
inWrongDeviceForAccount: isCanton ? null : wrongDevice,
|
555
557
|
onRetry,
|
556
558
|
passWarning,
|
557
559
|
};
|
@@ -62,6 +62,22 @@ describe("getDeviceNameMaxLength", () => {
|
|
62
62
|
}),
|
63
63
|
).toBe(20);
|
64
64
|
});
|
65
|
+
test("Europa of any version should max at 20", async () => {
|
66
|
+
expect(
|
67
|
+
getDeviceNameMaxLength({
|
68
|
+
deviceModelId: DeviceModelId.europa,
|
69
|
+
version: "0.0.1",
|
70
|
+
}),
|
71
|
+
).toBe(20);
|
72
|
+
});
|
73
|
+
test("Apex of any version should max at 20", async () => {
|
74
|
+
expect(
|
75
|
+
getDeviceNameMaxLength({
|
76
|
+
deviceModelId: DeviceModelId.apex,
|
77
|
+
version: "0.0.1",
|
78
|
+
}),
|
79
|
+
).toBe(20);
|
80
|
+
});
|
65
81
|
test("Other models should just return 17 as a fallback", async () => {
|
66
82
|
expect(
|
67
83
|
getDeviceNameMaxLength({
|
@@ -32,7 +32,7 @@ export function useAssetsData({
|
|
32
32
|
product: "llm" | "lld";
|
33
33
|
version: string;
|
34
34
|
}) {
|
35
|
-
const { data, isLoading, error, fetchNextPage, isSuccess, refetch } =
|
35
|
+
const { data, isLoading, error, fetchNextPage, isSuccess, refetch, isFetching, isError } =
|
36
36
|
useGetAssetsDataInfiniteQuery({
|
37
37
|
search,
|
38
38
|
useCase,
|
@@ -64,10 +64,11 @@ export function useAssetsData({
|
|
64
64
|
|
65
65
|
return {
|
66
66
|
data: joinedPages,
|
67
|
-
isLoading,
|
67
|
+
isLoading: isLoading || isFetching,
|
68
68
|
error,
|
69
69
|
loadNext: hasMore ? fetchNextPage : undefined,
|
70
70
|
isSuccess,
|
71
|
+
isError,
|
71
72
|
refetch,
|
72
73
|
};
|
73
74
|
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { ChangeEvent, useCallback, useState } from "react";
|
2
|
+
|
3
|
+
export type UseSearchParams = {
|
4
|
+
/** Initial value to display in the search input */
|
5
|
+
initialValue?: string;
|
6
|
+
/** Persist the search value to the host app state (e.g., Redux) */
|
7
|
+
onPersistSearchValue?: (value: string) => void;
|
8
|
+
/** Track analytics when the debounced value changes and should be emitted */
|
9
|
+
onTrackSearch?: (query: string) => void;
|
10
|
+
};
|
11
|
+
|
12
|
+
export type UseSearchResult = {
|
13
|
+
handleSearch: (queryOrEvent: string | ChangeEvent<HTMLInputElement>) => void;
|
14
|
+
handleDebouncedChange: (current: string, previous: string) => void;
|
15
|
+
displayedValue: string | undefined;
|
16
|
+
};
|
17
|
+
|
18
|
+
const normalize = (value: string) => value.trim();
|
19
|
+
|
20
|
+
export function useSearchCommon({
|
21
|
+
initialValue,
|
22
|
+
onPersistSearchValue,
|
23
|
+
onTrackSearch,
|
24
|
+
}: UseSearchParams): UseSearchResult {
|
25
|
+
const [displayedValue, setDisplayedValue] = useState<string | undefined>(initialValue);
|
26
|
+
|
27
|
+
const handleSearch = useCallback((queryOrEvent: string | ChangeEvent<HTMLInputElement>) => {
|
28
|
+
const nextValue = typeof queryOrEvent === "string" ? queryOrEvent : queryOrEvent.target.value;
|
29
|
+
setDisplayedValue(nextValue);
|
30
|
+
}, []);
|
31
|
+
|
32
|
+
const shouldEmitEvent = useCallback(
|
33
|
+
(currentQuery: string, previousQuery: string) =>
|
34
|
+
currentQuery !== "" && currentQuery !== previousQuery,
|
35
|
+
[],
|
36
|
+
);
|
37
|
+
const handleDebouncedChange = useCallback(
|
38
|
+
(current: string, previous: string) => {
|
39
|
+
const currentQuery = normalize(current);
|
40
|
+
const previousQuery = normalize(previous);
|
41
|
+
|
42
|
+
onPersistSearchValue?.(currentQuery);
|
43
|
+
|
44
|
+
if (!shouldEmitEvent(currentQuery, previousQuery)) return;
|
45
|
+
|
46
|
+
onTrackSearch?.(currentQuery);
|
47
|
+
},
|
48
|
+
[onPersistSearchValue, onTrackSearch, shouldEmitEvent],
|
49
|
+
);
|
50
|
+
|
51
|
+
return { handleSearch, handleDebouncedChange, displayedValue };
|
52
|
+
}
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import { filterServiceStatusIncidents } from "./index";
|
2
|
+
import { LEDGER_COMPONENTS } from "./ledger-components";
|
3
|
+
import type { Incident } from "./types";
|
4
|
+
|
5
|
+
const makeIncident = (overrides: Partial<Incident> = {}): Incident => ({
|
6
|
+
created_at: "2025-01-01T00:00:00Z",
|
7
|
+
id: Math.random().toString(16).slice(2),
|
8
|
+
impact: "minor",
|
9
|
+
incident_updates: [],
|
10
|
+
monitoring_at: null,
|
11
|
+
name: "Test incident",
|
12
|
+
page_id: null,
|
13
|
+
resolved_at: null,
|
14
|
+
shortlink: null,
|
15
|
+
status: "investigating",
|
16
|
+
updated_at: null,
|
17
|
+
...overrides,
|
18
|
+
});
|
19
|
+
|
20
|
+
describe("filterServiceStatusIncidents", () => {
|
21
|
+
it("returns empty when no tickers or no incidents", () => {
|
22
|
+
expect(filterServiceStatusIncidents([], ["BTC"]).length).toBe(0);
|
23
|
+
expect(filterServiceStatusIncidents([makeIncident()], []).length).toBe(0);
|
24
|
+
});
|
25
|
+
|
26
|
+
it("matches incidents with known Ledger components (case-insensitive)", () => {
|
27
|
+
const incidents: Incident[] = [
|
28
|
+
makeIncident({ components: [{ id: "1", name: "Ledger Application Store" }] }),
|
29
|
+
makeIncident({ components: [{ id: "2", name: "ledger appliCAtion store" }] }),
|
30
|
+
makeIncident({ components: [{ id: "3", name: "Unknown Component" }] }),
|
31
|
+
];
|
32
|
+
|
33
|
+
const result = filterServiceStatusIncidents(incidents, ["BTC"]);
|
34
|
+
expect(result.map(i => i.components?.[0].id)).toEqual(["1", "2"]);
|
35
|
+
});
|
36
|
+
|
37
|
+
it("matches incidents if a component contains a tracked ticker as a whole word (case-insensitive)", () => {
|
38
|
+
const incidents: Incident[] = [
|
39
|
+
makeIncident({ components: [{ id: "1", name: "BTC Node" }] }),
|
40
|
+
makeIncident({ components: [{ id: "2", name: "eth Node" }] }),
|
41
|
+
makeIncident({ components: [{ id: "3", name: "TETHER Service" }] }),
|
42
|
+
makeIncident({ components: [{ id: "4", name: "NOTBTCService" }] }),
|
43
|
+
];
|
44
|
+
|
45
|
+
const result = filterServiceStatusIncidents(incidents, ["BTC", "ETH"]);
|
46
|
+
expect(result.map(i => i.components?.[0].id)).toEqual(["1", "2"]);
|
47
|
+
});
|
48
|
+
|
49
|
+
it("includes incidents with no components array or empty array", () => {
|
50
|
+
const incidents: Incident[] = [
|
51
|
+
makeIncident({ components: undefined }),
|
52
|
+
makeIncident({ components: [] }),
|
53
|
+
];
|
54
|
+
|
55
|
+
const result = filterServiceStatusIncidents(incidents, ["BTC"]);
|
56
|
+
expect(result.length).toBe(2);
|
57
|
+
});
|
58
|
+
|
59
|
+
it("escapes tickers so special regex characters do not break matching", () => {
|
60
|
+
const incidents: Incident[] = [
|
61
|
+
makeIncident({ components: [{ id: "1", name: "USDT Node" }] }),
|
62
|
+
makeIncident({ components: [{ id: "2", name: "US.DT Node" }] }),
|
63
|
+
makeIncident({ components: [{ id: "3", name: "(USDT) Node" }] }),
|
64
|
+
makeIncident({ components: [{ id: "4", name: "Ethereum Node" }] }),
|
65
|
+
makeIncident({ components: [{ id: "5", name: "Ethereum (ETH) swap issue" }] }),
|
66
|
+
];
|
67
|
+
|
68
|
+
const result = filterServiceStatusIncidents(incidents, ["USDT", "ETH"]);
|
69
|
+
expect(result.map(i => i.components?.[0].id)).toEqual(["1", "3", "5"]);
|
70
|
+
expect(result.length).toBe(3);
|
71
|
+
});
|
72
|
+
|
73
|
+
it("matches incidents for all known Ledger components", () => {
|
74
|
+
const incidents: Incident[] = LEDGER_COMPONENTS.map((name, index) =>
|
75
|
+
makeIncident({ components: [{ id: `${index + 1}`, name }] }),
|
76
|
+
);
|
77
|
+
|
78
|
+
const result = filterServiceStatusIncidents(incidents, ["BTC"]);
|
79
|
+
expect(result.length).toBe(LEDGER_COMPONENTS.length);
|
80
|
+
});
|
81
|
+
|
82
|
+
it("filters correctly with common tickers", () => {
|
83
|
+
const tickers = ["XRP", "SOL", "ETH", "BTC", "ADA", "USDC", "USDT"];
|
84
|
+
const incidents: Incident[] = [
|
85
|
+
makeIncident({ components: [{ id: "1", name: "BTC Node" }] }),
|
86
|
+
makeIncident({ components: [{ id: "2", name: "eth Node" }] }),
|
87
|
+
makeIncident({ components: [{ id: "3", name: "ADA-Service" }] }),
|
88
|
+
makeIncident({ components: [{ id: "4", name: "usdc gateway" }] }),
|
89
|
+
makeIncident({ components: [{ id: "5", name: "NOTUSDTService" }] }),
|
90
|
+
makeIncident({ components: [{ id: "6", name: "USDT" }] }),
|
91
|
+
makeIncident({ components: [{ id: "7", name: "xrp relayer" }] }),
|
92
|
+
makeIncident({ components: [{ id: "8", name: "SOL Node" }] }),
|
93
|
+
makeIncident({ components: [{ id: "9", name: "SOLANA Node" }] }),
|
94
|
+
makeIncident({ components: [{ id: "10", name: "Random Service" }] }),
|
95
|
+
makeIncident({ components: [] }),
|
96
|
+
];
|
97
|
+
|
98
|
+
const result = filterServiceStatusIncidents(incidents, tickers);
|
99
|
+
expect(result.map(i => i.components?.[0]?.id)).toEqual(["1", "2", "3", "4", "6", "7", "8"]);
|
100
|
+
expect(result.length).toBe(8);
|
101
|
+
});
|
102
|
+
});
|