github LedgerHQ/ledger-live @ledgerhq/live-desktop@4.27.0

latest release: live-mobile@4.27.0
4 hours ago

4.27.0

Minor Changes

  • #23982 5be64be Thanks @LucasWerey! - Account Detail on LWD shows the account notices (currency migration, deprecation and custom banners, Robinhood disclaimer, Perps) and the family blocks (pending transfer proposals, sub header, balance summary footer, body header) in the custom place. The notices package now maps the remote currency config into notice signals (toCurrencyStatusSignal, toCustomBannerSignal).

  • #23894 4be13d5 Thanks @thesan! - @shared/auth replaces authApiExtra with createAuthMiddleware: the auth provider is held by a store middleware instead of the thunk extraArgument, and getAuthProvider(dispatch) reads it.

  • #24119 6a2b43c Thanks @claudiiafg! - Move the desktop assets table into @features/platform-assets-table, shared by Portfolio, Crypto addresses and Account Detail

  • #24166 7cb4286 Thanks @LucasWerey! - Account Detail shows the address type of an account (Native segwit, Taproot...) as a tag in the account hero, the Asset Detail addresses and the Crypto Addresses table

  • #24084 b279fa5 Thanks @LucasWerey! - Account Detail shows the Solana stakes with the shared Lumen delegation component

  • #24083 00e6b35 Thanks @LucasWerey! - Account Detail shows the Tron votes with the shared Lumen delegation component

  • #24082 a9aac86 Thanks @LucasWerey! - Add the shared delegation section of Account Detail (Lumen table on LWD, list with a bottom sheet on LWM) and the family slot that lets a family use it

  • #24106 6a57877 Thanks @LucasWerey! - Account Detail offers a "+ Add" action in the Assets section for Algorand, Stellar and Hedera (Algorand and Stellar on mobile)

  • #24108 6c4c4bf Thanks @LucasWerey! - Account Detail shows the Solana and Tron balances as Lumen cards with the shared balance summary component

  • #24122 7cd4567 Thanks @LucasWerey! - Account Detail notice banners show their full description instead of cutting it after 5 lines.

  • #24172 5d8a2c6 Thanks @LucasWerey! - Account Detail assets are clickable and open the Asset Detail page of the asset

  • #23993 27dff22 Thanks @VicAlbr! - Add a test id to the coin control strategy select

  • #23994 01b4e55 Thanks @VicAlbr! - Add a test id to the onboarding tutorial Back button

  • #24173 f0af054 Thanks @ysitbon! - Plug the account data recorder in from the DevTools screen instead of at boot, so the store and the sources no longer import @devtools/bindings

  • #24040 d185364 Thanks @ysitbon! - AccountSettings moves to the web platform entry @features/flow-account-detail-settings/web and AccountSettingsSheet to the native platform entry @features/flow-account-detail-settings/native; AccountSettingsDialog becomes internal. The universal entry is one unconditioned src/index.ts holding the menu, advanced logs and remove contents and buildAdvancedLogs, and imports carry no platform suffix.

  • #23953 cd14395 Thanks @mateuszpalosz-ext! - add the balance type step to the new send flow on mobile and reuse the shared balance type copy for Aleo

  • #24036 ebe7149 Thanks @ysitbon! - List the desktop api services once with defineApiServices, which builds their reducers, middlewares and thunk extraArgument

  • #24024 9907890 Thanks @qperrot! - Remove Blast and Blast Sepolia, whose chain shut down

  • #23862 e6d5e3c Thanks @amaslakov! - List every active Tezos baker instead of a hardcoded whitelist, preselect Ledger by Kiln only when it is listed, and only list bakers that accept staking in the stake flow

  • #24147 a49773f Thanks @OlivierFreyssinet! - Bump @ledgerhq/dmk-ledger-wallet to 0.8.0 and @ledgerhq/device-signer-kit-solana to 1.15.0, and keep the backup and show the out-of-memory screen when the OS update restore ends with an out-of-memory status

  • #23972 7aeab58 Thanks @mcayuelas-ledger! - Always show desktop aggregated assets, drop the lwdWallet40 param, and align desktop e2e

  • #24068 68196b4 Thanks @mcayuelas-ledger! - Show desktop asset discoverability without a feature flag

  • #24031 ce12e26 Thanks @ysitbon! - ContactsAddContactContent of @features/flow-contacts-add-contact has one props contract on both platforms: ContactsAddContactContentProps gains the native-only autoFocus, and ContactsAddContactContentNativeProps is gone. The mobile content renders ContactNameDisclaimer. ContactsAddContactDialog moves to the ./web entry, and ContactsAddContactFooter with ContactsAddContactFooterProps to the ./native entry. The . entry has no react-native condition.

  • #24029 4bb6da0 Thanks @ysitbon! - @features/flow-contacts-list exports ContactsListView from ./web and ./native, each with its own props, and ContactsAddContactHeaderButton from ./native. The . entry has no react-native condition and exports the list logic plus the universal ContactsCompactList, which now calls onSelectContact and takes an optional testID. ContactsCompactRow and ContactsSearchNoResults are no longer exported, and @features/flow-contacts stops re-exporting ContactsAddContactHeaderButton.

  • #24067 df941ac Thanks @dilaouid! - testnet accounts have no countervalue, so the amount step only offers the crypto input (no fiat toggle or fiat equivalent) and amounts are always validated

  • #24100 f95b426 Thanks @mcayuelas-ledger! - Always show the desktop asset section and drop the lwdWallet40 assetSection param

  • #24169 a9d19d0 Thanks @gre-ledger! - Mount the account balance histories slice, add a Balance history page to the DevTools Accounts section and serve the balanceHistory kind for mock accounts

  • #24071 566902e Thanks @gre-ledger! - Mount the account operations slice and add an Operations page to the DevTools Accounts section

  • #23787 b79c360 Thanks @gre-ledger! - Add a mock-accounts devtool: mock:2:… descriptors served by a lazy-loaded MockSource, with their balances and paginated operations

  • #23587 afbe91f Thanks @gre-ledger! - Open the DevTools panel in its own window from a top-bar button in developer mode

  • #24113 198fa76 Thanks @dilaouid! - Add the coin module account data source, reading the balance of an account from its coin module, ranked before the full sync source

  • #24007 bda0e29 Thanks @Justkant! - Log manifest domain check violations, rejected goToURL fallbacks and rejected loadURL calls to the exported logs, once per distinct violation. Add resolveInitialURL, which returns the initial URL along with the goToURL it rejected

  • #23351 80325b3 Thanks @vpenskyi-ledger! - feat(perps): add the custom.perps.migrateAccount wallet API method, which hands a legacy Perps user the Hyperliquid account at their legacy address, adding it through the standard add account flow when the wallet has none

  • #24013 8aad423 Thanks @YazhuEth! - Add the ledgerlive://predictions deep link, which opens the Predictions live app with the link's query params. On mobile, https universal links (ledger.go.link) now go through the same deep link handling as ledgerlive:// links

  • #24179 52755c2 Thanks @mateuszpalosz-ext! - updated styles for Aleo new send flow

  • #23772 5a6a32d Thanks @mcayuelas-ledger! - feat(devtools): add the account-portfolio devtool to call the Portfolio service, with a balance history chart and paged history

  • #23806 b947ef4 Thanks @live-github-bot! - Update coin modules dependencies (coin-module-framework 11, coin-evm, coin-hypercore, coin-stellar, coin-tezos, coin-xrp)

  • #22966 77a85a3 Thanks @qperrot! - Remove deprecated Moonbeam and Moonriver blockchains and the currencyMoonriver feature flag

  • #23768 c5443a4 Thanks @YazhuEth! - Move the Send flow's animated dialog height into @shared/ui-animated-height so other dialogs can reuse it

  • #24258 16ef2fa Thanks @henri-ly! - fix(coin-solana): keep transactions within the 4 instructions the Nano S app parses, by leaving out the compute-unit limit when it and the price don't both fit (a stake creation with its delegation, a token transfer creating the recipient account with a memo), instead of requiring blind signing

  • #23736 797b1ab Thanks @qperrot! - fix(coin-solana): read endpoints and tuning values from the coin config

    rpcUrls is now a required field of SolanaCoinConfig and endpointByCurrencyId resolves the
    endpoint of a currency from rpcUrls[<currencyId>] alone: the API_SOLANA_PROXY env and the
    web3.js clusterApiUrl fallbacks are removed, and a missing entry throws. live-common registers
    config_currency_solana_devnet and config_currency_solana_testnet next to
    config_currency_solana, each carrying its own endpoint, and the legacy coin config resolves the
    configuration of the requested currency instead of always reading the mainnet one.

    The legacy validators list is read from validatorsUrl of the requested currency, the field the
    Alpaca getValidators already reads: config_currency_solana defaults to the production Earn API
    list (/v0/network/solana/validator-details) and config_currency_solana_testnet to the
    validators-solana testnet list. solana_devnet still derives its validators from the RPC vote
    accounts. A missing validatorsUrl on mainnet or testnet throws.

    The validator APY is read from staking.validatorsSummaryUrl (default in config_currency_solana:
    the production Figment summary on the Earn API) in both the legacy and the Alpaca paths, at call
    time instead of once at module load. A currency without it lists its validators without APY, so
    solana_testnet no longer fetches the mainnet APY through the Alpaca API.

    The tuning values are read from the coin config at call time, each falling back to one exported
    module default in constants: broadcast.timeoutMs (DEFAULT_BROADCAST_TIMEOUT_MS, 100000),
    node.retries / node.retryDelayMs (DEFAULT_NODE_RETRIES 3, DEFAULT_NODE_RETRY_DELAY_MS 500),
    node.maxTxQuery / node.batchSize (100 / 100), fees.computeUnitMargin (0.1),
    fees.defaultTxFee (5000, also replacing the ?? 5000 copies in craftTransaction),
    fees.blockhashRetries / fees.blockhashRetryDelayMs (5 / 5000), staking.ledgerValidators
    (DEFAULT_LEDGER_VALIDATORS) and validators.cacheTtlMs (DEFAULT_VALIDATORS_CACHE_TTL_MS,
    900000). The ky HTTP retry on status codes stays a constant.

    The module keeps no configuration state: config.ts holds types only and every reader resolves
    config_currency_<id> through a SolanaContext at call time. live-common builds it with
    buildContext for the message signer and the validators hook.

    Breaking: the API_SOLANA_PROXY, SOLANA_VALIDATORS_APP_BASE_URL,
    SOLANA_TESTNET_VALIDATORS_APP_BASE_URL, SOLANA_VALIDATORS_SUMMARY_BASE_URL and
    SOLANA_TX_CONFIRMATION_TIMEOUT env definitions are removed; override rpcUrls.<id>, validatorsUrl and staking.validatorsSummaryUrl in
    config_currency_<id> instead. The legacy getValidators of network/validator-app now takes
    (validatorsUrl, validatorsSummaryUrl?) instead of a cluster, and the Alpaca getValidators takes
    the summary URL as its second argument. craftTransaction, estimateFees, estimateTxFee,
    unstakeReserve, computeUnstakeReserve, getBalance and listOperations take the
    SolanaCoinConfig as their second argument, buildVersionedTransaction as its fourth, and the
    network/chain/web3 instruction builders take the resolved computeUnitMargin.
    getChainAPI accepts confirmationTimeoutMs, retries and retryDelayMs; build its config with
    chainConfigFrom(config, currencyId). LEDGER_VALIDATOR_DEFAULT, LEDGER_VALIDATOR_LIST and
    LEDGER_VALIDATORS_VOTE_ACCOUNTS are removed: use ledgerValidatorsOf(config) /
    defaultLedgerValidatorOf(config); LEDGER_VALIDATOR_BY_FIGMENT / _BY_BITWISE moved to
    constants. ledgerFirstValidators takes the Ledger list as its second argument. The coinConfig default export of config (setCoinConfig / getCoinConfig) is removed:
    getSolanaValidators(context, currencyId) and fetchValidators(config, currencyId) take the
    config explicitly, and signMessage(signerContext, contextOf) resolves the account's currency
    context when signing.

  • #24022 8b9464a Thanks @mcayuelas-ledger! - Add a ledgerlive://contacts deeplink that opens Contacts when lwdContacts is enabled

  • #24080 08aafc3 Thanks @gre-ledger! - Upgrade rspack to 2.3.0, rsbuild to 2.3.0 and rslib to 1.0.5

Patch Changes

  • Updated dependencies [5be64be, eebea9e, 4be13d5, edb6f42, 6a2b43c, c1c388f, 304b8b2, a9aac86, 08324bd, 3775d3f, d185364, cd14395, 0c62d35, 9907890, e6d5e3c, 8854aff, a49773f, 7aeab58, 68196b4, 9c2d544, ce12e26, 0c9ce30, 55dc039, d7778b9, 1dee328, 4bb6da0, df941ac, f95b426, a9d19d0, 566902e, 97be95e, b79c360, fdb0bdc, 198fa76, 2b8aa58, bda0e29, c8c49b0, 80325b3, 8aad423, 4397830, e275739, 33fc619, 5a6a32d, b947ef4, 54c706e, e6382fe, 604337a, 77a85a3, c5443a4, 496a4ef, 797b1ab, dbe42b3, c50f3fa]:
    • @features/flow-account-detail-notices@0.3.0
    • @domain/entity-account-operation@0.1.0
    • @shared/auth@0.8.0
    • @ledgerhq/live-common@38.6.0
    • @features/platform-assets-table@0.2.0
    • @features/flow-account-detail-hero@0.3.0
    • @domain/entity-account-data@0.4.0
    • @domain/api-account-data@0.4.0
    • @domain/entity-account-balance-history@0.1.0
    • @devtools/bindings@0.14.0
    • @features/flow-account-detail-delegations@0.2.0
    • @features/flow-account-detail@0.3.0
    • @features/flow-account-detail-settings@0.3.0
    • @shared/api-services@0.12.0
    • @domain/entity-currency-crypto@0.18.0
    • @features/platform-currencies@0.12.0
    • @shared/feature-flags@0.29.0
    • @ledgerhq/types-live@6.130.0
    • @ledgerhq/ledger-wallet-framework@3.10.0
    • @ledgerhq/live-dmk-shared@0.38.0
    • @features/platform-feature-flags@0.11.0
    • @features/flow-contacts-add-address@0.9.0
    • @features/flow-contacts-add-contact@0.10.0
    • @features/flow-pay-contact@0.8.0
    • @features/flow-contacts-delete-address@0.4.0
    • @features/flow-contacts-delete-contact@0.5.0
    • @features/flow-contacts-edit-address@0.7.0
    • @features/flow-contacts-edit-contact@0.9.0
    • @features/flow-contacts-list@0.12.0
    • @features/flow-contacts@0.17.0
    • @features/flow-portfolio-services-entry-points@0.2.0
    • @devtools/shell@0.13.0
    • @domain/entity-account@0.2.0
    • @features/platform-account-source-coin-module@0.1.0
    • @features/flow-pay-card-assets@0.6.0
    • @features/flow-pay-card-details@0.10.0
    • @features/flow-pay-card@0.8.0
    • @features/platform-predictions@0.3.0
    • @features/platform-device-onboarding@0.4.0
    • @features/platform-aggregated-assets@0.6.0
    • @shared/ui-animated-height@0.2.0
    • @shared/env@0.12.0
    • @ledgerhq/asset-detail@0.12.3
    • @ledgerhq/live-dmk-desktop@0.26.1
    • @ledgerhq/live-send@0.1.6
    • @domain/entity-account-balance@0.2.2
    • @domain/api-aggregated-assets@0.6.3
    • @domain/api-card-management@0.8.4
    • @domain/api-currency-fiat@0.5.1
    • @domain/api-currency-token@0.7.1
    • @domain/api-market-countervalues@0.2.3
    • @domain/api-market-index-altcoin-season@0.4.4
    • @domain/api-market-index-fear-and-greed@0.4.4
    • @domain/api-push-devices@0.2.11
    • @features/platform-card@0.8.3
    • @domain/entity-contact@0.12.3
    • @domain/entity-currency@0.4.9
    • @domain/entity-currency-token@0.5.8
    • @domain/entity-market-countervalues@0.4.2
    • @features/flow-contacts-detail@0.3.1
    • @features/platform-account-analytics@0.2.0
    • @features/platform-contacts@0.12.1
    • @features/platform-market-countervalues@0.4.1
    • @ledgerhq/asset-aggregation@0.18.3
    • @ledgerhq/coin-bitcoin@1.1.1
    • @ledgerhq/coin-cardano@2.1.1
    • @ledgerhq/live-wallet@1.1.9
    • @ledgerhq/wallet-analytics@0.5.4
    • @ledgerhq/wallet-pnl@0.8.3
    • @features/flow-large-screen-upsell@2.3.1
    • @features/flow-pay-feature-tour@0.8.3
    • @features/platform-feature-flags-firebase@0.1.3
    • @ledgerhq/coin-canton@1.6.1
    • @ledgerhq/coin-casper@3.7.1
    • @ledgerhq/coin-concordium@1.7.1
    • @ledgerhq/coin-filecoin@2.6.1
    • @ledgerhq/coin-stacks@0.35.1
    • @ledgerhq/coin-zcash@1.1.1
    • @ledgerhq/live-signer-evm@0.24.4
    • @ledgerhq/transaction-observability@0.6.1
    • @ledgerhq/live-signer-tron@0.2.4
    • @features/flow-analytics-consent@0.2.12
    • @domain/entity-account-alias@0.1.3
    • @domain/entity-account-name@0.3.1
    • @domain/entity-starred-account@0.0.4
    • @features/platform-env@0.4.4
    • @features/flow-pay-card-auth@0.11.1
    • @features/flow-pay-card-transactions@0.7.1
    • @features/flow-pay-card-widget@0.6.2
    • @features/flow-fear-and-greed@0.5.1
    • @features/flow-app-availability@0.3.1
    • @ledgerhq/wallet-btc@1.1.0
    • @features/platform-content-ab-tests@0.2.3

Don't miss a new ledger-live release

NewReleases is sending notifications on new releases.