Skip to content

refactor: make trending token query params extensible#8729

Merged
sahar-fehri merged 5 commits into
mainfrom
fix/trending-api-options
May 12, 2026
Merged

refactor: make trending token query params extensible#8729
sahar-fehri merged 5 commits into
mainfrom
fix/trending-api-options

Conversation

@sahar-fehri
Copy link
Copy Markdown
Contributor

@sahar-fehri sahar-fehri commented May 6, 2026

Explanation

Makes trending token query params extensible so new API parameters can be added without requiring a core release.

Changes:

Extract TrendingTokensQueryParams type with an index signature to allow arbitrary params to pass through
BREAKING: Rename sortBy => sort parameter in getTrendingTokens to match the actual API parameter name
Update getTrendingTokens and getTrendingTokensURL to use spread operator instead of explicitly destructuring every param
Impact: Mobile can now add new params directly in the getTrendingTokens call without waiting for a core update.

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
Medium risk because it introduces a breaking rename from sortBy to sort in getTrendingTokens, which can silently affect downstream callers at compile time/runtime if not updated. URL/query construction logic is also generalized to pass through arbitrary params, which could change request shapes if misused.

Overview
Refactors the v3 trending tokens API surface to be extensible: introduces and exports TrendingTokensQueryParams (with an index signature) and updates getTrendingTokens/getTrendingTokensURL to forward any additional query parameters to the endpoint.

Includes a breaking parameter rename from sortBy to sort to match the backend API, updates default handling for includeRwaData/usePriceApiData, and adjusts tests plus the package changelog to reflect the new behavior (including a new pass-through query param test).

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

@sahar-fehri sahar-fehri changed the title refactor: make trending token query params extensible with passthroug… refactor: make trending token query params extensible with passthrough support May 6, 2026
@sahar-fehri
Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

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.3.0-preview-28da12dab
@metamask-previews/accounts-controller@38.0.0-preview-28da12dab
@metamask-previews/address-book-controller@7.1.1-preview-28da12dab
@metamask-previews/ai-controllers@0.6.3-preview-28da12dab
@metamask-previews/analytics-controller@1.0.1-preview-28da12dab
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-28da12dab
@metamask-previews/announcement-controller@8.1.0-preview-28da12dab
@metamask-previews/app-metadata-controller@2.0.1-preview-28da12dab
@metamask-previews/approval-controller@9.0.1-preview-28da12dab
@metamask-previews/assets-controller@6.4.0-preview-28da12dab
@metamask-previews/assets-controllers@106.0.0-preview-28da12dab
@metamask-previews/authenticated-user-storage@1.0.0-preview-28da12dab
@metamask-previews/base-controller@9.1.0-preview-28da12dab
@metamask-previews/base-data-service@0.1.1-preview-28da12dab
@metamask-previews/bridge-controller@71.1.1-preview-28da12dab
@metamask-previews/bridge-status-controller@71.1.0-preview-28da12dab
@metamask-previews/build-utils@3.0.4-preview-28da12dab
@metamask-previews/chain-agnostic-permission@1.5.0-preview-28da12dab
@metamask-previews/chomp-api-service@3.0.0-preview-28da12dab
@metamask-previews/claims-controller@0.5.0-preview-28da12dab
@metamask-previews/client-controller@1.0.1-preview-28da12dab
@metamask-previews/compliance-controller@2.0.0-preview-28da12dab
@metamask-previews/composable-controller@12.0.1-preview-28da12dab
@metamask-previews/config-registry-controller@0.3.0-preview-28da12dab
@metamask-previews/connectivity-controller@0.2.0-preview-28da12dab
@metamask-previews/controller-utils@11.20.0-preview-28da12dab
@metamask-previews/core-backend@6.2.1-preview-28da12dab
@metamask-previews/delegation-controller@3.0.0-preview-28da12dab
@metamask-previews/earn-controller@12.1.0-preview-28da12dab
@metamask-previews/eip-5792-middleware@3.0.3-preview-28da12dab
@metamask-previews/eip-7702-internal-rpc-middleware@0.1.0-preview-28da12dab
@metamask-previews/eip1193-permission-middleware@2.0.0-preview-28da12dab
@metamask-previews/ens-controller@19.1.1-preview-28da12dab
@metamask-previews/eth-block-tracker@15.0.1-preview-28da12dab
@metamask-previews/eth-json-rpc-middleware@23.1.3-preview-28da12dab
@metamask-previews/eth-json-rpc-provider@6.0.1-preview-28da12dab
@metamask-previews/foundryup@1.0.1-preview-28da12dab
@metamask-previews/gas-fee-controller@26.2.0-preview-28da12dab
@metamask-previews/gator-permissions-controller@4.1.0-preview-28da12dab
@metamask-previews/geolocation-controller@0.1.2-preview-28da12dab
@metamask-previews/json-rpc-engine@10.3.0-preview-28da12dab
@metamask-previews/json-rpc-middleware-stream@8.0.8-preview-28da12dab
@metamask-previews/keyring-controller@25.5.0-preview-28da12dab
@metamask-previews/logging-controller@8.0.1-preview-28da12dab
@metamask-previews/message-manager@14.1.1-preview-28da12dab
@metamask-previews/messenger@1.2.0-preview-28da12dab
@metamask-previews/messenger-cli@0.2.0-preview-28da12dab
@metamask-previews/money-account-balance-service@0.2.0-preview-28da12dab
@metamask-previews/money-account-controller@0.3.0-preview-28da12dab
@metamask-previews/money-account-upgrade-controller@1.3.1-preview-28da12dab
@metamask-previews/multichain-account-service@9.0.0-preview-28da12dab
@metamask-previews/multichain-api-middleware@3.0.0-preview-28da12dab
@metamask-previews/multichain-network-controller@3.1.0-preview-28da12dab
@metamask-previews/multichain-transactions-controller@7.1.0-preview-28da12dab
@metamask-previews/name-controller@9.1.1-preview-28da12dab
@metamask-previews/network-controller@30.1.0-preview-28da12dab
@metamask-previews/network-enablement-controller@5.1.0-preview-28da12dab
@metamask-previews/notification-services-controller@23.1.0-preview-28da12dab
@metamask-previews/passkey-controller@2.0.0-preview-28da12dab
@metamask-previews/permission-controller@13.1.0-preview-28da12dab
@metamask-previews/permission-log-controller@5.1.0-preview-28da12dab
@metamask-previews/perps-controller@6.0.0-preview-28da12dab
@metamask-previews/phishing-controller@17.1.1-preview-28da12dab
@metamask-previews/polling-controller@16.0.4-preview-28da12dab
@metamask-previews/preferences-controller@23.1.0-preview-28da12dab
@metamask-previews/profile-metrics-controller@3.1.3-preview-28da12dab
@metamask-previews/profile-sync-controller@28.0.2-preview-28da12dab
@metamask-previews/ramps-controller@13.3.0-preview-28da12dab
@metamask-previews/rate-limit-controller@7.0.1-preview-28da12dab
@metamask-previews/react-data-query@0.2.0-preview-28da12dab
@metamask-previews/remote-feature-flag-controller@4.2.0-preview-28da12dab
@metamask-previews/sample-controllers@4.0.4-preview-28da12dab
@metamask-previews/seedless-onboarding-controller@9.1.0-preview-28da12dab
@metamask-previews/selected-network-controller@26.1.1-preview-28da12dab
@metamask-previews/shield-controller@5.1.1-preview-28da12dab
@metamask-previews/signature-controller@39.2.0-preview-28da12dab
@metamask-previews/snap-account-service@0.0.0-preview-28da12dab
@metamask-previews/social-controllers@2.2.0-preview-28da12dab
@metamask-previews/storage-service@1.0.1-preview-28da12dab
@metamask-previews/subscription-controller@6.1.2-preview-28da12dab
@metamask-previews/transaction-controller@65.2.0-preview-28da12dab
@metamask-previews/transaction-pay-controller@21.1.0-preview-28da12dab
@metamask-previews/user-operation-controller@41.2.0-preview-28da12dab

@sahar-fehri sahar-fehri marked this pull request as ready for review May 7, 2026 10:06
@sahar-fehri sahar-fehri requested review from a team as code owners May 7, 2026 10:06
@sahar-fehri sahar-fehri changed the title refactor: make trending token query params extensible with passthrough support refactor: make trending token query params extensible May 7, 2026
juanmigdr
juanmigdr previously approved these changes May 7, 2026
Copy link
Copy Markdown

@cursor cursor Bot left a comment

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 28da12d. Configure here.

Comment thread packages/assets-controllers/src/token-service.ts
Comment thread packages/assets-controllers/CHANGELOG.md
Copy link
Copy Markdown
Contributor

@Prithpal-Sooriya Prithpal-Sooriya left a comment

Choose a reason for hiding this comment

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

Approved with 1 nit.

@sahar-fehri sahar-fehri added this pull request to the merge queue May 12, 2026
Merged via the queue into main with commit b72359b May 12, 2026
366 checks passed
@sahar-fehri sahar-fehri deleted the fix/trending-api-options branch May 12, 2026 08:47
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.

3 participants