Skip to content

chore: remove token list item v2 flag#27731

Merged
juanmigdr merged 2 commits into
mainfrom
chore/remove-token-list-item-v2-flag
Mar 20, 2026
Merged

chore: remove token list item v2 flag#27731
juanmigdr merged 2 commits into
mainfrom
chore/remove-token-list-item-v2-flag

Conversation

@juanmigdr

@juanmigdr juanmigdr commented Mar 20, 2026

Copy link
Copy Markdown
Member

Description

Remove token list item V2 FF and token list item V1

Changelog

CHANGELOG entry: remove token list item V2 FF and token list item V1

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2951

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Medium risk because it removes an A/B-gated codepath and replaces the token row implementation and related analytics attribution, which can affect wallet token list rendering, navigation, and metrics across networks (EVM + non-EVM).

Overview
Removes the tokenListItemV2AbtestVersioned feature flag and all V2 token list item codepaths, making token lists (TokenList, TokensSection) always render TokenListItem.

TokenListItem is updated to absorb the former V2 layout: it replaces AssetElement with a custom row UI, adds fiat token-price display (EVM via market data + FX rates; non‑EVM via multichain rates), handles testnet/"loading" fiat states, and refines secondary-balance behavior for mUSD conversion and Merkl claim bonus (including claim/CTA tracking).

Token details analytics attribution is simplified by dropping token-list-layout A/B test properties from TOKEN_DETAILS_OPENED, and unit tests/feature-flag registry entries are updated accordingly.

Written by Cursor Bugbot for commit 0b37022. This will update automatically on new commits. Configure here.

@juanmigdr juanmigdr requested a review from a team as a code owner March 20, 2026 11:41
@github-actions github-actions Bot added size-XL risk-high Extensive testing required · High bug introduction risk labels Mar 20, 2026
@juanmigdr juanmigdr enabled auto-merge March 20, 2026 12:52
@github-actions github-actions Bot added risk-high Extensive testing required · High bug introduction risk and removed risk-high Extensive testing required · High bug introduction risk labels Mar 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeWalletPlatform, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeConfirmations, SmokeTrade, SmokeAccounts, SmokeRamps
  • Selected Performance tags: @PerformanceAssetLoading
  • Risk Level: high
  • AI Confidence: 88%
click to see 🤖 AI reasoning details

E2E Test Selection:
This PR removes the A/B test for TokenListItemV2 and merges the V2 layout into the primary TokenListItem component. This is a significant UI change affecting the core token list displayed in the wallet.

Key changes:

  1. TokenListItemV2 deleted - The V2 component is removed entirely
  2. TokenListItem (V1) completely redesigned - Now incorporates the V2 layout: new Box-based layout, token price display, percentage change, redesigned balance display, scam warning icon repositioned, privacy mode behavior updated
  3. Feature flag removed - tokenListItemV2AbtestVersioned selector and registry entry deleted
  4. TokenList.tsx and TokensSection.tsx - Both now always use TokenListItem (no conditional V1/V2)
  5. TokenDetails.tsx - A/B test attribution removed for token list layout experiment

Why these tags:

  • SmokeWalletPlatform: The token list is the core of the wallet homepage. Transaction history display, privacy mode, and balance display are all affected. This is the primary tag.
  • SmokeNetworkAbstractions: Multi-chain token filtering and network badge display in token list items are affected. The token list shows tokens per network.
  • SmokeNetworkExpansion: Solana/non-EVM token display is affected - the new TokenListItem uses selectMultichainAssetsRates for non-EVM token price calculation (keyring-snaps code path).
  • SmokeConfirmations: Per tag description, when selecting SmokeNetworkExpansion for Solana flows, also select SmokeConfirmations. Also, token details navigation from token list items is used in confirmation flows.
  • SmokeTrade: Token list is the entry point for swap/bridge flows. The token list item changes affect how users navigate to trade features. Per tag description, when selecting SmokeTrade, also select SmokeConfirmations.
  • SmokeAccounts: Account switching affects which tokens are displayed in the token list. Privacy mode changes in token list items affect account security display.
  • SmokeRamps: The token list is used in on-ramp/off-ramp token selection flows. The Ramp TokenListItem is a separate component but the wallet token list display affects the overall ramp entry flow.

Not selected:

  • SmokeIdentity: No direct impact on sync/identity flows
  • SmokeMultiChainAPI: No direct impact on CAIP-25 session management
  • SmokeCard: No direct impact on card features
  • SmokePerps/SmokePredictions: While these appear in Trending, the token list changes are in the wallet homepage token list, not the Trending/Perps/Predictions views
  • FlaskBuildTests: No snap-specific changes

Performance Test Selection:
The TokenListItem component is significantly redesigned with new Redux selectors (selectTokenMarketData, selectCurrencyRates, selectMultichainAssetsRates, selectNativeCurrencyByChainId, selectProviderType, selectCurrentCurrency) added to each token list item. This means each token item now makes more Redux state subscriptions and performs additional calculations (tokenPriceInFiat computation). With potentially many tokens in the list, this could impact rendering performance and asset loading times. The @PerformanceAssetLoading tag covers token list rendering and balance fetching, which is directly affected by these changes.

View GitHub Actions results

@github-actions

Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
16 value mismatches detected (expected — fixture represents an existing user).
View details

@sonarqubecloud

Copy link
Copy Markdown

@juanmigdr juanmigdr added this pull request to the merge queue Mar 20, 2026
Merged via the queue into main with commit ab46059 Mar 20, 2026
104 of 105 checks passed
@juanmigdr juanmigdr deleted the chore/remove-token-list-item-v2-flag branch March 20, 2026 14:41
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 20, 2026
@metamaskbot metamaskbot added the release-7.72.0 Issue or pull request that will be included in release 7.72.0 label Mar 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.72.0 Issue or pull request that will be included in release 7.72.0 risk-high Extensive testing required · High bug introduction risk size-XL team-assets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants