{
  "prNumber": 45055,
  "prTitle": "release: 13.43.0",
  "generatedAt": "2026-08-07T18:20:51.052Z",
  "modelUsed": "gpt-5",
  "summary": {
    "totalFilesChanged": 1354,
    "totalCommitsInRelease": 164,
    "releaseRiskScore": "52/100",
    "highRiskScenarios": 5,
    "mediumRiskScenarios": 7
  },
  "testScenarios": {
    "cherryPickScenarios": [
      {
        "area": "Smart Transactions – Tx Sentinel (Robinhood) Routing",
        "riskLevel": "high",
        "testSteps": [
          "1. Enable Smart Transactions on a supported chain and initiate a send or swap.",
          "2. In the background console/network panel, verify requests are sent to the new tx-sentinel Robinhood URL during submission/status polling.",
          "3. Temporarily block the sentinel domain (e.g., via hosts or proxy) and retry; confirm the UI reports a clear error or falls back gracefully without leaving stuck pending transactions.",
          "4. Send a legacy (non-ST) transaction and verify it is unaffected."
        ],
        "whyThisMatters": "Cherry-pick 45214 fixes Smart Transactions controller endpoint routing to the tx-sentinel Robinhood URL; incorrect routing can break submissions or status updates and strand user transactions."
      },
      {
        "area": "Perps – Order Entry Page Order Book",
        "riskLevel": "medium",
        "testSteps": [
          "1. Open the Perps order entry page and verify the order book renders with correct bid/ask sides, best price highlighting, and aggregated sizes.",
          "2. Switch market pairs and ensure the order book updates immediately without errors or stale data.",
          "3. Place a small market/limit order (if available) and verify the order book updates accordingly after fill/cancel.",
          "4. If a feature flag exists, toggle it Off and confirm the page gracefully hides the order book without breaking order entry."
        ],
        "whyThisMatters": "Cherry-pick 45151 adds a new order book on the order entry page; visual correctness and real-time updates are critical for trading accuracy and user trust."
      }
    ],
    "initialScenarios": [
      {
        "area": "State Migrations (versions 220 and 221)",
        "riskLevel": "high",
        "testSteps": [
          "1. Install the previous stable extension version (e.g., 13.42.x), create a wallet, opt out of MetaMetrics, add a custom RPC network, connect a site, and add a few tokens and NFTs.",
          "2. Upgrade to 13.43.0 and open the extension; wait for all loading to complete.",
          "3. Verify accounts, assets, NFTs, connected sites, and custom networks are intact and usable (no missing data or errors).",
          "4. Go to Settings > Security & Privacy and confirm the MetaMetrics toggle retains the previous choice and there is no duplicate consent prompt.",
          "5. Perform a basic send on each previously added network to ensure no corrupted state blocks transactions."
        ],
        "whyThisMatters": "Migrations can corrupt or drop user data; verifying persistence across upgrade prevents loss of funds access, incorrect privacy settings, or broken networks."
      },
      {
        "area": "Smart Transactions (send/swap flows, speed up/cancel)",
        "riskLevel": "high",
        "testSteps": [
          "1. Enable Smart Transactions (Settings/Experimental or supported networks) and ensure you are on a supported chain (e.g., Mainnet).",
          "2. Send an ETH transfer and confirm the confirmation screen indicates Smart Transactions; submit and verify status progression (Submitted → Sent → Confirmed) without getting stuck.",
          "3. While pending, use Speed up and then test Cancel on a new pending tx; verify outcomes, fees charged, and that history reflects the final status correctly.",
          "4. Execute a token swap; confirm gas estimates and that ST falls back to legacy path gracefully if ineligible, without UI errors.",
          "5. Induce a failure (e.g., insufficient funds or revert) and ensure clear error messaging and no orphaned pending transactions."
        ],
        "whyThisMatters": "Controller logic and patches around Smart Transactions directly impact transaction reliability, fees, and recoverability (speed up/cancel)."
      },
      {
        "area": "Assets List Control Bar and Network Filter",
        "riskLevel": "high",
        "testSteps": [
          "1. Open Home > Assets and open the control bar; apply a network filter (e.g., Home network only vs All networks).",
          "2. Verify the visible tokens/NFTs and total fiat balance update to reflect only the selected networks.",
          "3. Switch to another account and back; confirm whether the filter selection persists appropriately (per-account or global) and totals remain correct.",
          "4. Clear the filter and confirm the full asset list and total balance restore immediately without visual glitches."
        ],
        "whyThisMatters": "Substantial UI changes to filtering and totals can misrepresent balances or hide assets, causing user confusion and potential transaction mistakes."
      },
      {
        "area": "MetaMetrics Consent and Tracking (Metametrics Controller refactor)",
        "riskLevel": "high",
        "testSteps": [
          "1. Fresh install and during onboarding select “No thanks” on the MetaMetrics prompt.",
          "2. In Settings > Security & Privacy, verify “Participate in MetaMetrics” is Off; lock/unlock or restart and confirm it persists and no new prompts appear.",
          "3. Toggle it On, restart the extension, and confirm it remains On and no duplicate consent prompts are shown during dapp interactions.",
          "4. Connect to a site and sign a message; ensure no additional privacy prompts appear and no console errors in the background page."
        ],
        "whyThisMatters": "Refactors to telemetry can accidentally re-prompt users, flip consent, or leak events contrary to user privacy choices."
      },
      {
        "area": "Invalid Custom Network Alert",
        "riskLevel": "medium",
        "testSteps": [
          "1. Add a custom RPC network with a chainId that does not match the RPC's reported chainId.",
          "2. Switch to that network and verify the Invalid Custom Network alert appears with clear guidance.",
          "3. Use the alert action to edit the network and correct the chainId or RPC URL.",
          "4. Confirm the alert disappears and you can successfully send a small test transaction."
        ],
        "whyThisMatters": "Users can be blocked from transacting or misled to wrong chains if chainId/RPC mismatches aren’t handled clearly and safely."
      },
      {
        "area": "Unconnected Account Alert (Dapp permissions vs active account)",
        "riskLevel": "medium",
        "testSteps": [
          "1. Connect a site to Account 1 only.",
          "2. Switch the active account in the extension to Account 2.",
          "3. From the connected site, initiate a transaction and verify the Unconnected account alert appears in the confirmation.",
          "4. Choose “Switch to connected account” and verify the tx uses Account 1; repeat and choose to continue with current account and confirm the permission state/tx behavior is correct."
        ],
        "whyThisMatters": "Prevents accidental transactions from the wrong account and ensures clear, safe user decisions with connected sites."
      },
      {
        "area": "Account Group Balance Accuracy",
        "riskLevel": "medium",
        "testSteps": [
          "1. With multiple accounts holding assets across multiple networks, view the Account Group Balance summary.",
          "2. Manually sum individual balances and compare to the displayed group total (fiat).",
          "3. Change primary currency (e.g., USD → EUR) and adjust any network filters; verify totals recalculate accurately.",
          "4. Add or remove a token and confirm the group balance updates immediately without stale or duplicated values."
        ],
        "whyThisMatters": "Incorrect aggregation or currency conversion can misrepresent portfolio value and lead to poor user decisions."
      },
      {
        "area": "Perps Streaming Data (Perps Stream Bridge)",
        "riskLevel": "medium",
        "testSteps": [
          "1. Open the Perps page/order entry and observe live market data updates.",
          "2. Switch between markets and verify the UI updates quickly without stale prices or flicker.",
          "3. Disable network connectivity briefly and restore; confirm the stream reconnects automatically and resumes updates.",
          "4. Place a small test order (if available) and verify the UI reflects order status/fill in near real time."
        ],
        "whyThisMatters": "Live data reliability is essential for trading UIs; stream reconnect failures or stale data can lead to incorrect actions."
      },
      {
        "area": "Account Icon Tour (Onboarding Hints via App State Controller)",
        "riskLevel": "medium",
        "testSteps": [
          "1. Complete onboarding and land on Home; verify the account icon tour tooltip appears once.",
          "2. Dismiss the tooltip, then lock/unlock or restart the extension.",
          "3. Confirm the tour does not reappear; if there is a 'reset tips' option, trigger it and verify the tour shows again.",
          "4. Ensure the tooltip is dismissible via keyboard and does not trap focus."
        ],
        "whyThisMatters": "App-state changes can cause onboarding tips to reappear or never show, degrading UX accessibility and guidance."
      },
      {
        "area": "API Error Handling (User-facing error surfaces)",
        "riskLevel": "medium",
        "testSteps": [
          "1. Go offline and trigger a data fetch (e.g., open Assets or request quotes).",
          "2. Verify an error banner/dialog appears with a clear message and a Retry action.",
          "3. Restore connectivity and click Retry; confirm data loads and the error clears.",
          "4. Navigate to other tabs while the error is visible and ensure it does not block unrelated actions."
        ],
        "whyThisMatters": "Clear, non-blocking error handling avoids user confusion and ensures recovery from transient failures."
      }
    ]
  }
}