{
  "prNumber": 45313,
  "prTitle": "release: 13.44.0",
  "generatedAt": "2026-08-14T15:03:11.851Z",
  "modelUsed": "gpt-5",
  "summary": {
    "totalFilesChanged": 758,
    "totalCommitsInRelease": 106,
    "releaseRiskScore": "57/100",
    "highRiskScenarios": 6,
    "mediumRiskScenarios": 8
  },
  "testScenarios": {
    "cherryPickScenarios": [
      {
        "area": "Onboarding - Import with 12-word Secret Recovery Phrase",
        "riskLevel": "high",
        "testSteps": [
          "1. From the Welcome screen, choose Import wallet and enter a valid 12-word SRP exactly (use known test phrase).",
          "2. Verify the Continue button enables and you can proceed to successfully complete import and reach the wallet.",
          "3. Enter an invalid SRP (wrong word count or typos) and confirm Continue stays disabled or shows a clear validation error."
        ],
        "whyThisMatters": "Cherry-pick 45398 fixes the inability to continue after entering a valid 12-word SRP; regressions here could lock users out or weaken SRP validation."
      },
      {
        "area": "Asset Details - mUSD CTA and Convert Removal",
        "riskLevel": "medium",
        "testSteps": [
          "1. Add mUSD to the wallet on a supported network and open the mUSD asset details page.",
          "2. Verify the Convert section is removed and a 'Get mUSD' CTA is present.",
          "3. Click 'Get mUSD' and confirm it routes to the intended flow (e.g., on-ramp/partner page) without errors; verify other tokens’ asset pages remain unchanged."
        ],
        "whyThisMatters": "Cherry-pick 45385 modifies mUSD’s asset page CTAs; incorrect routing or partial removal could break acquisition flows or confuse users."
      },
      {
        "area": "Snaps - Institutional Wallet Snap 2.0.0 Upgrade",
        "riskLevel": "medium",
        "testSteps": [
          "1. Install or connect to a dapp that requests the Institutional Wallet Snap and approve installation with required permissions.",
          "2. Trigger a snap-initiated action (e.g., sign a message/perform an operation) and verify the approval and result succeed.",
          "3. Lock and unlock the wallet; confirm the snap remains installed and functional without additional prompts or errors."
        ],
        "whyThisMatters": "Cherry-pick 45410 upgrades a critical snap to 2.0.0; API/permission changes may break enterprise workflows or user approvals."
      }
    ],
    "initialScenarios": [
      {
        "area": "Send - Currency Input and Gas Editing",
        "riskLevel": "high",
        "testSteps": [
          "1. From an account with sufficient ETH, open Send and input a value with many decimals (e.g., 0.000000123456) and then paste a value using a comma decimal (e.g., 0,5) after switching the extension locale to one that uses commas.",
          "2. Toggle between crypto and fiat input, verifying the amount stays consistent and correctly rounded.",
          "3. Open Edit gas → set custom Max fee/Max priority fee; confirm the total updates correctly and no validation errors appear.",
          "4. Proceed to confirmation; verify displayed amounts, fees, and fiat equivalents are accurate; send and confirm success."
        ],
        "whyThisMatters": "Currency input hooks were modified; precision, locale handling, and total computation directly affect successful transactions and user trust."
      },
      {
        "area": "Swap - Decimal Precision and Exchange Rate",
        "riskLevel": "high",
        "testSteps": [
          "1. Start a Swap on Mainnet from USDC (6 decimals) to ETH and input 0.123456 USDC.",
          "2. Verify the input enforces 6-decimal precision and the quote refreshes without errors; adjust slippage to a low value (e.g., 0.1%) and re-check the quote.",
          "3. Use Max, then change the token pair (e.g., ETH→DAI) and ensure the exchange rate reflects the new pair consistently.",
          "4. Review and confirm the swap; on the confirm screen, ensure fees/total/receive amounts match the quote and final transaction reflects those values."
        ],
        "whyThisMatters": "Updated currency and exchange-rate hooks can cause rounding/quote discrepancies that lead to failed or incorrect swaps."
      },
      {
        "area": "Compliance/Geolocation Gating (Feature Access Restrictions)",
        "riskLevel": "high",
        "testSteps": [
          "1. Simulate a restricted region (via QA flag, VPN, or dev settings) and open the Swap or Buy feature from the home screen.",
          "2. Verify an access-restricted modal/gate appears and blocks the flow with correct copy and a working 'Learn more/Support' link.",
          "3. Return to a non-restricted region setting and refresh; confirm the gate is removed and the feature is usable again."
        ],
        "whyThisMatters": "Compliance gate and geolocation messenger changes can unintentionally over-block or under-block critical features like Buy/Swap in certain regions."
      },
      {
        "area": "Dapp-Requested Network Enablement (Add/Switch Chain)",
        "riskLevel": "high",
        "testSteps": [
          "1. On a dapp that requests a new chain, trigger wallet_addEthereumChain and verify the enable-network modal shows correct chain name, RPC, and symbol.",
          "2. Approve the request and confirm the extension switches to the new chain; verify chain details in the network picker.",
          "3. From another dapp, trigger wallet_switchEthereumChain for an existing chain; Reject and confirm the active chain remains unchanged and the dapp receives an error."
        ],
        "whyThisMatters": "Messenger changes for network enablement can break add/switch flows, potentially stranding users on incorrect networks or causing silent failures."
      },
      {
        "area": "Transaction Confirmation - Info Rows, Fees, and Totals",
        "riskLevel": "high",
        "testSteps": [
          "1. Initiate an ERC-20 approve transaction and proceed to the confirmation screen.",
          "2. Verify info-row labels (e.g., Estimated gas/network fee, Total) and values; change gas settings and ensure totals update immediately and correctly.",
          "3. Repeat with a Swap confirmation; confirm the displayed send/receive amounts, price impact (if shown), and fees are consistent before submitting."
        ],
        "whyThisMatters": "Small changes to confirmation info constants can cause mislabeling or miscalculation, leading to user confusion or wrong decisions."
      },
      {
        "area": "Alert System - Action Handler and Metrics",
        "riskLevel": "medium",
        "testSteps": [
          "1. Import a watch-only token (or complete an action that triggers a success toast/alert) and observe the alert.",
          "2. Click the alert’s action (e.g., View asset) and verify it navigates correctly.",
          "3. Dismiss the alert and confirm it does not reappear; verify a corresponding metrics event is (or is not) emitted based on analytics settings."
        ],
        "whyThisMatters": "Alert action and metrics context changes risk broken CTAs or incorrect telemetry, degrading UX and observability."
      },
      {
        "area": "Analytics Opt-in/Opt-out (MetaMetrics)",
        "riskLevel": "medium",
        "testSteps": [
          "1. In Settings → Security & Privacy, toggle MetaMetrics Off.",
          "2. Perform a common action (open Send, open Swap) and capture network requests; verify no analytics events are sent.",
          "3. Toggle MetaMetrics On and repeat; confirm expected analytics events resume and the setting persists after extension restart."
        ],
        "whyThisMatters": "Analytics messenger changes can violate user privacy preferences or reduce necessary telemetry when enabled."
      },
      {
        "area": "Assets List - Home Network Filter Modal",
        "riskLevel": "medium",
        "testSteps": [
          "1. Open the Assets tab and launch the network filter modal in the control bar.",
          "2. Toggle between All networks and Current network; verify asset counts and network badges update accordingly.",
          "3. Apply a search and ensure results respect the selected network filter; close and re-open to verify the selection persists."
        ],
        "whyThisMatters": "Filter modal changes can hide assets unexpectedly or show incorrect balances, confusing users about what they own on which networks."
      },
      {
        "area": "Portfolio - Account Group Balance Display",
        "riskLevel": "medium",
        "testSteps": [
          "1. With multiple accounts, view the portfolio/account group balance on Mainnet.",
          "2. Switch to an L2 or sidechain (e.g., Arbitrum) and observe the balance update.",
          "3. Quickly toggle between accounts and networks; verify no stale or flickering fiat/crypto values."
        ],
        "whyThisMatters": "Balance display logic changes can mislead users about holdings, especially during rapid account/network switches."
      },
      {
        "area": "DeFi Positions (V2) - Loading and Network Scoping",
        "riskLevel": "medium",
        "testSteps": [
          "1. Open the Portfolio → DeFi tab and wait for positions to load.",
          "2. If empty, verify the empty state is shown without errors; if positions exist, check that protocol and network labels are correct.",
          "3. Change the active network and refresh; ensure the positions list updates or scopes correctly without cross-network leakage."
        ],
        "whyThisMatters": "Messenger updates for DeFi positions can break data loading or filtering, resulting in missing or incorrect position displays."
      },
      {
        "area": "Perpetuals (Perps) Integration - Data and Error Handling",
        "riskLevel": "medium",
        "testSteps": [
          "1. Navigate to the Perpetuals section (if enabled) and select a market.",
          "2. Verify price/market data loads and updates; simulate a slow or failed network to confirm graceful error/empty states.",
          "3. Attempt an action that requires a supported network; confirm unsupported-network errors and guidance appear correctly."
        ],
        "whyThisMatters": "Perps infrastructure changes can cause data load failures or poor error handling in a high-stakes trading context."
      }
    ]
  }
}