4.28.0
Minor Changes
-
#24189
711b543Thanks @liviuciulinaru! - Let users pick the network when they swap a multi-network asset from Market or Asset Detail, also when they have no account for it. Show only the networks of the asset itself, so USDC no longer opens an extra asset step. When the drawer keeps only one network, open the account step on that network. -
#24195
1fa3701Thanks @LucasWerey! - Account Detail sends the events of its tracking plan, with the same names and properties on both apps -
#24262
4bd0f62Thanks @ovoronkov-ledger! - chore(lumen): bump ui-rnative to 0.1.72 for rn 0.86 (LIVE-39312)Bump lumen-ui-rnative to 0.1.72, lumen-ui-react to 0.1.69 and lumen-utils-shared to 0.1.19. The new lumen-ui-rnative peer ranges accept react-native 0.86, react-native-worklets 0.10 and expo-haptics 57. Lumen native inputs now expose their label as the TextInput accessibility label and hide the visual label from accessibility, so mobile tests query these inputs with
getByLabelText. -
#24412
39cb975Thanks @cted-ledger! - SampleestimateFeesandvalidateIntentsuccesses incoin_module_callwith a newpreparationSampleRateparam of thecoinObservabilityflag (default 0.1): the bridge calls them on every edit of a transaction, so sending each call made them most of the volume. Their failures are still always sent, andcraftTransaction,craftRawTransaction,craftTransactionData,combineandbroadcaststay unsampled. Eachcoin_module_callnow carries its tier'ssampleRateand aninSampleflag, so dashboards can compute unbiased failure rates and estimate volumes from the sample. -
#23955
03cafafThanks @gre-ledger! - Bump@ledgerhq/zcash-utilsto 2.9.0, which ships each native binary in its own optional package. The desktop app now packages only the binaries it runs on (darwin arm64/x64, win32 x64, linux x64) instead of all six. -
#24339
eac050dThanks @LucasWerey! - Account Detail shows the Cardano delegation and balances with the shared Lumen components -
#24215
7185de6Thanks @gre-ledger! - Value each operation in the fiat a query asks for, at its date, with thecountervaluequery -
#24235
0ebe8eaThanks @claudiiafg! - Hide the account detail empty state when a receive updates the balance before operations -
#24348
cc73a3fThanks @claudiiafg! - Widen the account delegations validator column so the validator name is shown in full -
#24354
2c728a2Thanks @claudiiafg! - Shrink the account asset picker dialog to its content when few assets are listed -
#24325
be81b1cThanks @deepyjr! - Add an account-detail DevTools tool to reset the Account Detail card that redirects to Analytics -
#24556
e6c438dThanks @deepyjr! - Add the native Account Analytics surface (filter chips opening a bottom sheet, status and Retry) and export AccountAnalytics from the package root for both apps. -
#24554
e7a4d5aThanks @deepyjr! - Share the Analytics balance, renderer status and PnL scope rules between the apps through the Account Analytics package. -
#24553
ba1b7c4Thanks @deepyjr! - Share the Analytics catalog rules (eligible positions, asset grouping, catalog state) between the apps through the Account Analytics package. -
#24572
a85db5dThanks @claudiiafg! - Asset detail "See all" transactions no longer lists the operations of the tokens held by the same account -
#24127
1c99745Thanks @VicAlbr! - Add a test id to the network fees fiat value on the custom fees screen -
#24443
c842892Thanks @LucasWerey! - Sendnetworkinstead ofcurrencyand dropisTokenAccounton the account detail page events -
#24468
f720cc5Thanks @deepyjr! - Stop the Analytics chart from flickering when the asset, account or range changes: keep the previous curve on screen until the new one is ready instead of blanking it. -
#24463
6ef8d46Thanks @deepyjr! - Show the Analytics balance and chart when a held asset has no price, leaving that asset out of the total as the Portfolio does. Analytics still reports unavailable data when no held asset of the selection has a price. -
#24226
d701bc7Thanks @qperrot! - fix(coin-bitcoin): do not spend the inputs of pending operationsprepareTransactionandestimateMaxSpendableexclude the UTXOs spent by the account's own
pending operations. When the explorer does not report mempool spends, a sync listed them as
spendable again and the next send was rejected withtxn-mempool-conflict. An RBF edit keeps
the inputs of the operation it replaces.addPendingOperationkeeps every pending UTXO operation (those withextra.inputs) instead of
only the latest one, and removes one only when the new operation spends one of its inputs (an RBF
replacement). Operations of other coins are unchanged.isOldestBitcoinPendingOperationtakes the operation instead of its date: a pending operation
can be sped up unless it spends an output of another unconfirmed operation of the account. Pending
sends of unrelated UTXOs no longer block each other's speed-up. -
#24520
f781149Thanks @ysitbon! - BrandAggregatedAssetIdandMarketId, and replace both copies ofdadaIdToMarketIdwith the typedtoMarketIdandparseMarketRefbridge in@domain/api-aggregated-assets -
#24541
120e07bThanks @LucHebrard! - Send in-progress Ledger Recover users from the Backup Hub to the Recover upsell page -
#24318
fb3956bThanks @vpenskyi-ledger! - Sign the Perps SwapKit withdrawal on the Ethereum app and submit it on desktop and mobile -
#24350
d36ed0aThanks @OlivierFreyssinet! - Remove the supportDeviceApex feature flag: Apex is always listed in onboarding device selection and BLE pairing -
#24255
81f924eThanks @deepyjr! - Integrate scoped Analytics filters, current balance and all-time PnL into desktop. -
#24500
6da9b38Thanks @gre-ledger! - Bump ts-libs packages (@ledgerhq/auth0.2.0,@ledgerhq/devices8.19.0,@ledgerhq/domain-service1.10.0,@ledgerhq/evm-tools2.1.0,@ledgerhq/hw-ledger-key-ring-protocol1.1.0,@ledgerhq/hw-transport6.37.0,@ledgerhq/hw-transport-mocker6.36.0,@ledgerhq/ledger-key-ring-protocol1.2.0,@ledgerhq/live-config3.10.0,@ledgerhq/live-currency-format0.17.0,@ledgerhq/live-env4.2.0,@ledgerhq/live-network3.3.0,@ledgerhq/live-promise0.5.0,@ledgerhq/logs6.20.0,@ledgerhq/psbtv20.7.0). -
#24292
c6d8c4fThanks @deepyjr! - Add the desktop Analytics catalog and scoped balance readers. -
#24245
c533e40Thanks @vpenskyi-ledger! - Add the Perps withdraw summary screen with an auto-refreshing SwapKit quote on desktop and mobile -
#24472
55a43bcThanks @claudiiafg! - Show the 1D market variation for an unchanged account balance -
#24326
e6cf079Thanks @mcayuelas-ledger! - Show the full all-time high and all-time low dates on the desktop asset page. -
#24437
716dba7Thanks @mcayuelas-ledger! - Drop the legacy currency distribution and always build the asset distribution -
#24293
94961d4Thanks @deepyjr! - Add the shared Analytics web surface with asset/account filters and injected chart and PnL renderers. -
#24415
4db45b9Thanks @LucasWerey! - Add the coin-config DevTool on desktop and mobile to override LiveConfig values. The overrides slice moves to the new @shared/live-config-overrides package, and mobile now keeps the overrides across restarts -
#24217
298bf8dThanks @ysitbon! -ContactDetailActionsMenumoves to the native platform entry@features/flow-contacts-detail/nativeand reads its bottom inset from the sheet context;ContactDetailActionsbecomes internal. The universal entry is one unconditionedsrc/index.ts,ContactAddressDetailDialogandContactsEditSignerMismatchDialogeach have one props contract,ContactDetailViewtakesonOpenLedgerWalletAccountsandonOpenAddressDetail, and the web address detail dialog shows a Share tile whenonShareAddressis set. -
#24370
cea0076Thanks @ysitbon! - AddCryptoOrTokenCurrencyIdSchemaandCryptoOrTokenCurrencyIdto@domain/entity-currency, replacing the duplicatedBalanceAssetIdSchema,ContactCurrencyIdSchemaand the send flow's local union. Runtime parsing is unchanged. -
#24591
9b95c30Thanks @gre-ledger! - Run the desktop rspack tooling with Node's native TypeScript support instead of ts-node -
#24515
8baa24bThanks @gre-ledger! - Type SelectCurrency options for TypeScript 7.1 -
#24575
235a1aeThanks @OlivierFreyssinet! - MakeonExecutorStateChangedandcancelIntentRequestIdoptional on the device intent executor -
#24303
e8ca231Thanks @ysitbon! - Split device onboarding by job:@features/platform-device-onboardingruns the actor withuseDeviceOnboardingActor, and@devtools/bindingsbuilds the devtool's log, context and next states withuseDeviceOnboardingToolStateanduseDeviceOnboardingToolProps. The mobile funnel no longer imports@devtools/*, and the desktop device onboarding code moves under DevTools -
#24271
ef95b2eThanks @mcayuelas-ledger! - Drop the CoinGecko market client and keep the USD chart fallback -
#24683
d5eefc2Thanks @ben778899! - Fake update to trigger the update test cases. -
#24297
6464950Thanks @ysitbon! -@features/flow-contactsexposesContactsViewandContactsButtonfrom a single.entry with sharedContactsViewPropsandContactsButtonPropscontracts. List logic and platform contact hooks are imported from@features/flow-contacts-listand@features/platform-contacts. Desktop and mobile hosts mount feature and Ledger Sync introduction UI outsideContactsView. -
#24487
c0c5bffThanks @amaslakov! - Enable the Tron votes panel earn rewards and desktop vote now actions, routed like the account Earn action -
#23539
310127fThanks @ishaba! - Show the energy provider's terms on the Tronify rent signature step, which the user accepts by signing, and align the rent, polling and transfer step copy with the validated wording -
#23466
ad006b9Thanks @ishaba! - Resolve TRON TRC10 tokens by their CAL token_identifier -
#24594
b67184aThanks @claudiiafg! - Align desktop 1D asset and account variation with the market banner -
#24406
3a0d8aaThanks @mcayuelas-ledger! - Always show aggregated assets and drop the lwmWallet40 aggregatedAssets param -
#24295
3571671Thanks @ysitbon! -@features/flow-pay-contactexportsPaySuccessand the address picker from., with./weband./nativeplatform entries forContacts.PaySuccessshares one props contract; suffix imports are removed from the package. -
#24449
1ca6846Thanks @YazhuEth! - Addcustom.predictions.bindAccountandcustom.predictions.reportSetup: Ledger Wallet asks the user to confirm on their device that they own the account picked in Predictions, then shows the trading wallet setup the live app reports.AnimatedHeightnow counts SVG children, like a loading spinner, so the dialog no longer clips its bottom -
#24149
1c210e4Thanks @YazhuEth! - Add a Predictions card to the portfolio services entry points and a Predictions screen that opens the live app, behind theptxPredictionsLiveAppDesktopandptxPredictionsLiveAppMobileflags -
#24475
a2354b8Thanks @OlivierFreyssinet! - Show the Device Intent Executor dialog on the Lumen sheet background -
#24240
ae675f9Thanks @claudiiafg! - Cover the remaining Account Detail integration scenarios on desktop and mobile -
#23551
4a22a1dThanks @YazhuEth! - Add the Predictions onboarding sheet behind the custom.predictions.onboard and custom.predictions.close Wallet API methods -
#24110
7324065Thanks @qperrot! - Remove Fantom, whose network migrated to Sonic -
#24205
7647d9bThanks @henri-ly! - Block sends of known non-transferable ERC-20 tokens with a TokenNonTransferable amount error -
#24371
32be7d2Thanks @ysitbon! - Lock the universal-components waiver list empty, remove waiver helpers from enforce-package-structure, and record the rollout as complete in the ADR. -
#24134
b582a36Thanks @renovate-operator-ledger! - chore(deps): update dependency @ledgerhq/crypto-icons to v2.0.7- Updated
@ledgerhq/crypto-iconsto2.0.7
- Updated
-
#24290
94df3d0Thanks @renovate-operator-ledger! - [LWDM] chore(deps): update dependency oxfmt to v0.75.0- Updated
oxfmtto0.75.0
- Updated
-
#24291
4fc4674Thanks @renovate-operator-ledger! - chore(deps): update dependency oxlint to v1.90.0- Updated
oxlintto1.90.0
- Updated
-
#24392
934970aThanks @renovate-operator-ledger! - chore(deps): update dependency @reduxjs/toolkit to v2.13.0- Updated
@reduxjs/toolkitto2.13.0
- Updated
-
#24400
836c45bThanks @renovate-operator-ledger! - fix(deps): update dependency dotenv to v16.4.7- Updated
dotenvto16.4.7
- Updated
-
#24429
0a430b8Thanks @renovate-operator-ledger! - chore(deps): update dependency cross-env to v10- Updated
cross-envto10.1.0
- Updated
-
#24545
dfbc33bThanks @renovate-operator-ledger! - chore(deps): update dependency @electron/notarize to v3.1.2- Updated
@electron/notarizeto3.1.2
- Updated
-
#24157
d528ea0Thanks @claudiiafg! - Share the account asset picker across desktop and mobile -
#24050
6a70efcThanks @OlivierFreyssinet! - Share the device mock server session client and URL helpers in @features/platform-device-mock-server and the legacy transport in live-dmk-shared, and use them in Ledger Wallet Desktop -
#24196
77e21f9Thanks @deepyjr! - Add the Account Detail Analytics introduction in a dedicated layout slot above the custom place, with dismissal persisted across desktop restarts and account entry context. -
#24568
e7b21f8Thanks @qperrot! - Remove Stargaze from Ledger Wallet -
#24431
41c9607Thanks @lysyi3m! - Count staked SUI in the account balance; spend and stake checks use the spendable balance only. Stake operations move the balance by their gas only, and an unstake also by its reward, so the balance history stays consistent. -
#24522
e67063fThanks @gre-ledger! - Import bignumber.js through its default export, the form bignumber.js 11 types support -
#24462
73bd4eeThanks @deepyjr! - Track the Analytics filters, the Analytics banner click and its visibility on the account page. -
#24561
6d015f0Thanks @mateuszpalosz-ext! - Add the XRP add token flow, trust limit edit and rippling state display on desktop, behindenabledTokenStandards
Patch Changes
- Updated dependencies [
0d2aead,711b543,39cb975,03cafaf,7185de6,522d62b,0ebe8ea,cd66cae,cc73a3f,2c728a2,be81b1c,e6c438d,e7a4d5a,ba1b7c4,64c16b8,cc4eced,59280f5,c842892,b77803f,a95a6bc,d701bc7,93aef61,ac116ba,f781149,fb3956b,842a9a5,d02425e,d36ed0a,81f924e,3835bab,6da9b38,c6d8c4f,b282f26,c533e40,72da4b1,55a43bc,420409b,716dba7,94961d4,498cbdd,4db45b9,6ab5a87,ed8d437,360d6c9,298bf8d,085d781,cea0076,31f7eba,235a1ae,e8ca231,ef95b2e,e051c84,6464950,5bc9bb1,0b3f0f2,310127f,ad006b9,9621949,06c81d3,62bdc34,b67184a,3a0d8aa,96fac1e,0d83181,e186896,a6c95e2,6196234,2cee99e,8777c73,49ae0f6,52622fa,7282cc0,8dae360,cc6d736,3571671,1ca6846,1c210e4,4a22a1d,7e4dccf,e0ac369,7324065,7647d9b,80b6233,b582a36,934970a,d528ea0,6a70efc,77e21f9,d4bccad,e7b21f8,0d2268d,aec9525,e67063f,73bd4ee,5eec368,f53d517,9a3e7bf,d3f59ae]:- @ledgerhq/live-common@38.7.0
- @features/platform-aggregated-assets@0.7.0
- @shared/feature-flags@0.30.0
- @ledgerhq/coin-zcash@1.2.0
- @domain/entity-account-operation@0.2.0
- @domain/api-market-countervalues@0.3.0
- @devtools/bindings@0.15.0
- @features/platform-account-source-coin-module@0.2.0
- @features/flow-account-detail-hero@0.4.0
- @features/flow-account-detail-delegations@0.3.0
- @features/flow-account-detail-analytics-notice@0.3.0
- @features/flow-account-analytics@0.2.0
- @features/flow-account-detail@0.4.0
- @ledgerhq/types-live@6.131.0
- @domain/entity-currency-crypto@0.19.0
- @ledgerhq/coin-bitcoin@1.2.0
- @ledgerhq/ledger-wallet-framework@3.11.0
- @domain/entity-currency-fiat@0.6.0
- @domain/entity-aggregated-asset@0.4.0
- @domain/api-aggregated-assets@0.7.0
- @ledgerhq/asset-detail@0.13.0
- @domain/api-account-data@0.5.0
- @devtools/shell@0.14.0
- @ledgerhq/wallet-btc@1.2.0
- @ledgerhq/live-wallet@1.2.0
- @ledgerhq/live-dmk-shared@0.39.0
- @features/platform-device-onboarding@0.5.0
- @ledgerhq/coin-cardano@3.0.0
- @shared/env@0.13.0
- @features/platform-feature-flags@0.12.0
- @shared/live-config-overrides@0.2.0
- @ledgerhq/coin-canton@1.7.0
- @ledgerhq/coin-casper@3.8.0
- @ledgerhq/coin-concordium@1.8.0
- @ledgerhq/coin-filecoin@2.7.0
- @ledgerhq/coin-stacks@0.36.0
- @domain/entity-contact@0.13.0
- @features/flow-contacts-detail@0.4.0
- @domain/entity-currency@0.5.0
- @domain/entity-account-balance@0.3.0
- @domain/entity-account-balance-history@0.2.0
- @features/platform-device-intent@5.4.0
- @features/flow-contacts@0.18.0
- @domain/api-currency-token@0.8.0
- @features/platform-assets-table@0.3.0
- @features/flow-portfolio-services-entry-points@0.3.0
- @features/platform-device-mock-server@0.1.0
- @shared/ui-info-state@0.7.0
- @features/flow-pay-card-assets@0.7.0
- @features/flow-pay-card-details@0.11.0
- @features/flow-pay-card@0.9.0
- @features/flow-pay-contact@0.9.0
- @features/flow-predictions@0.2.0
- @features/platform-predictions@0.4.0
- @shared/ui-animated-height@0.3.0
- @domain/entity-predictions@0.3.0
- @features/flow-pay-balance@0.10.0
- @features/flow-pay-request@0.10.0
- @domain/api-card-management@0.9.0
- @domain/api-currency-fiat@0.6.0
- @domain/api-market-index-altcoin-season@0.5.0
- @domain/api-market-index-fear-and-greed@0.5.0
- @domain/api-push-devices@0.3.0
- @domain/entity-account@0.3.0
- @domain/entity-account-alias@0.2.0
- @domain/entity-account-data@0.5.0
- @domain/entity-account-name@0.4.0
- @domain/entity-client-identity@0.5.0
- @domain/entity-market-countervalues@0.5.0
- @domain/entity-recent-addresses@0.3.0
- @domain/entity-starred-account@0.1.0
- @domain/entity-wallet-sync@0.2.0
- @features/flow-large-screen-upsell@2.4.0
- @features/flow-pay-card-auth@0.12.0
- @features/flow-pay-card-widget@0.7.0
- @features/flow-pay-feature-tour@0.9.0
- @features/platform-card@0.9.0
- @features/platform-currencies@0.13.0
- @features/platform-market-countervalues@0.5.0
- @shared/api-services@0.13.0
- @shared/app-config@0.3.0
- @shared/auth@0.9.0
- @ledgerhq/live-dmk-desktop@0.27.0
- @ledgerhq/live-send@0.2.0
- @ledgerhq/wallet-pnl@0.9.0
- @ledgerhq/asset-aggregation@0.19.0
- @features/flow-contacts-add-address@0.9.1
- @features/platform-contacts@0.12.2
- @features/platform-feature-flags-firebase@0.1.4
- @ledgerhq/live-signer-evm@0.24.5
- @ledgerhq/transaction-observability@0.6.2
- @ledgerhq/wallet-analytics@0.5.5
- @domain/entity-currency-token@0.5.9
- @features/flow-account-detail-notices@0.3.0
- @features/flow-account-detail-settings@0.3.1
- @features/platform-account-analytics@0.2.0
- @ledgerhq/live-signer-tron@0.2.5
- @features/platform-env@0.4.5
- @features/flow-analytics-consent@0.2.13
- @features/flow-contacts-add-contact@0.10.1
- @features/flow-contacts-delete-address@0.4.1
- @features/flow-contacts-delete-contact@0.5.1
- @features/flow-contacts-edit-address@0.7.1
- @features/flow-contacts-edit-contact@0.9.1
- @features/flow-contacts-list@0.12.1
- @features/platform-intent-verify-address@0.3.2
- @features/flow-pay-card-transactions@0.7.2
- @features/flow-fear-and-greed@0.5.2
- @features/flow-app-availability@0.3.2
- @features/platform-content-ab-tests@0.2.4