fix(ramps): filter activity tab's transfer details for selected account -> cp-7.71.0#27830
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #27830 +/- ##
==========================================
+ Coverage 82.46% 82.47% +0.01%
==========================================
Files 4801 4803 +2
Lines 123807 123916 +109
Branches 27602 27621 +19
==========================================
+ Hits 102101 102205 +104
- Misses 14634 14635 +1
- Partials 7072 7076 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
fdb1a5d to
4d78cb8
Compare
4d78cb8 to
39d5861
Compare
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
Tag selection rationale:
Performance tests: No performance impact expected - the new selector uses Performance Test Selection: |
|
✅ E2E Fixture Validation — Schema is up to date |
|



Description
Activity — on-ramp orders scoped to the selected account
The Activity Orders tab merges legacy fiat orders with V2
RampsControllerorders. Legacy rows were already limited to the selected account group viagetOrders. V2 orders were not filtered, so purchase history from other wallets could appear.This change adds
selectRampsOrdersForSelectedAccountGroup, which keeps only orders whosewalletAddressmatches any formatted address in the selected account group (same semantics as legacy, usingareAddressesEqualfor EVM vs non-EVM). Hook and modal consumers that should reflect “current wallet context” now use this selector instead of the raw controller list.Transak — preserve user-entered fiat amount on Build Quote (in-app)
After additional verification, opening the KYC/payment webview called
navigateToKycWebviewwithquote.fiatAmount, and the stack reset rewrote RampAmountInput params with that value. The quote total can differ from what the user typed (e.g. fees), so Build Quote could show 27.37 after the user entered 25, and that value persisted after closing the sheet or going back.Change:
routeAfterAuthentication(..., amount)already carried the typed fiat;navigateToAdditionalVerificationCallbacknow puts the sameamounton bothRampAmountInputandRampAdditionalVerificationroute params. V2 Additional Verification reads that param and passes only it intonavigateToKycWebview(noquote.fiatAmountfor this purpose).Out of scope: Order detail screens and stored order payloads are unchanged. The Transak payment webview URL is unchanged (no
fiatAmountoverride in widget params); only in-app Build Quote / stack state matches the user’s input.Changelog
CHANGELOG entry: Fixed Activity on-ramp (Orders) list showing V2 purchases from wallets other than the selected account group; fixed Transak unified buy flow so the fiat amount on Build Quote after additional verification matches the user-entered amount on the amount screen (in-app stack), without changing Transak’s payment widget totals.
Tests
selectRampsOrdersForSelectedAccountGroupand ramp hook consumers (selector + hook unit tests).useTransakRouting: IDPROOF / additional verification navigation with useramountset and omitted.AdditionalVerification: continue passes routeamountintonavigateToKycWebview.Related issues
Refs: TRAM-3361
Manual testing steps
Screenshots/Recordings
Before
ScreenRecording_03-18-2026.21-26-36_1.MP4
After
Recording.2026-03-23.200201.mp4
Recording.2026-03-23.200613.mp4
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Moderate UX/data-scoping change: filters which on-ramp orders appear based on multichain account selection and adjusts Transak navigation params, which could hide expected history or affect flow state if account/address resolution is off.
Overview
Fixes unified ramp UI to scope V2
RampsControllerorders to the selected account group, preventing purchases from other wallets from showing up in Activity-derived surfaces. This introducesselectRampsOrdersForSelectedAccountGroup(address-matched viaareAddressesEqual) and switches key consumers (useRampsOrders,useRampsProviders,useRampsButtonClickData,ProviderSelectionModal) from the unfiltered selector.Updates the Transak additional-verification flow to preserve the user-entered fiat amount through stack resets:
useTransakRoutingnow carriesamountintoRampAdditionalVerificationparams, andAdditionalVerificationuses that param (notquote.fiatAmount) when opening the KYC webview. Selector and routing behavior are covered with expanded unit tests.Written by Cursor Bugbot for commit 39d5861. This will update automatically on new commits. Configure here.