core icon indicating copy to clipboard operation
core copied to clipboard

feat: bridge popular and search getTokens endpoints

Open micaelae opened this issue 3 months ago • 3 comments

Explanation

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, highlighting breaking changes as necessary
  • [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes

[!NOTE] Introduce fetchPopularTokens and fetchTokensBySearchQuery with new BridgeAssetV2 type, add chainRanking to feature flags, and update exports and tests accordingly.

  • Fetch utilities:
    • Add fetchPopularTokens to retrieve ranked tokens (optionally merged with user balances) from /getTokens/popular.
    • Add async generator fetchTokensBySearchQuery for paginated search from /getTokens/search, merging balances and handling cursors.
    • Extend client headers helper usage; no changes to existing quote fetching behavior.
  • Types & Validators:
    • Introduce BridgeAssetV2 and TokenBalance types; add BridgeAssetV2Schema and validateSwapsAssetV2Object.
    • Use CaipChainIdStruct in schemas where applicable.
  • Feature flags:
    • Add optional chainRanking to PlatformConfigSchema and include in defaults (DEFAULT_FEATURE_FLAG_CONFIG).
    • Tests updated to assert chainRanking handling.
  • Public API:
    • Export new types (BridgeAssetV2, controller event/action types) and fetch functions (fetchPopularTokens, fetchTokensBySearchQuery).
  • Tests:
    • Add/extend tests for new fetch endpoints, validators, feature flags, selectors, and SSE setup reflecting chainRanking.

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

micaelae avatar Nov 11 '25 22:11 micaelae

@metamaskbot publish-preview

micaelae avatar Nov 14 '25 19:11 micaelae

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-tree-controller": "3.0.0-preview-95376346",
  "@metamask-previews/accounts-controller": "34.0.0-preview-95376346",
  "@metamask-previews/address-book-controller": "7.0.0-preview-95376346",
  "@metamask-previews/analytics-controller": "0.0.0-preview-95376346",
  "@metamask-previews/announcement-controller": "8.0.0-preview-95376346",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-95376346",
  "@metamask-previews/approval-controller": "8.0.0-preview-95376346",
  "@metamask-previews/assets-controllers": "88.0.0-preview-95376346",
  "@metamask-previews/base-controller": "9.0.0-preview-95376346",
  "@metamask-previews/bridge-controller": "60.1.0-preview-95376346",
  "@metamask-previews/bridge-status-controller": "60.1.0-preview-95376346",
  "@metamask-previews/build-utils": "3.0.4-preview-95376346",
  "@metamask-previews/chain-agnostic-permission": "1.2.2-preview-95376346",
  "@metamask-previews/claims-controller": "0.2.0-preview-95376346",
  "@metamask-previews/composable-controller": "12.0.0-preview-95376346",
  "@metamask-previews/controller-utils": "11.15.0-preview-95376346",
  "@metamask-previews/core-backend": "4.0.0-preview-95376346",
  "@metamask-previews/delegation-controller": "1.0.0-preview-95376346",
  "@metamask-previews/earn-controller": "10.0.0-preview-95376346",
  "@metamask-previews/eip-5792-middleware": "2.0.0-preview-95376346",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-95376346",
  "@metamask-previews/eip1193-permission-middleware": "1.0.2-preview-95376346",
  "@metamask-previews/ens-controller": "18.0.0-preview-95376346",
  "@metamask-previews/error-reporting-service": "3.0.0-preview-95376346",
  "@metamask-previews/eth-block-tracker": "14.0.0-preview-95376346",
  "@metamask-previews/eth-json-rpc-middleware": "21.0.0-preview-95376346",
  "@metamask-previews/eth-json-rpc-provider": "5.0.1-preview-95376346",
  "@metamask-previews/foundryup": "1.0.1-preview-95376346",
  "@metamask-previews/gas-fee-controller": "25.0.0-preview-95376346",
  "@metamask-previews/gator-permissions-controller": "0.4.0-preview-95376346",
  "@metamask-previews/json-rpc-engine": "10.1.1-preview-95376346",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-95376346",
  "@metamask-previews/keyring-controller": "24.0.0-preview-95376346",
  "@metamask-previews/logging-controller": "7.0.0-preview-95376346",
  "@metamask-previews/message-manager": "14.0.0-preview-95376346",
  "@metamask-previews/messenger": "0.3.0-preview-95376346",
  "@metamask-previews/multichain-account-service": "3.0.0-preview-95376346",
  "@metamask-previews/multichain-api-middleware": "1.2.4-preview-95376346",
  "@metamask-previews/multichain-network-controller": "2.0.0-preview-95376346",
  "@metamask-previews/multichain-transactions-controller": "6.0.0-preview-95376346",
  "@metamask-previews/name-controller": "9.0.0-preview-95376346",
  "@metamask-previews/network-controller": "25.0.0-preview-95376346",
  "@metamask-previews/network-enablement-controller": "3.1.0-preview-95376346",
  "@metamask-previews/notification-services-controller": "20.0.0-preview-95376346",
  "@metamask-previews/permission-controller": "12.1.0-preview-95376346",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-95376346",
  "@metamask-previews/phishing-controller": "15.0.1-preview-95376346",
  "@metamask-previews/polling-controller": "15.0.0-preview-95376346",
  "@metamask-previews/preferences-controller": "21.0.0-preview-95376346",
  "@metamask-previews/profile-sync-controller": "26.0.0-preview-95376346",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-95376346",
  "@metamask-previews/remote-feature-flag-controller": "2.0.0-preview-95376346",
  "@metamask-previews/sample-controllers": "3.0.0-preview-95376346",
  "@metamask-previews/seedless-onboarding-controller": "6.1.0-preview-95376346",
  "@metamask-previews/selected-network-controller": "25.0.0-preview-95376346",
  "@metamask-previews/shield-controller": "2.1.0-preview-95376346",
  "@metamask-previews/signature-controller": "36.0.0-preview-95376346",
  "@metamask-previews/subscription-controller": "4.2.2-preview-95376346",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-95376346",
  "@metamask-previews/transaction-controller": "61.3.0-preview-95376346",
  "@metamask-previews/transaction-pay-controller": "6.0.0-preview-95376346",
  "@metamask-previews/user-operation-controller": "40.0.0-preview-95376346"
}

github-actions[bot] avatar Nov 14 '25 19:11 github-actions[bot]

@metamaskbot publish-preview

micaelae avatar Nov 14 '25 19:11 micaelae