Skip to content

@ledgerhq/live-desktop@4.15.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Aug 08:57
· 86 commits to develop since this release
8065eb8

4.15.0

Minor Changes

  • #20280 9fcbe39 Thanks @gre-ledger! - Stop depending on @ledgerhq/errors (LIVE-32915).

    No workspace package declares it anymore, and none may again: enforce-boundaries now fails CI on any manifest that does. The classes it held live in the package that owns them, with @ledgerhq/ledger-wallet-framework/errors as the shared home below the coin layer.

    The package itself stays in the repo so it keeps being published for external consumers, and is bridged to the external coin packages that still peer-depend on it via pnpm.packageExtensions using workspace:* (which reuses the single in-repo copy, so the dependency graph keeps exactly the physical copies it had before). LedgerHQ/coin-modules#752 removes that peerDependency upstream; once it is released the bridge can be dropped, but the package still needs publishing.

  • #20221 1689e58 Thanks @cted-ledger! - Serve Zcash accounts with a standalone @ledgerhq/coin-zcash coin-module (LIVE-34556).

    The module owns all four transfer flows — t→t, t→z, z→t, z→z — and crafts, signs and broadcasts each one as a PCZT through the native @ledgerhq/zcash-utils engine, with no legacy PSBT path: it owns the transparent UTXO path itself via @ledgerhq/wallet-btc instead of delegating to the Bitcoin bridge. Shielded balances, notes and operations come from the sync engine, so a shielded account reports the balance and history the chain-adapter could only report for its transparent side.

    Which module serves a Zcash account is decided by the existing zcashShielded feature flag, mirrored into live-common (src/bridge/zcashRouting.ts) because a coin-module cannot read React feature flags. OFF (the default) keeps @ledgerhq/coin-bitcoin's Zcash chain-adapter and its legacy transparent path, so nothing changes for users until the flag is turned on; the two implementations are kept accounting-equivalent by differential tests that run both bridges over the same fixtures.

    Desktop hosts the engine in a dedicated utility process, reached over a zcash:-prefixed IPC contract owned by the module.

    Two flows do not complete on a NU6.3 chain, where newly shielded value goes to the Ironwood pool: z→z has no builder, since it would need Orchard spends alongside an Ironwood output; and a flow that does build a V6 PCZT cannot be finalized until @ledgerhq/zcash-utils exposes a V6 finalizer.

  • #20061 40ba85b Thanks @Sebastien-Dav1d! - Scrub wallet addresses and account IDs from Datadog RUM events

  • #20341 c016a95 Thanks @ysitbon! - Split backend access from use case in the RTK Query layer

    @shared/api-services now holds one endpoint-less createApi per backend (CAL, CoinMarketCap,
    Countervalues, Push Devices), owning its base query, extraArgument contract and reducer path.
    domain/api/* packages add their endpoints with injectEndpoints and their own cache tags with
    enhanceEndpoints, so one reducer, middleware and cache now serve every use case on a backend — the two
    CoinMarketCap packages previously had one each. Apps register the service apis.

    extraArgument builder names are unchanged, so only import paths move. Reducer paths are renamed after
    their backend (calApi, coinMarketCapApi, countervaluesApi); no persisted data and no endpoint
    behaviour is affected.

  • #20318 e0d421b Thanks @deepyjr! - Block sanctioned addresses in the Contacts add-address flow

  • #20263 6976ff3 Thanks @tonykhaov! - Wire desktop analytics consent renewal to shared policyVersion major/minor decision flow

  • #19989 78d84d4 Thanks @deepyjr! - Prevent Asset Detail history from stacking after Buy and Sell live app navigation

  • #20388 c0154aa Thanks @RobinVncnt! - Fix mismatched Sync Onboarding header background against the page canvas

  • #20240 15e4608 Thanks @deepyjr! - Forward Modular Asset Drawer network filters to DADA asset requests.

  • #20197 507e450 Thanks @ysitbon! - Drop boot fiat fetch and InitialQueriesContext: supportedCounterValues is now a derived selector backed by the supportedFiats slice. Mobile gains a read-time OFAC guard on counterValueCurrencyLocalSelector; desktop removes its boot-time getSupportedFiats.initiate dispatch. Both apps now lazy-load the CVS query from the two picker screens.

  • #20078 baea85e Thanks @jiyuzhuang! - Fix Generic Awareness Modal cascade on mobile and add Braze content card logging on mobile and desktop

  • #20288 5d139b9 Thanks @Sebastien-Dav1d! - Fix typecheck errors in desktop test files

  • #20222 c6f620c Thanks @deepyjr! - Model contact address labels with asset defaults and per-contact uniqueness

  • #20243 63aa4b6 Thanks @LucasWerey! - Remove legacy translation keys orphaned by the Wallet 4.0 Q1 cleanup (sidebar/topbar rewrite, legacy dashboard & empty states, Help modal, receive step-options and the sync activity indicator).

  • #20317 70c33a8 Thanks @deepyjr! - Render the Desktop Contacts address label step and move shared add-address flow content into the Contacts Flow feature.

  • #19634 4015ade Thanks @thesan! - Connect @ledgerhq/ledger-auth to the Ledger Wallet apps Redux store

  • #20181 34a8455 Thanks @YazhuEth! - Add a QR code scanner to the new send flow recipient field: the QR icon shows while the field is empty and is replaced by the clear button once the user types

  • #20496 aa367b0 Thanks @desirendr! - LWD 4.15.0 release notes

  • #20252 e709463 Thanks @claudiiafg! - Render Desktop Me contact detail by default with Me display-name formatting and external address CTA.

  • #20189 4bbd5a4 Thanks @YazhuEth! - Show the network fee in the currency users care about in the new send flow. When the fee is editable the row follows the amount input's fiat/crypto toggle; when it is not, the row shows the fiat value alongside the native amount, since it is the only place that fee is visible. Fee presets now sub-label both amounts, except coins priced by fee rate (Bitcoin, Kaspa) which keep their sat/vB legend.

  • #20232 d467088 Thanks @dilaouid! - feat(lwdm): a/b testing show recent banner

  • #20267 956d4a1 Thanks @Sebastien-Dav1d! - Add debug WebSocket transport to DevTools relay

  • #20339 6a531c5 Thanks @qperrot! - Remove Scroll Sepolia testnet support as it is no longer maintained

  • #20224 f7e013a Thanks @YazhuEth! - Add an info disclaimer next to the recipient address in the new send flow, reminding users to verify the full address on their Ledger device

  • #20264 725b0dd Thanks @mdomanski-ext-ledger! - chore(aleo): view key warning copy update

  • #20261 ba6e9c1 Thanks @ysitbon! - Import currency accessors from the domain layer instead of the @ledgerhq/live-common/currencies barrel.

    Crypto accessors (getCryptoCurrencyById, findCryptoCurrencyById, findCryptoCurrencyByKeyword, findCryptoCurrencyByTicker, listCryptoCurrencies, findCryptoCurrency, findCryptoCurrencyByScheme, hasCryptoCurrencyId) now come from @domain/entity-currency-crypto, and fiat accessors (getFiatCurrencyByTicker, findFiatCurrencyByTicker, listFiatCurrencies, hasFiatCurrencyTicker) from @domain/entity-currency-fiat. The re-exports that forwarded them through @ledgerhq/live-common/currencies are removed; the barrel keeps its formatting, colour, helper, marketcap, support and URI-scheme exports. Behaviour is unchanged — the barrel already delegated to these same domain functions.

  • #20265 5f81208 Thanks @tonykhaov! - Remove analytics consentValidityDays and the unused live-common consent expiry helpers

  • #20230 36c0e51 Thanks @deepyjr! - Add the Desktop Contacts address entry flow with embedded currency selection.

  • #20321 9783675 Thanks @deepyjr! - Block duplicate Contacts names before creation

  • #20217 9ebc505 Thanks @deepyjr! - Add a reusable dialog flow and an embeddable Modular Dialog presentation.

  • #20350 51bc3da Thanks @mcayuelas-ledger! - Fix hidden assets not appearing in Settings > Accounts. Native coins hidden from the asset detail page are now resolved from the crypto registry and listed alongside hidden tokens, and a single failing token lookup no longer empties the whole list.

Patch Changes

  • Updated dependencies [9fcbe39, 1689e58, facb60a, 674ae62, c016a95, 4d3ae1b, 2fa6e1f, 12794fa, f7997c9, 56cfe0b, e0d421b, 248d24e, 532d6c4, 9051d74, 36a08f1, 15e4608, a464f7d, d35298f, 4e4bf02, 825f50f, f60f9cb, 72930e9, c6f620c, 70c33a8, 871f021, 4015ade, f0e8ea9, 140575c, e709463, b90214c, 4bbd5a4, a93a5ed, d467088, 42524ad, e50980f, 9b07695, 6a531c5, 2958ef7, e7a22a6, ba6e9c1, 5f81208, 94f7c85, e44d972, 53c3431, 9d56877, 635fa12, 36c0e51, 9783675, b5df122, 51bc3da]:
    • @ledgerhq/coin-bitcoin@0.50.0
    • @ledgerhq/coin-canton@0.32.0
    • @ledgerhq/coin-cardano@0.33.0
    • @ledgerhq/coin-casper@2.18.0
    • @ledgerhq/coin-concordium@0.19.0
    • @ledgerhq/coin-cosmos@0.42.0
    • @ledgerhq/coin-evm@4.9.0
    • @ledgerhq/coin-filecoin@1.31.0
    • @ledgerhq/live-common@37.1.0
    • @ledgerhq/coin-zcash@0.2.0
    • @features/flow-contacts@0.5.0
    • @shared/api-services@0.2.0
    • @domain/api-altcoins-sentiment@0.3.0
    • @domain/api-market-sentiment@0.3.0
    • @domain/api-currency-token@0.3.0
    • @domain/api-currency-fiat@0.3.0
    • @domain/api-push-devices@0.2.0
    • @features/platform-currencies@0.5.0
    • @domain/entity-contact@0.5.0
    • @shared/feature-flags@0.17.0
    • @domain/entity-analytics-consent@0.2.0
    • @ledgerhq/types-live@6.118.0
    • @shared/auth@0.3.0
    • @features/flow-analytics-consent@0.2.0
    • @devtools/transport-panel@0.3.0
    • @devtools/shell@0.7.0
    • @devtools/wire@0.3.0
    • @shared/env@0.2.0
    • @ledgerhq/ledger-key-ring-protocol@0.18.0
    • @domain/entity-currency-crypto@0.9.0
    • @ledgerhq/asset-detail@0.10.0
    • @ledgerhq/ledger-wallet-framework@2.7.0
    • @ledgerhq/live-dmk-desktop@0.20.5
    • @devtools/bindings@0.2.3
    • @features/flow-large-screen-upsell@0.4.1
    • @features/platform-feature-flags@0.6.4
    • @ledgerhq/asset-aggregation@0.12.2
    • @ledgerhq/domain-service@1.8.13
    • @ledgerhq/live-countervalues@0.24.1
    • @ledgerhq/live-countervalues-react@0.16.5
    • @ledgerhq/live-wallet@0.30.2
    • @ledgerhq/wallet-analytics@0.3.2
    • @ledgerhq/wallet-pnl@0.7.5
    • @features/platform-env@0.1.2
    • @ledgerhq/live-dmk-speculos@0.10.4
    • @domain/entity-currency@0.3.1
    • @ledgerhq/live-currency-format@0.14.1
    • @ledgerhq/wallet-btc@0.3.0