Skip to content

[LWM] feat(perps): close the mobile deposit with a transaction signed screen - #21472

Open
ooke-ledger wants to merge 4 commits into
feat/LIVE-35328-mobilefrom
feat/LIVE-35329-mobile
Open

[LWM] feat(perps): close the mobile deposit with a transaction signed screen#21472
ooke-ledger wants to merge 4 commits into
feat/LIVE-35328-mobilefrom
feat/LIVE-35329-mobile

Conversation

@ooke-ledger

@ooke-ledger ooke-ledger commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Stacked on #21457. Mobile port of #21260.

image

Adds the transaction signed screen that closes the deposit flow, with a View transaction CTA into the swap status drawer. onDone now carries the swapId.

Also includes one unrelated one-liner: centres the wrapped "no quote" error.

Copilot AI lite review requested due to automatic review settings September 2, 2026 21:36
@ooke-ledger
ooke-ledger requested a review from a team as a code owner September 2, 2026 21:36
@live-github-bot live-github-bot Bot added mobile Has changes in LLM translations Translation files have been touched labels Sep 2, 2026
@live-github-bot live-github-bot Bot changed the title [LWDM] feat(perps): close the mobile deposit with a transaction signed screen [LWM] feat(perps): close the mobile deposit with a transaction signed screen Sep 2, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The new receipt screen and swapId plumbing are consistently wired through navigation, state, and tests with no confirmed functional gaps in the reviewed changes.

Pull request overview

Adds a new “Transaction signed” receipt screen to the mobile Perps deposit flow, mirroring the desktop behavior, and wires the deposit execution outcome (swapId) through to enable a “View transaction” CTA that opens the swap status drawer.

Changes:

  • Introduces PerpsTransactionSigned screen (view + viewmodel) with optional “View transaction” CTA that opens the swap status drawer when a swapId exists.
  • Updates the Perps deposit signing flow so onDone carries a PerpsDepositOutcome (including swapId) and replaces the deposit form with the receipt screen after broadcast.
  • Minor UI tweak: centers the wrapped “no quote” error message in the deposit form.
File summaries
File Description
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsTransactionSigned/usePerpsTransactionSignedViewModel.ts ViewModel for receipt screen; closes screen and optionally opens swap status drawer using swapId.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsTransactionSigned/PerpsTransactionSignedScreen.tsx Screen container wiring navigation props into the ViewModel.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsTransactionSigned/index.tsx Receipt UI (InfoState + success gradient + optional CTA).
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsTransactionSigned/tests/usePerpsTransactionSignedViewModel.test.ts Unit tests for receipt ViewModel behaviors (CTA presence, drawer handoff, close).
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsTransactionSigned/integrations/perpsTransactionSigned.integration.test.tsx Integration coverage for receipt rendering and CTA visibility.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsDeposit/usePerpsDepositViewModel.ts Navigates to receipt via navigation.replace on successful signing, passing swapId + provider.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsDeposit/index.tsx Centers the wrapped “no quote” error text.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsDeposit/components/PerpsDepositSign/usePerpsDepositSignViewModel.ts Updates onDone prop typing to accept the deposit outcome payload.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsDeposit/components/PerpsDepositSign/tests/usePerpsDepositSignViewModel.test.ts Updates tests for new onDone(outcome) callback signature.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsDeposit/tests/usePerpsDepositViewModel.test.ts Updates tests for receipt navigation (replace) and swapId plumbing.
apps/ledger-live-mobile/src/mvvm/features/Perps/screens/PerpsDeposit/integrations/perpsDepositSign.integration.test.tsx Integration test asserting navigation to receipt on successful signing.
apps/ledger-live-mobile/src/mvvm/features/Perps/hooks/usePerpsDepositExecution.ts Introduces PerpsDepositOutcome and passes swapId through onDone.
apps/ledger-live-mobile/src/mvvm/features/Perps/hooks/tests/usePerpsDepositExecution.test.ts Updates expectation for onDone to receive { swapId }.
apps/ledger-live-mobile/src/locales/en/common.json Adds English strings for the receipt screen.
apps/ledger-live-mobile/src/const/navigation.ts Adds ScreenName.PerpsTransactionSigned.
apps/ledger-live-mobile/src/components/RootNavigator/types/BaseNavigator.ts Registers navigation params type for the new screen.
apps/ledger-live-mobile/src/components/RootNavigator/BaseNavigator.tsx Registers the new screen in the base stack (header hidden).
.changeset/perps-transaction-signed-mobile.md Changeset documenting the new user-facing mobile Perps deposit completion screen.
Review details
  • Files reviewed: 18/18 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Rsdoctor Bundle Diff Analysis

Found 7 projects in monorepo, 7 projects with changes.

📊 Quick Summary
Project Total Size Gzip Size Change Gzip Change
desktop-main 2.4 MB - - -
desktop-preloader 7.1 KB - - -
desktop-renderer 82.0 MB - - -
desktop-webviewDappPreloader 36.9 KB - - -
desktop-webviewPreloader 200.0 B - - -
desktop-workers 36.8 KB - - -
mobile 128.2 MB - - -
📋 Detailed Reports (Click to expand)

📁 desktop-main

Path: rsdoctor/desktop-main/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 2.4 MB - -
🗜️ Gzip Size - - -
📄 JavaScript 2.2 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 135.3 KB - -

📁 desktop-preloader

Path: rsdoctor/desktop-preloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 7.1 KB - -
🗜️ Gzip Size - - -
📄 JavaScript 5.3 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 1.8 KB - -

📁 desktop-renderer

Path: rsdoctor/desktop-renderer/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 82.0 MB - -
🗜️ Gzip Size - - -
📄 JavaScript 30.3 MB - -
🎨 CSS 184.9 KB - -
🌐 HTML 1.8 KB - -
📁 Other Assets 51.6 MB - -

📁 desktop-webviewDappPreloader

Path: rsdoctor/desktop-webviewDappPreloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 36.9 KB - -
🗜️ Gzip Size - - -
📄 JavaScript 36.9 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 desktop-webviewPreloader

Path: rsdoctor/desktop-webviewPreloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 200.0 B - -
🗜️ Gzip Size - - -
📄 JavaScript 200.0 B - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 desktop-workers

Path: rsdoctor/desktop-workers/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 36.8 KB - -
🗜️ Gzip Size - - -
📄 JavaScript 36.8 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 mobile

Path: rsdoctor/mobile/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 128.2 MB - -
🗜️ Gzip Size - - -
📄 JavaScript 112.8 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 15.4 MB - -

Generated by Rsdoctor GitHub Action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mobile Has changes in LLM translations Translation files have been touched

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants