Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
492 commits
Select commit Hold shift + click to select a range
7fcf623
chore(device-sdk): bump device sdk packages
OlivierFreyssinet Jun 18, 2026
824c6db
docs(git-workflow): ban --no-verify when committing or pushing
gre-ledger Jun 18, 2026
179837c
Merge pull request #18621 from LedgerHQ/support/live-29337-w40-asset-…
mcayuelas-ledger Jun 18, 2026
64cb6e7
feat(desktop): truncate asset names in analytics allocation table
mcayuelas-ledger Jun 18, 2026
bbb60f6
Merge pull request #18700 from LedgerHQ/docs/git-workflow-ban-no-verify
gre-ledger Jun 18, 2026
1797202
Merge pull request #18614 from LedgerHQ/feat/live-32226-borrow-error-…
Valentin-Ledger Jun 18, 2026
96ab092
Merge pull request #18706 from LedgerHQ/fix/stellar-listop
estrauser-ledger Jun 18, 2026
033c501
fix(desktop): recover webview layout and header clicks on macOS
vcluzeau-ledger Jun 18, 2026
e32e372
fix(wallet-pnl): correct average entry price for cross-network asset …
LucasWerey Jun 18, 2026
5a8fc01
fix(mobile): correct button_clicked event for average price definition
LucasWerey Jun 18, 2026
c0c7ec8
feat: add public token transfer intents to craftTransaction
vtaranushenko-ext-ledger Jun 18, 2026
ff3bed3
Merge pull request #18707 from LedgerHQ/support/analytics-allocation-…
mcayuelas-ledger Jun 18, 2026
64d11d7
fix: import react
vcluzeau-ledger Jun 18, 2026
d3791b2
fix(desktop): align recover route detection with Default.tsx
vcluzeau-ledger Jun 18, 2026
be80c6f
Merge pull request #18650 from LedgerHQ/support/qaa_improve_run_links
abdurrahman-ledger Jun 18, 2026
1cbff54
Merge pull request #18716 from LedgerHQ/bugfix/live-32822-market-stat…
LucasWerey Jun 18, 2026
f0cbd72
fix(mobile): show Stocks title on stocks list screen
LucasWerey Jun 18, 2026
7a63f43
feat: coin tester stellar
qperrot Jun 11, 2026
b20acdf
Merge pull request #18656 from LedgerHQ/chore/tests-new-send-flow
qperrot Jun 18, 2026
25101e2
feat(stocks): implement fallback for stock trend display in portfolio
deepyjr Jun 17, 2026
e1641f6
feat(desktop): revamp no coins found state in Market List
mcayuelas-ledger Jun 18, 2026
5712729
fix(aptos): set max spendable amount with looser fee calculations
semeano Jun 18, 2026
69170e6
fix(desktop): hide legacy account star when Wallet 4.0 asset discove…
mcayuelas-ledger Jun 18, 2026
82f570e
test(lld): update screenshots (ubuntu-22.04) lld, test, screenshot
github-actions[bot] Jun 18, 2026
eded409
Merge pull request #18660 from LedgerHQ/feat/LIVE-31490_llm_homescree…
mitchellv-ledger Jun 18, 2026
9924b08
Merge pull request #18727 from LedgerHQ/feat/lwd-market-no-coins-state
mcayuelas-ledger Jun 18, 2026
553efbb
fix: pass detailed market state for asset navigation
claudiiafg Jun 18, 2026
a94adfc
Merge pull request #18627 from LedgerHQ/support/bump-device-sdk-deps
OlivierFreyssinet Jun 18, 2026
020de9e
fix: lwm q2 tour tracking
RobinVncnt Jun 18, 2026
d3e2cda
Merge pull request #18724 from LedgerHQ/bugfix/live-32827-stocks-scre…
LucasWerey Jun 18, 2026
5159e31
refactor: reduce cognitive complexity
semeano Jun 18, 2026
fc2d6f1
feat: add syncHash to re-sync on CAL or blacklist changes
vtaranushenko-ext-ledger Jun 18, 2026
aa1f5c0
Merge pull request #18718 from LedgerHQ/fix/LIVE-32823_empty-state
claudiiafg Jun 18, 2026
3466d5b
feat(lwm): add confirmation step to new send flow
YazhuEth Jun 16, 2026
6c8d252
Merge pull request #18463 from LedgerHQ/feat/coin-tester-stellar
qperrot Jun 18, 2026
27840c4
test(mobile): speed up NotificationsPromptStakeFlow suite by trimming…
tonykhaov Jun 17, 2026
ed8bcab
Merge pull request #18684 from LedgerHQ/bugfix/LIVE-32762-market-ledg…
mcayuelas-ledger Jun 18, 2026
97e2f47
Merge pull request #18612 from LedgerHQ/fix/LIVE-31780_cluster
claudiiafg Jun 18, 2026
ebe5c00
Merge pull request #18714 from LedgerHQ/bugfix/lwd-recover-header-layout
mcayuelas-ledger Jun 18, 2026
b000474
feat(web-tools): revamp logsviewer UI, account sync & virtualized logs
gre-ledger Jun 16, 2026
0472a2f
Merge pull request #18654 from LedgerHQ/fix/variation-stocks
deepyjr Jun 18, 2026
f7f8e76
fix(mobile): correct Market filters drawer left/right spacing
LucasWerey Jun 18, 2026
2e102a5
Merge pull request #18711 from LedgerHQ/bugfix/live-32525-pnl-mixed-m…
LucasWerey Jun 18, 2026
913f4a8
fix: rbf requires an additional sats fee and show it in the front
qperrot Jun 18, 2026
e963396
fix: rename crypto category label from "Cryptos" to "Crypto"
claudiiafg Jun 18, 2026
e193ab9
Merge pull request #18653 from LedgerHQ/feat/confirmation-screen-new-…
YazhuEth Jun 18, 2026
180e6c1
Merge pull request #18717 from LedgerHQ/bugfix/lwd-hide-legacy-star-w…
mcayuelas-ledger Jun 18, 2026
ff0e28e
Merge pull request #18623 from LedgerHQ/feat/web-tools-logsviewer-revamp
gre-ledger Jun 18, 2026
de31c84
Merge pull request #18639 from LedgerHQ/feat/LIVE-31711
tonykhaov Jun 18, 2026
93d8ebf
Merge pull request #18742 from LedgerHQ/bugfix/live-32831-market-filt…
LucasWerey Jun 18, 2026
d956bd0
Merge pull request #18705 from LedgerHQ/feat/lwm-q2-product-tour-drawer
RobinVncnt Jun 18, 2026
f34aed7
Merge pull request #18743 from LedgerHQ/fix/LIVE-32825_typo_search
claudiiafg Jun 18, 2026
d3c58d0
Merge pull request #18675 from LedgerHQ/bugfix/mobile-http-proxy-lega…
OlivierFreyssinet Jun 18, 2026
95ef77e
fix(desktop): fix wallet tour button colour
jiyuzhuang Jun 18, 2026
a58f907
feat(wallet-cli): add apdu-proxy script (drop-in for run:cli proxy, n…
gre-ledger Jun 18, 2026
4a6056c
feat: lwm backup hub tracking, red dot and copy update
RobinVncnt Jun 18, 2026
dc8833d
fix(desktop): fix issues found during QA
jiyuzhuang Jun 18, 2026
9c07ff0
chore(llc): force `msg.value: 0` when swapping from Arc on Dex
francois-guerin-ledger Jun 18, 2026
809773c
Merge pull request #18701 from LedgerHQ/fix/LIVE-32640-bis
tonykhaov Jun 18, 2026
b37ed4e
Merge pull request #18720 from LedgerHQ/fix/aptos-send-max-calc
semeano Jun 19, 2026
76d93b2
Merge pull request #18693 from LedgerHQ/feat/aleo-private-tokens-sync
mateuszpalosz-ext Jun 19, 2026
6ab07a5
fix: reuse existing syncHash if tokens are disabled
mdomanski-ext-ledger Jun 19, 2026
44a3254
fix(mobile): pluralize global search stocks label
deepyjr Jun 19, 2026
2ecd4a3
Merge pull request #18741 from LedgerHQ/fix/rbf-continue-button
qperrot Jun 19, 2026
fe467b4
Merge pull request #18758 from LedgerHQ/feat/live-32824-global-search…
deepyjr Jun 19, 2026
36200f9
fix(assets): display zero trend for zero-balance assets
deepyjr Jun 19, 2026
0d7cf69
feat: add cardano coin-tester module
ishaba Jun 6, 2026
2c2d041
fix: resolve code smells
ishaba Jun 11, 2026
758f9f1
Merge pull request #18689 from LedgerHQ/LIVE-32770-cardano-get-epoch-…
ishaba Jun 19, 2026
8838112
refactor: convert performPrivateSync params to a single options object
vtaranushenko-ext-ledger Jun 19, 2026
267fb3f
feat(desktop): animate global search placeholder title
LucasWerey Jun 19, 2026
8e3723b
fix: tezos - add origination
estrauser-ledger Jun 18, 2026
1830492
fix(desktop): clarify trend color selection
deepyjr Jun 19, 2026
1218ba6
Merge pull request #18715 from LedgerHQ/feat/aleo-craft-transaction-p…
vtaranushenko-ext-ledger Jun 19, 2026
8509e99
Merge pull request #18661 from LedgerHQ/feat/aleo-optimistic-token-tr…
vtaranushenko-ext-ledger Jun 19, 2026
9f3374a
refactor(desktop): address code smells in animated search placeholder
LucasWerey Jun 19, 2026
e404222
fix: align encodeAccountId import path and tighten boolean check
vtaranushenko-ext-ledger Jun 19, 2026
1bc567c
fix(mobile): preserve native header through earn simulator → deposit …
beths-ledger Jun 18, 2026
c4a17ca
refactor(mobile): address pre-review for earn intent-flow header sync
beths-ledger Jun 18, 2026
6af3af1
style: apply oxfmt formatting to files that landed unformatted
gre-ledger Jun 19, 2026
ae9e872
refactor(desktop): prefer globalThis over window for matchMedia
LucasWerey Jun 19, 2026
f09310c
Merge pull request #18723 from LedgerHQ/feat/aleo-cal-sync-hash
vtaranushenko-ext-ledger Jun 19, 2026
4d0af54
Merge pull request #18765 from LedgerHQ/chore/apply-oxfmt-formatting-2
gre-ledger Jun 19, 2026
da5c9fa
fix: resolved issue with missing fee record and recipient value
mateuszpalosz-ext Jun 19, 2026
a5d4880
test: fix display of speculos firmware in allure
abdurrahman-ledger Jun 12, 2026
827772b
fix(tezos): hide unstake amount banner when keyboard is open
amaslakov Jun 19, 2026
cd6200b
fix: standardize market favourite analytics tracking
claudiiafg Jun 19, 2026
51e6a34
Merge pull request #18744 from LedgerHQ/fix/earn-simulator-deposit-he…
andreishtamburg Jun 19, 2026
9aa69db
fix: reset sort and pagination when switching Market category tabs
claudiiafg Jun 18, 2026
17fc17f
feat: moved fee record filter to enrichPrivateRecord
mateuszpalosz-ext Jun 19, 2026
9a5d4d5
chore(mobile): add DIE drawer close tracking changeset
OlivierFreyssinet Jun 19, 2026
533f112
Merge pull request #18527 from LedgerHQ/support/qaa_fix_allure_specul…
abdurrahman-ledger Jun 19, 2026
6202c1e
feat(desktop): make asset detail add-account network-aware
mcayuelas-ledger Jun 19, 2026
b56cfb6
Merge pull request #18757 from LedgerHQ/feat/zero-balance-asset-trend
deepyjr Jun 19, 2026
ed4cba6
Merge pull request #18769 from LedgerHQ/fix--aleo-private-sync-change…
mateuszpalosz-ext Jun 19, 2026
33d1dda
refactor(mobile): simplify recover label logic in quick actions row
RobinVncnt Jun 19, 2026
b71c910
feat(LIVE-30696): more explicit help for tokens
lpaquet-ledger Jun 19, 2026
ebda9d8
refactor(devices): reduce scope to the devices list only
gre-ledger Jun 19, 2026
48dbd53
docs(errors): deprecate @ledgerhq/errors and document the modern pattern
gre-ledger Jun 19, 2026
f08bb19
Merge pull request #18763 from LedgerHQ/feat/asset-detail-network-add…
mcayuelas-ledger Jun 19, 2026
2090b78
Merge pull request #18750 from LedgerHQ/feat/lwm-backup-hub-tracking
RobinVncnt Jun 19, 2026
cf413a0
Merge pull request #18768 from LedgerHQ/fix/LIVE-32826_favorite
claudiiafg Jun 19, 2026
7790ba2
Merge pull request #18762 from LedgerHQ/feat/live-29943-lwd-animated-…
LucasWerey Jun 19, 2026
8a215af
Merge pull request #18731 from LedgerHQ/fix/LIVE-32832_filter
claudiiafg Jun 19, 2026
b7a676d
fix: lwm top wallet cards spacing, lwd bottom cards radius
RobinVncnt Jun 19, 2026
7817aff
fix(lld): preserve userId during identities migration for returning u…
gre-ledger Jun 19, 2026
2ffc0e8
fix(market): support desktop countervalue fallbacks
deepyjr Jun 19, 2026
a56a21a
chore(web-tools): remove unused /repl playground
gre-ledger Jun 19, 2026
01cf3a8
feat(mobile,desktop): disable Mood index in the UK
LucasWerey Jun 19, 2026
e7d8242
fix: simplify
estrauser-ledger Jun 19, 2026
6c2c713
Merge pull request #18771 from LedgerHQ/support/die-lwm-drawer-close-…
OlivierFreyssinet Jun 19, 2026
ad68778
feat: remove llmAnalyticsOptInPrompt feature flag
mitchellv-ledger Jun 17, 2026
6ff5737
Merge pull request #18752 from LedgerHQ/chore/LIVE-32179-force-zero-a…
francois-guerin-ledger Jun 19, 2026
5f41ea1
fix: broader tests for later
estrauser-ledger Jun 19, 2026
a5aed02
Merge pull request #18775 from LedgerHQ/refactor/LIVE-32914-reduce-de…
gre-ledger Jun 19, 2026
64810e5
Merge pull request #18767 from LedgerHQ/feat/live-30083-disable-mood-…
LucasWerey Jun 19, 2026
4672016
Merge pull request #18681 from LedgerHQ/feat/LIVE-31483_llmAnalyticsO…
mitchellv-ledger Jun 19, 2026
b383bd5
fix(countervalues): filter unsupported tracking pairs
deepyjr Jun 19, 2026
1888882
feat(lwdm): remove isevmtransaction from new send flow
dilaouid Jun 18, 2026
75d4e56
docs(platform): update README files in line with latest conventions
LL782 Jun 17, 2026
e097d55
fix(lld): recover legacy datadogId even when persisted userId is usable
gre-ledger Jun 19, 2026
284bf1b
[LWDM] feat(lwdm): generic allowZeroAmountEstimation
dilaouid Jun 19, 2026
ee9994e
feat(web-tools): use DMK WebHID transport in trustchain, drop legacy …
gre-ledger Jun 19, 2026
c3e7ad5
docs(platform): refine AGENTS.md and validate before finishing to pre…
LL782 Jun 19, 2026
b8a0765
feat(cryptoassets): make currency registry injectable (LIVE-32899)
ysitbon Jun 19, 2026
abad76d
test: fix legacy open portfolio with w40
abdurrahman-ledger Jun 19, 2026
16d550f
Merge pull request #17996 from LedgerHQ/codex/live-28131-readme-platform
LL782 Jun 19, 2026
d0bdc38
Merge pull request #18772 from LedgerHQ/docs/errors-lib-deprecation-a…
gre-ledger Jun 19, 2026
b5d0f7f
docs(platform): refine repo-commands docs
LL782 Jun 19, 2026
1a76c5a
refactor(cryptoassets): address PR review on injectable registry
ysitbon Jun 19, 2026
a26cbad
Merge pull request #18777 from LedgerHQ/chore/LIVE-32932-remove-web-t…
gre-ledger Jun 19, 2026
8597575
Merge pull request #18785 from LedgerHQ/docs/live-28131/repo-commands…
LL782 Jun 19, 2026
e620b15
feat(market-banner): plug the Trending filter into the countervalues …
LucasWerey Jun 19, 2026
e88efc3
chore(common): register useTrendingPerformers as an unimported entry …
LucasWerey Jun 19, 2026
2d8940a
refactor(common): use the production countervalues base for trending
LucasWerey Jun 19, 2026
f389a9c
refactor(common): simplify trending markets pageSize to a constant 50
LucasWerey Jun 19, 2026
7f89807
Merge pull request #18781 from LedgerHQ/feat/LIVE-32933-web-tools-dmk…
gre-ledger Jun 21, 2026
557b670
test: fix select countervalue test
abdurrahman-ledger Jun 21, 2026
4d37f71
test: fix portfolio check test
abdurrahman-ledger Jun 21, 2026
87d1328
test: init flags at app launch to enable W40 directly
abdurrahman-ledger Jun 21, 2026
4e8b3ff
chore: remove unused cardano generic-coin-framework files
ishaba Jun 22, 2026
c20b9e8
chore(coin-modules): restrict `@ledgerhq/*` imports
francois-guerin-ledger Jun 22, 2026
cbc874e
feat(llc): effects contracts architecture for new send flow
dilaouid Jun 15, 2026
663e374
fix(common): paginate unfiltered market gainers/losers
mcayuelas-ledger Jun 22, 2026
14357de
fix(coin-sui): pay gas from coin objects to avoid SIP-58 address-bala…
ishaba Jun 22, 2026
4d674e7
Merge pull request #18798 from LedgerHQ/chore/restrict-ledgerhq-imports
francois-guerin-ledger Jun 22, 2026
2be80a9
Merge pull request #18770 from LedgerHQ/fix/desktop-userid-migration
gre-ledger Jun 22, 2026
13880a0
Merge pull request #18805 from LedgerHQ/bugfix/LIVE-32955-market-gain…
mcayuelas-ledger Jun 22, 2026
500a07b
[LWDM] feat(llc): effects contracts architecture for new send flow
dilaouid Jun 22, 2026
d8b5be1
Merge pull request #18678 from LedgerHQ/LIVE-32546-tezos-lwm-scope-of…
amaslakov Jun 22, 2026
090486b
refactor(cryptoassets): narrow currency store injection to a currency…
ysitbon Jun 22, 2026
4cf3f7c
Merge pull request #18784 from LedgerHQ/support/qaa_cleanup_w40_portf…
abdurrahman-ledger Jun 22, 2026
c4d5fa8
Merge pull request #18625 from LedgerHQ/feat/zcash-shielded-transfer-…
semeano Jun 22, 2026
186a5a6
Merge pull request #18788 from LedgerHQ/feat/live-29886-market-banner…
LucasWerey Jun 22, 2026
4ff3165
Merge branch 'develop' into bugfix/live-32591-common-desktop-counterv…
deepyjr Jun 22, 2026
54e1b53
Merge pull request #18191 from LedgerHQ/LIVE-30175-cardano-coin-modul…
ishaba Jun 22, 2026
7a1f1f5
test(e2e-mobile): async calls should be awaited
martijnhjk Jun 22, 2026
722acdf
Merge pull request #18203 from LedgerHQ/feat/LIVE-31393
lpaquet-ledger Jun 22, 2026
cd0c433
Merge pull request #18804 from LedgerHQ/feat/LIVE-30696
lpaquet-ledger Jun 22, 2026
db01752
Merge branch 'develop' into bugfix/LIVE-30542-aptos-token-fees-display
pawell24 Jun 22, 2026
5363ac7
fix: polyfill structuredClone for Hermes to fix SUI send crash
ishaba Jun 22, 2026
b89b8c0
refactor(cryptoassets): drop registerCryptoCurrency, harden injected …
ysitbon Jun 22, 2026
f857030
feat: remove variant B in AnalyticsOptInPrompt
mitchellv-ledger Jun 19, 2026
49bc4c8
Merge pull request #18773 from LedgerHQ/bugfix/live-32591-common-desk…
deepyjr Jun 22, 2026
2de22de
Merge pull request #18800 from LedgerHQ/fix/coin-sui-sip58-gas-overdraw
ishaba Jun 22, 2026
e00648b
docs(skills): add knip-migration skill and reviewer check for new pac…
ysitbon Jun 22, 2026
7ba0613
fix: backup hub tracking, feature intro scrollview and copy
RobinVncnt Jun 22, 2026
14ac2bd
Merge pull request #18748 from LedgerHQ/tooling/live-32461-apdu-proxy
gre-ledger Jun 22, 2026
5418923
Merge pull request #18808 from LedgerHQ/support/QAA-1331
martijnhjk Jun 22, 2026
d5f19ea
feat(mobile): add bottom fade gradient on wallet 4.0 accounts screen
LucasWerey Jun 22, 2026
0d30955
docs(skills): drop ticket reference from knip-migration skill
ysitbon Jun 22, 2026
0bc2d95
Merge pull request #18816 from LedgerHQ/feat/LIVE-32981-mobile-accoun…
LucasWerey Jun 22, 2026
9519838
feat(mobile): open the asset detail "see all" accounts drawer at full…
LucasWerey Jun 22, 2026
b1f2b7a
fix: market Change column truncation
claudiiafg Jun 22, 2026
88e3da0
Merge pull request #18819 from LedgerHQ/fix/LIVE-32282_truncated
claudiiafg Jun 22, 2026
24fc8b8
Merge pull request #18818 from LedgerHQ/feat/LIVE-32984-mobile-all-ad…
LucasWerey Jun 22, 2026
cb2c838
Merge pull request #18766 from LedgerHQ/feat/LIVE-32899
ysitbon Jun 22, 2026
02a1a3e
doc(coin-modules): refresh docs and skills for coin-modules
francois-guerin-ledger Jun 22, 2026
b79bde9
fix(solana): reserve fee margin when spendable equals ATA rent exemption
qperrot Jun 17, 2026
ca99ba2
fix(mobile): handle uncommon market countervalues
deepyjr Jun 19, 2026
f281945
doc(coin-modules): drop empty changeset (docs-only change)
francois-guerin-ledger Jun 22, 2026
13aeeb6
chore: remove unused thirdweb code
mdomanski-ext-ledger Jun 22, 2026
a80266e
fix(content-cards): correct top wallet spacing and MediaCard border r…
RobinVncnt Jun 22, 2026
e53ef21
Merge pull request #18477 from LedgerHQ/bugfix/LIVE-30544-aptos-token…
pawell24 Jun 22, 2026
2ce85bf
Merge pull request #18458 from LedgerHQ/bugfix/aptos-add-account-null…
pawell24 Jun 22, 2026
fc971f3
Merge pull request #18815 from LedgerHQ/support/knip-copilot-check
ysitbon Jun 22, 2026
1102fe3
Merge pull request #18807 from LedgerHQ/fix/llm-sui-structuredclone-p…
ishaba Jun 22, 2026
f1822ef
Merge remote-tracking branch 'origin/develop' into support/release-me…
beths-ledger Jun 22, 2026
87d0886
fix(mobile): reset backup hub feature intro tracking on unmount
RobinVncnt Jun 22, 2026
fcac3ee
Merge pull request #18776 from LedgerHQ/fix/braze-placement-style
RobinVncnt Jun 22, 2026
b917d86
Merge pull request #18809 from LedgerHQ/feat/LIVE-32617_removal_lldAn…
mitchellv-ledger Jun 22, 2026
4f29c00
Merge pull request #18823 from LedgerHQ/chore/remove-thirdweb-from-he…
mdomanski-ext-ledger Jun 22, 2026
b404378
test(desktop): add asset discoverability e2e tests
mcayuelas-ledger Jun 18, 2026
52a9ddb
feat(mobile): add bottom fade gradient to assets, stablecoins and sto…
LucasWerey Jun 22, 2026
e306c4d
Merge pull request #18812 from LedgerHQ/support/release-merge-conflicts
beths-ledger Jun 22, 2026
ec8f38c
Merge pull request #18832 from LedgerHQ/feat/LIVE-32991-mobile-crypto…
LucasWerey Jun 22, 2026
07a214f
Merge pull request #18821 from LedgerHQ/fix/backup-hub
RobinVncnt Jun 22, 2026
e0311a1
Merge pull request #18774 from LedgerHQ/bugfix/live-32591-mobile-coun…
deepyjr Jun 22, 2026
cd16766
Merge pull request #18761 from LedgerHQ/tezos/origination
estrauser-ledger Jun 22, 2026
cbfdde5
fix: reset lazy onboarding back stack
ldg-github-ci Jun 22, 2026
65a2542
Merge pull request #18839 from LedgerHQ/LIVE-30321-concordium-lwdm-mi…
lysyi3m Jun 22, 2026
ee21b98
feat(desktop): add info state component
OlivierFreyssinet Jun 22, 2026
2b94789
Merge pull request #18668 from LedgerHQ/fix/solana-ata-rent-check
qperrot Jun 22, 2026
b6a9cdc
Merge pull request #18695 from LedgerHQ/test/asset-discoverability-e2e
mcayuelas-ledger Jun 22, 2026
4f86775
Merge pull request #18811 from LedgerHQ/fix/LIVE-32974-lazy-onboardin…
tonykhaov Jun 22, 2026
3ddf2bb
chore(codeowners): add desktop device ownership paths
OlivierFreyssinet Jun 22, 2026
82f01d7
Merge pull request #18846 from LedgerHQ/support/add-desktop-device-co…
OlivierFreyssinet Jun 22, 2026
88c89b0
fix(lwdm): new send flow fix no more unit hardcoding for btc fees
dilaouid Jun 22, 2026
bece9e8
Merge pull request #18842 from LedgerHQ/feat/desktop-info-state-compo…
OlivierFreyssinet Jun 22, 2026
e441ffe
fix: re-adding a previously onboarded canton account
ishaba Jun 22, 2026
1b14b3b
feat(TON): rename TON cryptocurrency to Gram
ayelenmurano Jun 5, 2026
2bc09f8
test(gram): update snapshots
semeano Jun 22, 2026
a46a120
Merge pull request #18825 from LedgerHQ/fix/re-adding-a-previously-on…
ishaba Jun 22, 2026
2e4b54c
test(gram): fix fixture
semeano Jun 22, 2026
9feef38
[LWDM] fix(lwdm): new send flow fix no more unit hardcoding for btc fees
dilaouid Jun 22, 2026
e369e66
fix(transport): transport device id model assign
henri-ly Jun 22, 2026
321f50b
fix(gram): live-countervalues mock
semeano Jun 22, 2026
37eba10
chore(gram): add changeset
semeano Jun 22, 2026
fe5d938
Merge pull request #18822 from LedgerHQ/docs/update-coin-modules-doc-…
francois-guerin-ledger Jun 23, 2026
0b65141
Merge pull request #18853 from LedgerHQ/fix/speculos-model-assign
henri-ly Jun 23, 2026
8c94f01
Merge pull request #18847 from LedgerHQ/feat/ton-to-gram
semeano Jun 23, 2026
aebeb88
chore(prerelease): :rocket: entering prerelease mode
live-github-bot[bot] Jun 23, 2026
254b92f
chore(prerelease): :rocket: release prerelease [LLD(4.10.0-next.0), L…
live-github-bot[bot] Jun 23, 2026
bcca8ab
fix(coin-sui): swap/sell from Sui failing on-device with UNKNOWN_ERRO…
ishaba Jun 23, 2026
b08c7b0
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
079e89c
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
d2287a8
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
05ad3e0
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
00c868a
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
c1d0651
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
3ae0e0f
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
343a82c
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
3c5f1ab
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
912d5d5
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
44427af
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
b810125
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
68dacba
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
7766a0d
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
5235549
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
caab923
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
30cb31f
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
8d5dd15
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
63e28f5
File apps/ledger-live-desktop/static/i18n/en/app.json was translated …
smartling-github-connector[bot] Jun 24, 2026
c95fd5e
File apps/ledger-live-mobile/src/locales/en/common.json was translate…
smartling-github-connector[bot] Jun 24, 2026
11f6d13
Merge pull request #18908 from LedgerHQ/smartling-translations-202606…
RobinVncnt Jun 24, 2026
271956b
Merge pull request #18890 from LedgerHQ/fix/LIVE-32897-sui-swap-error
hedi-edelbloute Jun 24, 2026
9c454e4
chore(prerelease): :rocket: release prerelease [LLD(4.10.0-next.1), L…
live-github-bot[bot] Jun 24, 2026
d60474c
chore(llc): use Arc ERC20 token CAL descriptor for the exchange config
francois-guerin-ledger Jun 24, 2026
4aba72d
Merge pull request #18943 from LedgerHQ/feat/arc-swap-native-usdc-exc…
KVNLS Jun 24, 2026
3326bee
chore(prerelease): :rocket: release prerelease [LLD(4.10.0-next.2), L…
live-github-bot[bot] Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .agents/agents/code-reviewer.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@ Pay special attention to:
- `.agents/skills/ldls-web/SKILL.md` — Lumen UI for desktop (`src/mvvm/`)
- `.agents/skills/ldls-native/SKILL.md` — Lumen UI for mobile (`src/mvvm/`)
- `.agents/skills/testing/SKILL.md` — Jest mock patterns for test files (avoids flaky tests and mock conflicts)
- `.agents/skills/coin-modules/SKILL.md` — Module layout, Alpaca path, and import rules for `libs/coin-modules/`
- `.agents/skills/coin-modules/SKILL.md` — Module layout, Coin Module API path, and import rules for `libs/coin-modules/`
- `.agents/skills/client-ids/SKILL.md` — Privacy rules for sensitive identifiers (DeviceId, UserId, DatadogId)
- `.agents/skills/typescript/SKILL.md` — Canonical TypeScript review guidance; use for typing, error-handling, and general TS code quality rules
- `.agents/skills/react-general/SKILL.md` — Canonical React review guidance; use for component patterns, hooks, rendering, and React architecture rules
- `.agents/skills/coin-families-contract/SKILL.md` — Coin-families contract: no coin-specific branches (`if (family === "evm")` etc.) in generic UI; extend the families contract and implement in `families/<family>/` instead
- `.agents/skills/codeownership/SKILL.md` — Team-split convention: multi-team files should be split into `[foo]/index.ts` and `[foo]/team-[team]/*.ts`; suggest this when a touched file clearly involves many teams
- `.agents/skills/knip-migration/SKILL.md` — Dead-code detection is moving to `knip`, which needs explicit (non-`./*`) `package.json#exports`; new packages must use explicit exports + knip, not `.unimportedrc.json`

## Review Scope

Expand All @@ -45,6 +46,7 @@ By default, review unstaged changes from `git diff`. The user may specify differ
- Lumen UI compliance: verify new UI in `src/mvvm/` uses design-system components
- **Coin-families contract:** In generic code (outside `families/<family>/`), flag new `if (family === "…")` or coin-specific hooks; suggest extending the families contract and implementing in the family folder instead.
- **Cross-team files:** When a PR touches a file owned by multiple teams, suggest the team-split convention: split into `[foo]/index.ts` and `[foo]/team-[team]/*.ts`; one file or small set per team; index re-exports all. CODEOWNERS defines the allowed `team-*` slugs.
- **Dead-code tooling — explicit exports + knip (new packages):** For a **new** package, flag either (a) a `.unimportedrc.json` or a script running the bare `unimported` binary (`"unimported": "unimported"`), or (b) a `./*` wildcard in `package.json#exports`. New packages must enumerate explicit, minimal `exports` (no `./*`, so knip can detect unused files) and use `knip` via a root `knip.json` `workspaces` entry. The repo is migrating dead-code detection off `unimported` (see `.agents/skills/knip-migration/SKILL.md`).

## Confidence Scoring

Expand Down
25 changes: 13 additions & 12 deletions .agents/skills/coin-modules/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,31 @@ No packages other than coin-modules are allowed in `libs/coin-modules/`.

## Directory Layout

| Directory / file | Purpose |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api/` | Alpaca API surface — implements `AlpacaApi` from `@ledgerhq/coin-framework/api/types`; types from `@ledgerhq/types-live` are not allowed |
| `logic/` | Core blockchain logic, agnostic of Bridge or API; only depends on `network/` and external libs |
| `network/` | Communication with explorer / indexer / node |
| `types/` | Model definitions, not related to network |
| `bridge/` (legacy) | `CurrencyBridge` + `AccountBridge` implementation |
| `signer/` (legacy) | Hardware wallet signer interface and device address resolver |
| Directory / file | Purpose |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `api/` | Coin Module API surface — implements `CoinModuleApi` from `@ledgerhq/coin-module-framework/api/index`; restricted imports apply (see below) |
| `logic/` | Core blockchain logic, agnostic of Bridge or API; only depends on `network/` and external libs; restricted imports apply (see below) |
| `network/` | Communication with explorer / indexer / node; restricted imports apply (see below) |
| `types/` | Model definitions, not related to network |
| `bridge/` (legacy) | `CurrencyBridge` + `AccountBridge` implementation |
| `signer/` (legacy) | Hardware wallet signer interface and device address resolver |

Tests: `*.unit.test.ts` (co-located), `*.test.ts` (integration, no network), `*.integ.test.ts` (real network, separate `jest.integ.config.js`).

## Dependencies

Prefer native dependencies from the blockchain foundation and well-established open-source libraries.
**Avoid** proprietary third-party SDKs or closed-source vendor packages.
Internal `@ledgerhq/*` workspace deps are allowed.
**Avoid** proprietary third-party SDKs or closed-source vendor packages.

In `api/`, `logic/`, and `network/`, the only permitted `@ledgerhq/*` imports are `@ledgerhq/errors`, `@ledgerhq/logs`, `@ledgerhq/live-network`, and `@ledgerhq/coin-module-framework` (enforced by `eslint/no-restricted-imports` in `libs/coin-modules/.oxlintrc.json`). Other directories (`bridge/`, `signer/`, `types/`) have no such restriction.

## Integration Paths

**1. Alpaca path (preferred)** — export `createApi(config, currencyId)` implementing `AlpacaApi`. Listed in the `alpacaized` map in `libs/ledger-live-common/src/bridge/impl.ts`. Methods that don't apply may raise "not supported".
**1. Coin Module API path (preferred)** — export `createApi(config, currencyId)` returning `CoinModuleApi` (from `@ledgerhq/coin-module-framework/api/index`). Enable the family in `libs/ledger-live-common/src/bridge/generic-coin-framework/genericCoinFrameworkFamilies.json` (checked by `isGenericCoinFrameworkFamily`). For methods that don't apply, `throw new Error("<method> is not supported")`.

**2. Classic JS Bridge (legacy, do not use)** — export `createBridges(signerContext, coinConfig)` returning `{ currencyBridge, accountBridge }`. Wired via `libs/ledger-live-common/src/families/<family>/setup.ts`.

## Integ Test Requirements (Alpaca API)
## Integ Test Requirements (Coin Module API)

- `craftTransaction` / `estimateFees`: cover each transaction type (token transfer, native, memo, delegation, …)
- `getBalance` / `listOperations`: cover each asset type in the module
Expand Down
13 changes: 7 additions & 6 deletions .agents/skills/docs-update-or-create/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,35 +11,36 @@ Create minimal docs, avoid duplication and make content discoverable.
Treat docs for both human and AI agents together.
Follow our principles of progressive disclosure, locality and canonicalization.

## Process to follow
## 📝 Process to follow

1. Understand the topic of knowledge and its purpose
1. Gather existing knowledge on that topic
1. Agree on the best format and location for it to live
1. Write/update the files, inline with what's agreed
1. Validate the results and refine as necessary

## Guidelines
## 📜 Guidelines

These guidelines define some boundaries within which to operate. They do not
dictate everything. Follow them, but also use judgement and creativity to find
the best way to document knowledge in each case.

**BAD:**
**BAD:**

- Avoid long files containing multiple levels of details
- Avoid overloading context with rarely used knowledge
- Avoid duplicating knowledge in multiple files
- Avoid documenting community-obvious knowledge
- Avoid preserving old structure for its own sake

**GOOD:**
**GOOD:**

- Add docs that measurably improve agent performance
- Do document repeatable workflows, commands and behaviours
- Capture what is peculiar to this repo, domain, or team
- Only add docs that solve real problems
- Delete files that have no unique value after changes
- Use emojis, checkboxes and formatting sparingly to make docs more appealing

### Keep it short

Expand Down Expand Up @@ -67,13 +68,13 @@ description: Read when editing swap flows in Ledger Live Desktop.
---
```

## Principles
## 💡 Principles

- Apply principle of [progressive disclosure](../../../docs/about-docs/progressive-disclosure.md)
- Follow our rules on [docs locality](../../../docs/about-docs/docs-locations.md)
- Avoid duplication by applying rules on [canonicalization](../../../docs/about-docs/canonicalization.md)

## Validation
## 🔎 Validation

- Make sure links point to the canonical source
- Ensure it is discoverable by agents and humans
Expand Down
106 changes: 106 additions & 0 deletions .agents/skills/errors/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
name: errors
description: |
How to define and check error classes in Ledger Live. Read when adding a new
error, creating an errors.ts file, or checking an error's type. Replaces the
deprecated @ledgerhq/errors lib (createCustomErrorClass + serialize/deserialize).
globs: ["**/errors.ts", "**/errors/**/*.ts"]
---

# Errors

Each package owns its errors in its own `src/errors.ts`, as plain native classes.
Do **not** add new errors to `@ledgerhq/errors` (`libs/ledgerjs/packages/errors`) —
that lib is deprecated and frozen (see its `DEPRECATED.md`).

## Define errors

A package groups its errors in `src/errors.ts`. Extend `Error` directly and set a
stable `name`. The `name` string is the contract — keep it stable, it is what
survives across process/serialization boundaries.

```ts
// message-only
export class FooNotFound extends Error {
override name = "FooNotFound";
}

// with a default message
export class InvalidChallenge extends Error {
override name = "InvalidChallenge";
constructor() {
super("backend returned an invalid challenge");
}
}

// with extra fields
export class HttpError extends Error {
override name = "HttpError";
readonly status: number | undefined;
constructor(message: string, status?: number) {
super(message);
this.status = status;
}
}
```

Group a family under a per-package base class so callers can catch the whole set:

```ts
export class WalletAuthError extends Error {
override name = "WalletAuthError";
}
export class WalletAuthSignatureError extends WalletAuthError {
override name = "WalletAuthSignatureError";
constructor(cause: unknown) {
super("failed to sign challenge", { cause });
}
}
```

See `libs/ledger-auth/src/errors.ts` for a full reference.

### `cause`

Use the native second argument: `super(message, { cause })`. Error `cause` was
standardized in ES2022 and is supported by modern runtimes; its TypeScript typing
(`ErrorOptions`) requires `lib: es2022.error` (i.e. `es2022`). Coin modules and
some older packages still target `es2020` — there, declare and assign manually:

```ts
export class BroadcastError extends Error {
override name = "BroadcastError";
cause?: unknown;
constructor(message: string, cause?: unknown) {
super(message);
this.cause = cause;
}
}
```

## Check error type: prefer `error.name`

Prefer `error.name === "FooNotFound"` over `instanceof FooNotFound`.

`instanceof` breaks once an error crosses a boundary — desktop/mobile IPC, worker
messaging, or the external `@ledgerhq/coin-module-framework` — because the object
is rebuilt and loses its prototype. The `name` string always survives.

```ts
// ✅ survives serialization
if (error instanceof Error && error.name === "FooNotFound") { … }

// ⚠️ only works in-process, before any serialization
if (error instanceof FooNotFound) { … }
```

Use `instanceof` only when you are certain the error has not crossed a boundary
(e.g. caught in the same module that threw it) and you need the typed fields.

## Where errors live

- Logic in one package → that package's `src/errors.ts`.
- Used only by an app → the app's `src/errors.ts` (`apps/ledger-live-desktop`,
`apps/ledger-live-mobile`).
- Shared by several coin modules → for now stay in `@ledgerhq/errors` (no editable
shared package sits below the coin layer); do not add new ones there.
1 change: 1 addition & 0 deletions .agents/skills/git-workflow/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,4 @@ test(coin): add bitcoin integration tests
- Never mix refactor + fix + feature
- Rebase before PR to keep history clean
- Squash only for trivial branches (`support/cleanup`)
- **Never use `--no-verify` when committing or pushing** — pre-commit/pre-push hooks (lint, typecheck, tests) must run. If a hook fails, fix the underlying issue rather than skip it; if a hook is genuinely broken, surface it to the user instead of bypassing it.
83 changes: 83 additions & 0 deletions .agents/skills/knip-migration/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
name: knip-migration
description: |
Dead-code / unused-dependency detection is migrating from the legacy `unimported` tool to
`knip`, which requires each package to expose an explicit, minimal `package.json#exports`
(no `./*` wildcard). Read this when adding a new package or migrating an existing one.
---

# Dead-code detection: explicit exports + knip (not unimported)

The repo is migrating dead-code / unused-dependency detection from the legacy **`unimported`**
tool to **`knip`**, one package at a time. knip is configured centrally in the root
[`knip.json`](../../../knip.json) (one `workspaces` entry per package).

## Why this isn't just "swap the tool"

knip treats everything listed in a package's `package.json#exports` as an **entry point**.
Today every package exports a `./*` wildcard mapped to `./src/*.ts` (via the `@ledgerhq/source`
custom condition declared in `tsconfig.base.json`):

```jsonc
"./*": {
"@ledgerhq/source": "./src/*.ts",
"import": "./lib-es/*.js",
"require": "./lib/*.js",
"default": "./lib/*.js"
}
```

Because of this wildcard, knip considers **every top-level `src/*.ts` file "used"** and cannot
detect unused ("zombie") top-level source files — the exact thing `unimported` caught (it
ignored `exports` and diffed against a curated entry list). So real knip parity for a package
requires **replacing the `./*` wildcard with explicit, minimal subpath exports** that enumerate
the package's true public API.

> The few libs already pointed at knip (e.g. `libs/env`, `libs/promise`) still keep the `./*`
> wildcard, so they are only *partially* migrated — **do not** copy them as the template.

## New package = born migrated

A new package has no consumers, so it should start in the target state — no `.unimportedrc.json`:

1. **Explicit `exports` only.** Enumerate the real public API; do **not** add a `./*` wildcard.
Mirror the `.` root entry per subpath, keeping the conditions:
```jsonc
"exports": {
".": { "@ledgerhq/source": "./src/index.ts", "import": "./lib-es/index.js", "require": "./lib/index.js", "default": "./lib/index.js" },
"./logic": { "@ledgerhq/source": "./src/logic.ts", "import": "./lib-es/logic.js", "require": "./lib/logic.js", "default": "./lib/logic.js" },
"./lib-es/*": "./lib-es/*.js",
"./lib/*": "./lib/*.js",
"./package.json": "./package.json"
}
```
2. **Register in `knip.json`** — add a `workspaces` entry (`entry`, `ignore`, `ignoreDependencies`).
3. **Use knip, not unimported** — add a script that runs knip scoped to the workspace:
`pnpm knip --directory <relative-hop-to-root> -W <workspace-path>`
(`--directory` is the hop back to the repo root — `../..` for `libs/<x>`,
`../../..` for `libs/coin-modules/<x>`; `-W` is the workspace path from root).

## Migrating an existing package off `unimported`

1. **Audit** the real consumers of the package's deep imports.
2. **Replace** the `./*` wildcard export with explicit subpath exports (the legit public API).
3. **Refactor** consumers that relied on now-removed arbitrary entry points.
4. **Switch** the dead-code script `unimported` → knip, delete `.unimportedrc.json`, and verify
a deliberately-unused top-level `src` file is now reported.

Start with leaf / low-dependency packages; `ledger-live-common` (largest surface) comes last.

### Notes

- `unimported` stays until a package reaches knip parity — don't bulk-delete it.
- Unifying the script / nx-target name (`unimported` → `knip-check`) is tracked separately, so
matching the surrounding package's existing script name is fine.

## Reviewing

For a **new** package, flag either of these and point here:

- a `.unimportedrc.json` or a script running the **bare `unimported` binary**
(`"unimported": "unimported"`) — it must use knip via a root `knip.json` `workspaces` entry; or
- a **`./*` wildcard** in `package.json#exports` — new packages must enumerate explicit exports
so knip can detect zombie files.
12 changes: 5 additions & 7 deletions .agents/skills/ledger-wallet-cli/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,22 +148,20 @@ Ticker is **mandatory** in `--amount`. No `--token` flag — ticker drives asset

### swap quote

Fetches quotes in parallel from the built-in provider list (no device when addresses are supplied via flags below).
Fetches quotes in parallel from the built-in provider list (no device required; addresses are resolved from session accounts).

**Currencies:** `--from` / `-f` and `--to` / `-t` are Ledger **currency IDs** — native assets (e.g. `ethereum`, `bitcoin`, `solana`) **or token IDs** when the token’s parent chain is a supported native swap currency (same IDs the CLI allows for swap). They are **not** session account labels — use `--from-account` / `--to-account` (or fresh addresses) for accounts.
**Currencies:** `--from` / `-f` and `--to` / `-t` are Ledger **currency IDs** — native assets (e.g. `ethereum`, `bitcoin`, `solana`) **or token IDs** when the token’s parent chain is a supported native swap currency (same IDs the CLI allows for swap). They are **not** session account labels — use `--from-account` / `--to-account` for accounts.

**Default providers queried by `swap quote` and usable by `swap execute`:** `changelly`, `cic`, `exodus`, `nearintents`, `swapsxyz`.

**Addresses (pick one per side):** `--from-fresh-address` or `--from-account`; `--to-fresh-address` or `--to-account`. Account flags accept a session label only; the CLI resolves a fresh receive address like `receive`.
**Accounts:** `--from-account` and `--to-account` accept a session label only; the CLI resolves a fresh receive address from the account like `receive`.

```bash
pnpm --silent wallet-cli start swap quote --from ethereum --to bitcoin --amount 0.1 --from-fresh-address 0xABC... --to-fresh-address bc1q...
pnpm --silent wallet-cli start swap quote -f ethereum -t bitcoin --amount 0.1 --from-fresh-address 0xABC... --to-fresh-address bc1q... --output json
pnpm --silent wallet-cli start swap quote --from ethereum --to bitcoin --amount 0.1 --from-account ethereum-1 --to-account bitcoin-native-1
pnpm --silent wallet-cli start swap quote --from ethereum --to bitcoin --amount 0.1 --from-account ethereum-1 --to-account bitcoin-native-1 --output json
pnpm --silent wallet-cli start swap quote -f ethereum -t bitcoin --amount 0.1 --from-account ethereum-1 --to-account bitcoin-native-1 --output json
```

Required: `--from`, `--to`, `--amount`, and both sides covered by the address flags above.
Required: `--from`, `--to`, `--from-account`, `--to-account`, `--amount`.

### swap execute

Expand Down
5 changes: 5 additions & 0 deletions .changeset/afraid-trainers-lick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@ledgerhq/live-common": minor
---

chore(llc): force `msg.value: 0` when swapping from Arc on Dex
Loading
Loading