chore: AB test Buy action (QuickBuy vs Swaps) on Top Traders token screen + feed#33508
chore: AB test Buy action (QuickBuy vs Swaps) on Top Traders token screen + feed#33508zone-live wants to merge 11 commits into
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. |
PR template — items to address before "Ready for review"Warnings — informational, address before merging:
See docs/readme/ready-for-review.md for the full Definition of Ready for Review. |
This comment was marked as off-topic.
This comment was marked as off-topic.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 9e3b241. Configure here.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Performance Test Selection: |
|




Description
Introduces the
socialAiTSA901AbtestTopTradersBuyActionA/B test for the Top Traders spot Buy action, to measure conversion of opening the main Swaps view vs. the existing QuickBuy sheet.The experiment covers two surfaces:
TraderPositionBuyCta.FeedSpotBuyAction.Perps positions are unaffected (they use a separate Trade button that navigates to Perps and never resolves the experiment).
Simulator.Screen.Recording.-.iPhone.17.Pro.-.2026-07-20.at.13.47.58.mov
Changelog
CHANGELOG entry: null
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/TSA-901
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Medium Risk
Changes the primary buy path for social trading surfaces and routes users into Swaps with pre-filled tokens; mitigated by control parity, QuickBuy fallback, and focus/tab cancellation, but still affects conversion-critical trading UX in production.
Overview
Adds
socialAiTSA901AbtestTopTradersBuyAction: control keeps opening QuickBuy; treatment opens the main Swaps flow with the tapped token as the buy destination (follow_traderattribution).Trader position screen — Buy is handled by
TraderPositionBuyCta(replacing inline QuickBuy). Treatment resolves token metadata viauseQuickBuySetup, navigates withFollowTradingTokenScreen, waits on slow metadata, falls back to QuickBuy when unresolved, and cancels pending navigation if the screen loses focus. Perps still use Trade only (no experiment exposure).Trader feed — Spot Trade delegates to
FeedSpotBuyAction(ref), mounted only when the feed has at least one spot row. Same A/B behavior with a keyedSwapDestResolverper tap (avoids stale metadata); cancels if the route blurs or the feed tab is inactive.Also wires swap analytics locations, registers the flag and A/B analytics mapping, and bumps
@metamask/bridge-controllerto ^77.6.0 for the new event sources.Reviewed by Cursor Bugbot for commit 99c6a25. Bugbot is set up for automated code reviews on this repo. Configure here.