Skip to content

Conversation

@bergarces
Copy link
Contributor

@bergarces bergarces commented Nov 11, 2025

Explanation

Upgrade to Price API v3

Preview PR for extension: MetaMask/metamask-extension#37741
Preview PR for mobile: MetaMask/metamask-mobile#22876

References

Fixes https://consensyssoftware.atlassian.net/browse/ASSETS-1746

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

Upgrades token price fetching to Price API v3, updates service/types and controllers to new assets-based API, and removes legacy polling paths.

  • Price API Integration (v3)
    • CodefiTokenPricesServiceV2: add v3 /v3/spot-prices with CAIP-19 assetId, fallback to v2 per-chain endpoint; expand SUPPORTED_CURRENCIES; introduce SPOT_PRICES_SUPPORT_INFO; handle native token addresses; circuit-breaker/degraded handling retained.
  • Types/Interfaces:
    • BREAKING: AbstractTokenPricesService.fetchTokenPrices now accepts assets: { chainId, tokenAddress }[] and returns EvmAssetWithMarketData[] (replaces address->object map and adds assetId).
    • Add EvmAssetAddressWithChain, EvmAssetWithId, EvmAssetWithMarketData.
  • Controllers:
    • TokenRatesController: fetch prices grouped by native currency; support unsupported native currencies via USD conversion; include native token in queries; remove legacy polling/state/event deps; handle network deletions; enable/disable gating maintained.
    • CurrencyRateController: on API failure, fallback to spot prices via fetchTokenPrices using native token asset; map multiple networks by native currency.
    • TokenSearchDiscoveryDataController: adapt to new fetchTokenPrices response (array) and asset inputs.
  • Utils:
    • assetsUtil.fetchTokenContractExchangeRates: switch to assets-based batching (includes native token) and map array response.
  • Tests/Changelog:
    • Update tests to new arguments/returns and behaviors; changelog notes BREAKING changes and polling cleanup.

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

@bergarces bergarces force-pushed the prices-v3-upgrade branch 2 times, most recently from 950baef to 82b6f2e Compare November 12, 2025 11:27
@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

'0x63564c40': 'eip155:1666600000/slip44:1023', // Harmony Mainnet Shard 0 - Native symbol: ONE
'0x279f': 'eip155:143/slip44:268435779', // Monad Testnet - Native symbol: MON
'0x3e7': 'eip155:999/slip44:2457', // HyperEVM - Native symbol: ETH
} as const;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Any entry here with null, means that the support for price-api v2 works but it doesn't for v3, as price-api does not recognise the native asset slip44 reference, which we need to fetch prices.

Copy link
Contributor Author

@bergarces bergarces Nov 19, 2025

Choose a reason for hiding this comment

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

After checking with platform-api. They have confirmed that if the entry worked with the zero address on v2, it should work by passing zero address as a token for v3. Not having the slip44 reference is not an issue then, as we are only using this internally.

There are, however, 2 chains for which that is not true: Meter and Polis.

There's also Monad, which does not seem to work at all, but that's probably because it's not on until next week.

I'm keeping the fallback to v2 for those chains, but as soon as they are sorted at backend level we can get rid of any v2 code.

@bergarces
Copy link
Contributor Author

@metamaskbot publish-preview

@github-actions
Copy link
Contributor

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

@salimtb
Copy link
Contributor

salimtb commented Nov 20, 2025

nice test coverage

salimtb
salimtb previously approved these changes Nov 20, 2025
Copy link
Contributor

@salimtb salimtb left a comment

Choose a reason for hiding this comment

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

i tested this on extension and it looks good to me , TY for the clean up

const contractInformations = await this.#fetchAndMapExchangeRates({
tokenAddresses,
chainId,
const promises = [
Copy link
Contributor

Choose a reason for hiding this comment

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

Whats the number of calls/promises we are generating here?
If this is large, thoughts on using reduceInBatchesSerially or one of the other batching mechanisms we have to process multiple promises in parallel?

Copy link
Contributor Author

@bergarces bergarces Nov 20, 2025

Choose a reason for hiding this comment

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

At most, one for every different currency. Up until now, we were generating one for every different chain and awaiting them as well with Promise.allSettled.

In a standard scenario with all the popular chains enabled, we'll be sending 5 promises in parallel (ETH, POL, BNB, SEI and AVAX).

I think we are still far from the number of chains that would require careful batching.

{} as Record<SupportedChainId, Hex[]>,
);

const promises = Object.entries(assetsByChainId).map(
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here. Are there many promises in parallel here?

If yes, thoughts on using the reduceInBatchesSerially or other batching utils so we process certain amount at a time?

Also unsure if we should add a timeout mechanism safelyExecuteWithTimeout, for if this API hangs for a long time?

Copy link
Contributor Author

@bergarces bergarces Nov 20, 2025

Choose a reason for hiding this comment

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

Maximum of 3, assuming that the user has Monad, Meter and Polis networks enabled (the last two are rather obscure).

We should also be expecting to remove this fallback soon, because we will be able to test Monad for the correct caip19 asset when it becomes available next week. The other two chains I have already reported them to platform-api.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

They are called with this.#policy.execute, which has its own for retries, duration, etc.

Copy link
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 2 comments on adding some batching logic on our parallel promises

@bergarces bergarces dismissed stale reviews from Prithpal-Sooriya and salimtb via e306214 November 20, 2025 13:46
@bergarces bergarces added this pull request to the merge queue Nov 20, 2025
Merged via the queue into main with commit acbb6c0 Nov 20, 2025
273 checks passed
@bergarces bergarces deleted the prices-v3-upgrade branch November 20, 2025 14:33
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.

4 participants