Skip to content

feat(assets-controller): add snaps migration FF#9534

Merged
Kriys94 merged 2 commits into
mainfrom
feat/wpn-1489-stage-gated-ingestion-migration-networks
Jul 23, 2026
Merged

feat(assets-controller): add snaps migration FF#9534
Kriys94 merged 2 commits into
mainfrom
feat/wpn-1489-stage-gated-ingestion-migration-networks

Conversation

@Kriys94

@Kriys94 Kriys94 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Explanation

image

The AssetsController needs to take over assets ingestion (balances, metadata,
prices) for the non-EVM networks currently owned by their Snaps — Solana,
Stellar, and Tron — but this has to happen gradually and be reversible per
network. Previously the AssetsController/AccountsApiDataSource had no notion
of a per-network migration state: the Accounts API data source hardcoded an
eip155-only filter for the chains it surfaced as active, so there was no safe
way to stage the rollout or roll it back without a code change.
This PR adds stage-gated ingestion driven by the
RemoteFeatureFlagController, so the migration for each network can be advanced
and rolled back independently via LaunchDarkly:

  • A new snaps-assets-migration util module defines the per-network rollout
    model: the SnapsAssetsMigrationStage enum (OffReadAssetsControllerWithFallback
    ReadAssetsControllerWithoutFallbackReadAssetsControllerOnly), the
    per-network flag keys (networkAssetsSnapsMigrationSolana,
    networkAssetsSnapsMigrationStellar, networkAssetsSnapsMigrationTron), and
    helpers to resolve and evaluate a stage from remote feature flag state
    (parseSnapsAssetsMigrationStage, isMigrationStageActive,
    getSnapsAssetsMigrationNamespace, getMigrationStages, shouldSupportChain).
  • The AssetsController resolves each network's stage from
    RemoteFeatureFlagController state (read via the
    RemoteFeatureFlagController:getState messenger action). Migration networks
    are ingested (Account Activity WebSocket + Accounts API) only from
    ReadAssetsControllerWithFallback onward and left to the Snap when the stage
    is Off — which is also the fail-safe when the flag is missing or the
    controller is unavailable. Non-migration namespaces (e.g. eip155) are never
    gated.
  • The AccountsApiDataSource now gates the networks it surfaces as active
    chains on the same per-network stage (replacing the hardcoded eip155-only
    filter). It also subscribes to RemoteFeatureFlagController:stateChange
    (mirroring core-backend's AccountActivityService) so newly-enabled
    networks are picked up — and disabled ones dropped — without waiting for the
    periodic refresh. A selector reduces the flags to a primitive migration-stage
    signature so the handler only fires when a stage actually changes.

References

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
Changes which non-EVM chains the Accounts API data source treats as active and can shift balance/subscription behavior at runtime when flags flip; rollout is flag-gated with Off as the safe default.

Overview
Adds per-network, LaunchDarkly-driven rollout for moving Solana, Stellar, and Tron asset ingestion from Snaps into AssetsController, replacing the hardcoded eip155-only active-chain filter on AccountsApiDataSource.

A new snaps-assets-migration module defines SnapsAssetsMigrationStage (Off through ReadAssetsControllerOnly), flag keys (networkAssetsSnapsMigrationSolana / Stellar / Tron), and helpers such as shouldSupportChain and parseSnapsAssetsMigrationStage (missing or invalid flags default to Off). EVM chains stay ungated; migration namespaces only become active chains once stage ≥ ReadAssetsControllerWithFallback.

AccountsApiDataSource filters supported networks with shouldSupportChain, subscribes to RemoteFeatureFlagController:stateChange with a migration-stage signature selector, and refreshes active chains when a stage changes. AssetsController messenger types now allow that event; migration helpers are re-exported from the package entrypoint. Tests always register RemoteFeatureFlagController:getState (default {}).

Reviewed by Cursor Bugbot for commit 87ff788. Bugbot is set up for automated code reviews on this repo. Configure here.

@Kriys94
Kriys94 force-pushed the feat/wpn-1489-stage-gated-ingestion-migration-networks branch 8 times, most recently from 2f2753c to 355b70c Compare July 17, 2026 09:12
@Kriys94
Kriys94 marked this pull request as ready for review July 17, 2026 09:37
@Kriys94
Kriys94 requested review from a team as code owners July 17, 2026 09:37
@Kriys94
Kriys94 temporarily deployed to default-branch July 17, 2026 09:37 — with GitHub Actions Inactive
@Kriys94

Kriys94 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@github-actions

Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.5.5-preview-355b70c
@metamask-previews/accounts-controller@39.0.5-preview-355b70c
@metamask-previews/address-book-controller@7.1.2-preview-355b70c
@metamask-previews/ai-controllers@0.8.0-preview-355b70c
@metamask-previews/analytics-controller@1.2.1-preview-355b70c
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-355b70c
@metamask-previews/announcement-controller@8.1.0-preview-355b70c
@metamask-previews/app-metadata-controller@2.0.1-preview-355b70c
@metamask-previews/approval-controller@9.0.2-preview-355b70c
@metamask-previews/assets-controller@11.0.0-preview-355b70c
@metamask-previews/assets-controllers@109.4.1-preview-355b70c
@metamask-previews/authenticated-user-storage@3.0.1-preview-355b70c
@metamask-previews/base-controller@9.1.0-preview-355b70c
@metamask-previews/base-data-service@0.1.3-preview-355b70c
@metamask-previews/bitcoin-regtest-up@1.0.0-preview-355b70c
@metamask-previews/bridge-controller@77.5.0-preview-355b70c
@metamask-previews/bridge-status-controller@74.3.0-preview-355b70c
@metamask-previews/build-utils@3.0.4-preview-355b70c
@metamask-previews/chain-agnostic-permission@1.7.0-preview-355b70c
@metamask-previews/chomp-api-service@3.1.0-preview-355b70c
@metamask-previews/claims-controller@0.5.3-preview-355b70c
@metamask-previews/client-controller@1.0.1-preview-355b70c
@metamask-previews/client-utils@1.1.0-preview-355b70c
@metamask-previews/compliance-controller@2.1.0-preview-355b70c
@metamask-previews/composable-controller@12.0.1-preview-355b70c
@metamask-previews/config-registry-controller@0.4.1-preview-355b70c
@metamask-previews/connectivity-controller@0.3.0-preview-355b70c
@metamask-previews/controller-utils@12.3.0-preview-355b70c
@metamask-previews/core-backend@6.5.0-preview-355b70c
@metamask-previews/delegation-controller@3.0.2-preview-355b70c
@metamask-previews/earn-controller@12.2.2-preview-355b70c
@metamask-previews/eip-5792-middleware@3.0.5-preview-355b70c
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.1-preview-355b70c
@metamask-previews/eip1193-permission-middleware@2.0.1-preview-355b70c
@metamask-previews/ens-controller@19.1.5-preview-355b70c
@metamask-previews/eth-block-tracker@15.0.1-preview-355b70c
@metamask-previews/eth-json-rpc-middleware@23.1.3-preview-355b70c
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-355b70c
@metamask-previews/foundryup@1.0.1-preview-355b70c
@metamask-previews/gas-fee-controller@26.2.4-preview-355b70c
@metamask-previews/gator-permissions-controller@4.2.3-preview-355b70c
@metamask-previews/geolocation-controller@0.1.3-preview-355b70c
@metamask-previews/java-tron-up@1.0.0-preview-355b70c
@metamask-previews/json-rpc-engine@10.5.0-preview-355b70c
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-355b70c
@metamask-previews/keyring-controller@27.1.0-preview-355b70c
@metamask-previews/local-node-utils@1.0.0-preview-355b70c
@metamask-previews/logging-controller@8.0.2-preview-355b70c
@metamask-previews/message-manager@14.1.2-preview-355b70c
@metamask-previews/messenger@2.0.0-preview-355b70c
@metamask-previews/messenger-cli@0.2.0-preview-355b70c
@metamask-previews/money-account-api-data-service@0.1.0-preview-355b70c
@metamask-previews/money-account-balance-service@2.2.0-preview-355b70c
@metamask-previews/money-account-controller@0.3.3-preview-355b70c
@metamask-previews/money-account-upgrade-controller@2.2.1-preview-355b70c
@metamask-previews/multichain-account-service@13.0.0-preview-355b70c
@metamask-previews/multichain-api-middleware@4.0.1-preview-355b70c
@metamask-previews/multichain-network-controller@3.2.1-preview-355b70c
@metamask-previews/multichain-transactions-controller@7.1.1-preview-355b70c
@metamask-previews/name-controller@9.1.2-preview-355b70c
@metamask-previews/network-connection-banner-controller@0.1.0-preview-355b70c
@metamask-previews/network-controller@34.0.0-preview-355b70c
@metamask-previews/network-enablement-controller@5.6.0-preview-355b70c
@metamask-previews/notification-services-controller@25.0.0-preview-355b70c
@metamask-previews/passkey-controller@2.1.0-preview-355b70c
@metamask-previews/permission-controller@13.1.1-preview-355b70c
@metamask-previews/permission-log-controller@5.1.0-preview-355b70c
@metamask-previews/perps-controller@9.2.1-preview-355b70c
@metamask-previews/phishing-controller@17.3.0-preview-355b70c
@metamask-previews/platform-api-docs@0.0.0-preview-355b70c
@metamask-previews/polling-controller@16.0.8-preview-355b70c
@metamask-previews/preferences-controller@23.1.0-preview-355b70c
@metamask-previews/profile-metrics-controller@4.0.2-preview-355b70c
@metamask-previews/profile-sync-controller@28.3.0-preview-355b70c
@metamask-previews/ramps-controller@17.0.0-preview-355b70c
@metamask-previews/rate-limit-controller@7.0.1-preview-355b70c
@metamask-previews/react-data-query@0.2.2-preview-355b70c
@metamask-previews/remote-feature-flag-controller@4.2.2-preview-355b70c
@metamask-previews/sample-controllers@5.0.3-preview-355b70c
@metamask-previews/seedless-onboarding-controller@10.0.3-preview-355b70c
@metamask-previews/selected-network-controller@26.1.5-preview-355b70c
@metamask-previews/sentinel-api-service@1.0.0-preview-355b70c
@metamask-previews/shield-controller@5.1.3-preview-355b70c
@metamask-previews/signature-controller@39.2.7-preview-355b70c
@metamask-previews/smart-transactions-controller@25.0.1-preview-355b70c
@metamask-previews/snap-account-service@2.0.0-preview-355b70c
@metamask-previews/social-controllers@2.5.0-preview-355b70c
@metamask-previews/solana-test-validator-up@1.0.0-preview-355b70c
@metamask-previews/stellar-quickstart-up@0.0.0-preview-355b70c
@metamask-previews/storage-service@1.0.2-preview-355b70c
@metamask-previews/subscription-controller@6.2.1-preview-355b70c
@metamask-previews/transaction-controller@69.0.0-preview-355b70c
@metamask-previews/transaction-pay-controller@25.0.0-preview-355b70c
@metamask-previews/user-operation-controller@41.2.7-preview-355b70c
@metamask-previews/wallet@7.0.1-preview-355b70c
@metamask-previews/wallet-cli@0.0.0-preview-355b70c

@Kriys94
Kriys94 force-pushed the feat/wpn-1489-stage-gated-ingestion-migration-networks branch from 355b70c to 44376e0 Compare July 20, 2026 08:25
@Kriys94

Kriys94 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@github-actions

Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.5.5-preview-44376e0
@metamask-previews/accounts-controller@39.0.5-preview-44376e0
@metamask-previews/address-book-controller@7.1.2-preview-44376e0
@metamask-previews/ai-controllers@0.8.0-preview-44376e0
@metamask-previews/analytics-controller@1.2.1-preview-44376e0
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-44376e0
@metamask-previews/announcement-controller@8.1.0-preview-44376e0
@metamask-previews/app-metadata-controller@2.0.1-preview-44376e0
@metamask-previews/approval-controller@9.0.2-preview-44376e0
@metamask-previews/assets-controller@11.0.0-preview-44376e0
@metamask-previews/assets-controllers@109.4.1-preview-44376e0
@metamask-previews/authenticated-user-storage@3.0.1-preview-44376e0
@metamask-previews/base-controller@9.1.0-preview-44376e0
@metamask-previews/base-data-service@0.1.3-preview-44376e0
@metamask-previews/bitcoin-regtest-up@1.0.0-preview-44376e0
@metamask-previews/bridge-controller@77.5.0-preview-44376e0
@metamask-previews/bridge-status-controller@74.3.0-preview-44376e0
@metamask-previews/build-utils@3.0.4-preview-44376e0
@metamask-previews/chain-agnostic-permission@1.7.0-preview-44376e0
@metamask-previews/chomp-api-service@3.1.0-preview-44376e0
@metamask-previews/claims-controller@0.5.3-preview-44376e0
@metamask-previews/client-controller@1.0.1-preview-44376e0
@metamask-previews/client-utils@1.1.0-preview-44376e0
@metamask-previews/compliance-controller@2.1.0-preview-44376e0
@metamask-previews/composable-controller@12.0.1-preview-44376e0
@metamask-previews/config-registry-controller@0.4.1-preview-44376e0
@metamask-previews/connectivity-controller@0.3.0-preview-44376e0
@metamask-previews/controller-utils@12.3.0-preview-44376e0
@metamask-previews/core-backend@6.5.0-preview-44376e0
@metamask-previews/delegation-controller@3.0.2-preview-44376e0
@metamask-previews/earn-controller@12.2.2-preview-44376e0
@metamask-previews/eip-5792-middleware@3.0.5-preview-44376e0
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.1-preview-44376e0
@metamask-previews/eip1193-permission-middleware@2.0.1-preview-44376e0
@metamask-previews/ens-controller@19.1.5-preview-44376e0
@metamask-previews/eth-block-tracker@15.0.1-preview-44376e0
@metamask-previews/eth-json-rpc-middleware@23.1.3-preview-44376e0
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-44376e0
@metamask-previews/foundryup@1.0.1-preview-44376e0
@metamask-previews/gas-fee-controller@26.2.4-preview-44376e0
@metamask-previews/gator-permissions-controller@4.2.3-preview-44376e0
@metamask-previews/geolocation-controller@0.1.3-preview-44376e0
@metamask-previews/java-tron-up@1.0.0-preview-44376e0
@metamask-previews/json-rpc-engine@10.5.0-preview-44376e0
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-44376e0
@metamask-previews/keyring-controller@27.1.0-preview-44376e0
@metamask-previews/local-node-utils@1.0.0-preview-44376e0
@metamask-previews/logging-controller@8.0.2-preview-44376e0
@metamask-previews/message-manager@14.1.2-preview-44376e0
@metamask-previews/messenger@2.0.0-preview-44376e0
@metamask-previews/messenger-cli@0.2.0-preview-44376e0
@metamask-previews/money-account-api-data-service@0.1.0-preview-44376e0
@metamask-previews/money-account-balance-service@2.2.0-preview-44376e0
@metamask-previews/money-account-controller@0.3.3-preview-44376e0
@metamask-previews/money-account-upgrade-controller@2.2.1-preview-44376e0
@metamask-previews/multichain-account-service@13.0.0-preview-44376e0
@metamask-previews/multichain-api-middleware@4.0.1-preview-44376e0
@metamask-previews/multichain-network-controller@3.2.1-preview-44376e0
@metamask-previews/multichain-transactions-controller@7.1.1-preview-44376e0
@metamask-previews/name-controller@9.1.2-preview-44376e0
@metamask-previews/network-connection-banner-controller@0.1.0-preview-44376e0
@metamask-previews/network-controller@34.0.0-preview-44376e0
@metamask-previews/network-enablement-controller@5.6.0-preview-44376e0
@metamask-previews/notification-services-controller@25.0.0-preview-44376e0
@metamask-previews/passkey-controller@2.1.0-preview-44376e0
@metamask-previews/permission-controller@13.1.1-preview-44376e0
@metamask-previews/permission-log-controller@5.1.0-preview-44376e0
@metamask-previews/perps-controller@9.2.1-preview-44376e0
@metamask-previews/phishing-controller@17.3.0-preview-44376e0
@metamask-previews/platform-api-docs@0.0.0-preview-44376e0
@metamask-previews/polling-controller@16.0.8-preview-44376e0
@metamask-previews/preferences-controller@23.1.0-preview-44376e0
@metamask-previews/profile-metrics-controller@4.0.2-preview-44376e0
@metamask-previews/profile-sync-controller@28.3.0-preview-44376e0
@metamask-previews/ramps-controller@17.0.0-preview-44376e0
@metamask-previews/rate-limit-controller@7.0.1-preview-44376e0
@metamask-previews/react-data-query@0.2.2-preview-44376e0
@metamask-previews/remote-feature-flag-controller@4.2.2-preview-44376e0
@metamask-previews/sample-controllers@5.0.3-preview-44376e0
@metamask-previews/seedless-onboarding-controller@10.0.3-preview-44376e0
@metamask-previews/selected-network-controller@26.1.5-preview-44376e0
@metamask-previews/sentinel-api-service@1.0.0-preview-44376e0
@metamask-previews/shield-controller@5.1.3-preview-44376e0
@metamask-previews/signature-controller@39.2.7-preview-44376e0
@metamask-previews/smart-transactions-controller@25.0.1-preview-44376e0
@metamask-previews/snap-account-service@2.0.0-preview-44376e0
@metamask-previews/social-controllers@2.5.0-preview-44376e0
@metamask-previews/solana-test-validator-up@1.0.0-preview-44376e0
@metamask-previews/stellar-quickstart-up@0.0.0-preview-44376e0
@metamask-previews/storage-service@1.0.2-preview-44376e0
@metamask-previews/subscription-controller@6.2.1-preview-44376e0
@metamask-previews/transaction-controller@69.0.0-preview-44376e0
@metamask-previews/transaction-pay-controller@25.0.0-preview-44376e0
@metamask-previews/user-operation-controller@41.2.7-preview-44376e0
@metamask-previews/wallet@7.0.1-preview-44376e0
@metamask-previews/wallet-cli@0.0.0-preview-44376e0

@Kriys94

Kriys94 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Preview build PR MetaMask/metamask-extension#44601

@Kriys94
Kriys94 force-pushed the feat/wpn-1489-stage-gated-ingestion-migration-networks branch from 44376e0 to d7c747d Compare July 20, 2026 14:40
@Kriys94

Kriys94 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@github-actions

Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@7.5.5-preview-3f3e1111c
@metamask-previews/accounts-controller@39.0.5-preview-3f3e1111c
@metamask-previews/address-book-controller@7.1.2-preview-3f3e1111c
@metamask-previews/ai-controllers@0.8.0-preview-3f3e1111c
@metamask-previews/analytics-controller@1.2.1-preview-3f3e1111c
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-3f3e1111c
@metamask-previews/announcement-controller@8.1.0-preview-3f3e1111c
@metamask-previews/app-metadata-controller@2.0.1-preview-3f3e1111c
@metamask-previews/approval-controller@9.0.2-preview-3f3e1111c
@metamask-previews/assets-controller@11.0.0-preview-3f3e1111c
@metamask-previews/assets-controllers@109.4.1-preview-3f3e1111c
@metamask-previews/authenticated-user-storage@3.0.1-preview-3f3e1111c
@metamask-previews/base-controller@9.1.0-preview-3f3e1111c
@metamask-previews/base-data-service@0.1.3-preview-3f3e1111c
@metamask-previews/bitcoin-regtest-up@1.0.0-preview-3f3e1111c
@metamask-previews/bridge-controller@77.6.0-preview-3f3e1111c
@metamask-previews/bridge-status-controller@74.3.0-preview-3f3e1111c
@metamask-previews/build-utils@3.0.4-preview-3f3e1111c
@metamask-previews/chain-agnostic-permission@1.7.0-preview-3f3e1111c
@metamask-previews/chomp-api-service@3.1.0-preview-3f3e1111c
@metamask-previews/claims-controller@0.5.3-preview-3f3e1111c
@metamask-previews/client-controller@1.0.1-preview-3f3e1111c
@metamask-previews/client-utils@1.2.0-preview-3f3e1111c
@metamask-previews/compliance-controller@2.1.0-preview-3f3e1111c
@metamask-previews/composable-controller@12.0.1-preview-3f3e1111c
@metamask-previews/config-registry-controller@0.4.1-preview-3f3e1111c
@metamask-previews/connectivity-controller@0.3.0-preview-3f3e1111c
@metamask-previews/controller-utils@12.3.0-preview-3f3e1111c
@metamask-previews/core-backend@6.5.0-preview-3f3e1111c
@metamask-previews/delegation-controller@3.0.2-preview-3f3e1111c
@metamask-previews/earn-controller@12.2.2-preview-3f3e1111c
@metamask-previews/eip-5792-middleware@3.0.5-preview-3f3e1111c
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.1-preview-3f3e1111c
@metamask-previews/eip1193-permission-middleware@2.0.1-preview-3f3e1111c
@metamask-previews/ens-controller@19.1.5-preview-3f3e1111c
@metamask-previews/eth-block-tracker@15.0.1-preview-3f3e1111c
@metamask-previews/eth-json-rpc-middleware@23.1.3-preview-3f3e1111c
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-3f3e1111c
@metamask-previews/foundryup@1.0.1-preview-3f3e1111c
@metamask-previews/gas-fee-controller@26.2.4-preview-3f3e1111c
@metamask-previews/gator-permissions-controller@4.2.3-preview-3f3e1111c
@metamask-previews/geolocation-controller@0.1.3-preview-3f3e1111c
@metamask-previews/java-tron-up@1.0.0-preview-3f3e1111c
@metamask-previews/json-rpc-engine@10.5.0-preview-3f3e1111c
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-3f3e1111c
@metamask-previews/keyring-controller@27.1.0-preview-3f3e1111c
@metamask-previews/local-node-utils@1.0.0-preview-3f3e1111c
@metamask-previews/logging-controller@8.0.2-preview-3f3e1111c
@metamask-previews/message-manager@14.1.2-preview-3f3e1111c
@metamask-previews/messenger@2.0.0-preview-3f3e1111c
@metamask-previews/messenger-cli@0.2.0-preview-3f3e1111c
@metamask-previews/money-account-api-data-service@0.1.0-preview-3f3e1111c
@metamask-previews/money-account-balance-service@2.2.0-preview-3f3e1111c
@metamask-previews/money-account-controller@0.3.3-preview-3f3e1111c
@metamask-previews/money-account-upgrade-controller@2.2.1-preview-3f3e1111c
@metamask-previews/multichain-account-service@13.0.0-preview-3f3e1111c
@metamask-previews/multichain-api-middleware@4.0.1-preview-3f3e1111c
@metamask-previews/multichain-network-controller@3.2.1-preview-3f3e1111c
@metamask-previews/multichain-transactions-controller@7.1.1-preview-3f3e1111c
@metamask-previews/name-controller@9.1.2-preview-3f3e1111c
@metamask-previews/network-connection-banner-controller@0.1.0-preview-3f3e1111c
@metamask-previews/network-controller@34.0.0-preview-3f3e1111c
@metamask-previews/network-enablement-controller@5.6.0-preview-3f3e1111c
@metamask-previews/notification-services-controller@25.0.0-preview-3f3e1111c
@metamask-previews/passkey-controller@2.1.0-preview-3f3e1111c
@metamask-previews/permission-controller@13.1.1-preview-3f3e1111c
@metamask-previews/permission-log-controller@5.1.0-preview-3f3e1111c
@metamask-previews/perps-controller@9.2.1-preview-3f3e1111c
@metamask-previews/phishing-controller@17.3.0-preview-3f3e1111c
@metamask-previews/platform-api-docs@0.0.0-preview-3f3e1111c
@metamask-previews/polling-controller@16.0.8-preview-3f3e1111c
@metamask-previews/preferences-controller@23.1.0-preview-3f3e1111c
@metamask-previews/profile-metrics-controller@4.0.2-preview-3f3e1111c
@metamask-previews/profile-sync-controller@28.3.0-preview-3f3e1111c
@metamask-previews/ramps-controller@17.0.0-preview-3f3e1111c
@metamask-previews/rate-limit-controller@7.0.1-preview-3f3e1111c
@metamask-previews/react-data-query@0.2.2-preview-3f3e1111c
@metamask-previews/remote-feature-flag-controller@4.2.2-preview-3f3e1111c
@metamask-previews/sample-controllers@5.0.3-preview-3f3e1111c
@metamask-previews/seedless-onboarding-controller@10.0.3-preview-3f3e1111c
@metamask-previews/selected-network-controller@26.1.5-preview-3f3e1111c
@metamask-previews/sentinel-api-service@1.0.0-preview-3f3e1111c
@metamask-previews/shield-controller@5.1.3-preview-3f3e1111c
@metamask-previews/signature-controller@39.2.7-preview-3f3e1111c
@metamask-previews/smart-transactions-controller@25.0.1-preview-3f3e1111c
@metamask-previews/snap-account-service@2.0.0-preview-3f3e1111c
@metamask-previews/social-controllers@2.5.0-preview-3f3e1111c
@metamask-previews/solana-test-validator-up@1.0.0-preview-3f3e1111c
@metamask-previews/stellar-quickstart-up@0.0.0-preview-3f3e1111c
@metamask-previews/storage-service@1.0.2-preview-3f3e1111c
@metamask-previews/subscription-controller@6.2.1-preview-3f3e1111c
@metamask-previews/transaction-controller@69.0.0-preview-3f3e1111c
@metamask-previews/transaction-pay-controller@25.0.0-preview-3f3e1111c
@metamask-previews/user-operation-controller@41.2.7-preview-3f3e1111c
@metamask-previews/wallet@7.0.1-preview-3f3e1111c
@metamask-previews/wallet-cli@0.0.0-preview-3f3e1111c

try {
return this.#messenger.call('RemoteFeatureFlagController:getState')
.remoteFeatureFlags;
} catch {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't think this try/catch here is needed

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I just removed it

Comment thread packages/assets-controller/CHANGELOG.md Outdated
- `#getNativeAssetMap` returns a stable empty object when uncached so memoized formatters are not busted by `?? {}` identity churn
- `TokenDataSource` EVM spam filtering now uses per-chain floors from Token API `GET /v1/suggestedOccurrenceFloors` (`queryApiClient.token.fetchV1SuggestedOccurrenceFloors`) instead of a hardcoded minimum of 3 occurrences. Chains missing from the response (or a failed floors fetch) still fall back to 3 ([#9537](https://github.com/MetaMask/core/pull/9537))
- `TokensApiClient` (used by `RpcDataSource` / `TokenDetector`) now sets the token-list `occurrenceFloor` query param from the same Token API `GET /v1/suggestedOccurrenceFloors` endpoint (cached 1h), replacing the hardcoded Linea/MegaETH/Tempo special cases. Missing chains or failed fetches fall back to 3 ([#9537](https://github.com/MetaMask/core/pull/9537))
- Add `@metamask/remote-feature-flag-controller` as a dependency ([#9534](https://github.com/MetaMask/core/pull/9534))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be a breaking change as we're adding new event to the messenger now

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. In the end, I removed it because the controller was already importing the controller.

@Kriys94
Kriys94 force-pushed the feat/wpn-1489-stage-gated-ingestion-migration-networks branch from 821143d to f0616d5 Compare July 23, 2026 08:47

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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 f0616d5. Configure here.

@Kriys94
Kriys94 force-pushed the feat/wpn-1489-stage-gated-ingestion-migration-networks branch from f0616d5 to 602a1f3 Compare July 23, 2026 09:05
@Kriys94
Kriys94 force-pushed the feat/wpn-1489-stage-gated-ingestion-migration-networks branch from 602a1f3 to 87ff788 Compare July 23, 2026 09:17
@Kriys94
Kriys94 added this pull request to the merge queue Jul 23, 2026
Merged via the queue into main with commit 4063ded Jul 23, 2026
427 checks passed
@Kriys94
Kriys94 deleted the feat/wpn-1489-stage-gated-ingestion-migration-networks branch July 23, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants