Skip to content

Conversation

@salimtb
Copy link
Contributor

@salimtb salimtb commented Jan 13, 2026

Explanation

Current State

The NetworkEnablementController tracks which networks are enabled/disabled but lacks information about the native asset identifier for each chain. This information is needed to properly identify native assets across different blockchain networks using a standardized format.

Extension UI PR: MetaMask/metamask-extension#39234

Solution

This PR adds a new state property nativeAssetIdentifiers to the NetworkEnablementController that maps CAIP-2 chain IDs to CAIP-19-like native asset identifiers.

For example:

  • eip155:1eip155:1/slip44:60 (Ethereum uses ETH, SLIP-44 coin type 60)
  • eip155:56eip155:56/slip44:714 (BSC uses BNB, SLIP-44 coin type 714)
  • solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501

Implementation Details

  1. New Slip44Service: A service that wraps the @metamask/slip44 package to look up SLIP-44 coin types by symbol (e.g., ETH60, BTC0).

  2. State Updates: The nativeAssetIdentifiers state is automatically updated when:

    • A network is added (NetworkController:networkAdded)
    • A network is removed (NetworkController:networkRemoved)
    • A network's native currency symbol is changed (NetworkController:stateChange)
  3. Default State: Popular networks are pre-populated with their correct native asset identifiers based on their native currency symbols.

  4. Graceful Handling: If a symbol has no SLIP-44 mapping, the entry is removed from the state rather than storing an invalid identifier.

Dependency Addition

Added @metamask/slip44 package to dynamically look up SLIP-44 coin types instead of hardcoding them, ensuring accuracy and maintainability.

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

Introduces native asset tracking and supporting utilities.

  • Adds nativeAssetIdentifiers mapping (CAIP-2 -> .../slip44:<coinType>) to NetworkEnablementController state and metadata
  • New Slip44Service (uses @metamask/slip44 and chainid.network) to resolve coin types by symbol/chainId; exports helpers
  • Makes init() async and populates EVM identifiers; new initNativeAssetIdentifiers(networks) API for bulk initialization
  • Updates network lifecycle: on add (async) computes and stores identifier; on remove deletes identifier
  • Extends public exports (types, service) and adds @metamask/slip44 dependency
  • Updates/extends tests for controller, selectors, utils, and new service

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

@salimtb salimtb changed the title Feat/add slip44 identfiers for added chains feat: add slip44 identfiers for added chains Jan 13, 2026
@salimtb
Copy link
Contributor Author

salimtb commented Jan 13, 2026

@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": "4.0.0-preview-e6f8648b",
  "@metamask-previews/accounts-controller": "35.0.0-preview-e6f8648b",
  "@metamask-previews/address-book-controller": "7.0.1-preview-e6f8648b",
  "@metamask-previews/analytics-controller": "1.0.0-preview-e6f8648b",
  "@metamask-previews/announcement-controller": "8.0.0-preview-e6f8648b",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-e6f8648b",
  "@metamask-previews/approval-controller": "8.0.0-preview-e6f8648b",
  "@metamask-previews/assets-controller": "0.0.0-preview-e6f8648b",
  "@metamask-previews/assets-controllers": "95.1.0-preview-e6f8648b",
  "@metamask-previews/base-controller": "9.0.0-preview-e6f8648b",
  "@metamask-previews/bridge-controller": "64.4.0-preview-e6f8648b",
  "@metamask-previews/bridge-status-controller": "64.4.1-preview-e6f8648b",
  "@metamask-previews/build-utils": "3.0.4-preview-e6f8648b",
  "@metamask-previews/chain-agnostic-permission": "1.4.0-preview-e6f8648b",
  "@metamask-previews/claims-controller": "0.4.1-preview-e6f8648b",
  "@metamask-previews/composable-controller": "12.0.0-preview-e6f8648b",
  "@metamask-previews/controller-utils": "11.18.0-preview-e6f8648b",
  "@metamask-previews/core-backend": "5.0.0-preview-e6f8648b",
  "@metamask-previews/delegation-controller": "2.0.0-preview-e6f8648b",
  "@metamask-previews/earn-controller": "11.0.0-preview-e6f8648b",
  "@metamask-previews/eip-5792-middleware": "2.1.0-preview-e6f8648b",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-e6f8648b",
  "@metamask-previews/eip1193-permission-middleware": "1.0.3-preview-e6f8648b",
  "@metamask-previews/ens-controller": "19.0.0-preview-e6f8648b",
  "@metamask-previews/error-reporting-service": "3.0.1-preview-e6f8648b",
  "@metamask-previews/eth-block-tracker": "15.0.0-preview-e6f8648b",
  "@metamask-previews/eth-json-rpc-middleware": "22.0.1-preview-e6f8648b",
  "@metamask-previews/eth-json-rpc-provider": "6.0.0-preview-e6f8648b",
  "@metamask-previews/foundryup": "1.0.1-preview-e6f8648b",
  "@metamask-previews/gas-fee-controller": "26.0.0-preview-e6f8648b",
  "@metamask-previews/gator-permissions-controller": "0.8.0-preview-e6f8648b",
  "@metamask-previews/json-rpc-engine": "10.2.0-preview-e6f8648b",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-e6f8648b",
  "@metamask-previews/keyring-controller": "25.0.0-preview-e6f8648b",
  "@metamask-previews/logging-controller": "7.0.1-preview-e6f8648b",
  "@metamask-previews/message-manager": "14.1.0-preview-e6f8648b",
  "@metamask-previews/messenger": "0.3.0-preview-e6f8648b",
  "@metamask-previews/multichain-account-service": "5.0.0-preview-e6f8648b",
  "@metamask-previews/multichain-api-middleware": "1.2.5-preview-e6f8648b",
  "@metamask-previews/multichain-network-controller": "3.0.0-preview-e6f8648b",
  "@metamask-previews/multichain-transactions-controller": "7.0.0-preview-e6f8648b",
  "@metamask-previews/name-controller": "9.0.0-preview-e6f8648b",
  "@metamask-previews/network-controller": "27.2.0-preview-e6f8648b",
  "@metamask-previews/network-enablement-controller": "4.0.0-preview-e6f8648b",
  "@metamask-previews/notification-services-controller": "21.0.0-preview-e6f8648b",
  "@metamask-previews/permission-controller": "12.2.0-preview-e6f8648b",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-e6f8648b",
  "@metamask-previews/phishing-controller": "16.1.0-preview-e6f8648b",
  "@metamask-previews/polling-controller": "16.0.0-preview-e6f8648b",
  "@metamask-previews/preferences-controller": "22.0.0-preview-e6f8648b",
  "@metamask-previews/profile-metrics-controller": "2.0.0-preview-e6f8648b",
  "@metamask-previews/profile-sync-controller": "27.0.0-preview-e6f8648b",
  "@metamask-previews/ramps-controller": "2.1.0-preview-e6f8648b",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-e6f8648b",
  "@metamask-previews/remote-feature-flag-controller": "4.0.0-preview-e6f8648b",
  "@metamask-previews/sample-controllers": "4.0.0-preview-e6f8648b",
  "@metamask-previews/seedless-onboarding-controller": "7.1.0-preview-e6f8648b",
  "@metamask-previews/selected-network-controller": "26.0.0-preview-e6f8648b",
  "@metamask-previews/shield-controller": "4.1.0-preview-e6f8648b",
  "@metamask-previews/signature-controller": "38.0.0-preview-e6f8648b",
  "@metamask-previews/storage-service": "0.0.1-preview-e6f8648b",
  "@metamask-previews/subscription-controller": "5.4.0-preview-e6f8648b",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-e6f8648b",
  "@metamask-previews/transaction-controller": "62.9.0-preview-e6f8648b",
  "@metamask-previews/transaction-pay-controller": "11.0.0-preview-e6f8648b",
  "@metamask-previews/user-operation-controller": "41.0.0-preview-e6f8648b"
}

@salimtb
Copy link
Contributor Author

salimtb commented Jan 13, 2026

@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": "4.0.0-preview-22f11ed5",
  "@metamask-previews/accounts-controller": "35.0.0-preview-22f11ed5",
  "@metamask-previews/address-book-controller": "7.0.1-preview-22f11ed5",
  "@metamask-previews/analytics-controller": "1.0.0-preview-22f11ed5",
  "@metamask-previews/announcement-controller": "8.0.0-preview-22f11ed5",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-22f11ed5",
  "@metamask-previews/approval-controller": "8.0.0-preview-22f11ed5",
  "@metamask-previews/assets-controller": "0.0.0-preview-22f11ed5",
  "@metamask-previews/assets-controllers": "95.1.0-preview-22f11ed5",
  "@metamask-previews/base-controller": "9.0.0-preview-22f11ed5",
  "@metamask-previews/bridge-controller": "64.4.0-preview-22f11ed5",
  "@metamask-previews/bridge-status-controller": "64.4.1-preview-22f11ed5",
  "@metamask-previews/build-utils": "3.0.4-preview-22f11ed5",
  "@metamask-previews/chain-agnostic-permission": "1.4.0-preview-22f11ed5",
  "@metamask-previews/claims-controller": "0.4.1-preview-22f11ed5",
  "@metamask-previews/composable-controller": "12.0.0-preview-22f11ed5",
  "@metamask-previews/controller-utils": "11.18.0-preview-22f11ed5",
  "@metamask-previews/core-backend": "5.0.0-preview-22f11ed5",
  "@metamask-previews/delegation-controller": "2.0.0-preview-22f11ed5",
  "@metamask-previews/earn-controller": "11.0.0-preview-22f11ed5",
  "@metamask-previews/eip-5792-middleware": "2.1.0-preview-22f11ed5",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-22f11ed5",
  "@metamask-previews/eip1193-permission-middleware": "1.0.3-preview-22f11ed5",
  "@metamask-previews/ens-controller": "19.0.0-preview-22f11ed5",
  "@metamask-previews/error-reporting-service": "3.0.1-preview-22f11ed5",
  "@metamask-previews/eth-block-tracker": "15.0.0-preview-22f11ed5",
  "@metamask-previews/eth-json-rpc-middleware": "22.0.1-preview-22f11ed5",
  "@metamask-previews/eth-json-rpc-provider": "6.0.0-preview-22f11ed5",
  "@metamask-previews/foundryup": "1.0.1-preview-22f11ed5",
  "@metamask-previews/gas-fee-controller": "26.0.0-preview-22f11ed5",
  "@metamask-previews/gator-permissions-controller": "0.8.0-preview-22f11ed5",
  "@metamask-previews/json-rpc-engine": "10.2.0-preview-22f11ed5",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-22f11ed5",
  "@metamask-previews/keyring-controller": "25.0.0-preview-22f11ed5",
  "@metamask-previews/logging-controller": "7.0.1-preview-22f11ed5",
  "@metamask-previews/message-manager": "14.1.0-preview-22f11ed5",
  "@metamask-previews/messenger": "0.3.0-preview-22f11ed5",
  "@metamask-previews/multichain-account-service": "5.0.0-preview-22f11ed5",
  "@metamask-previews/multichain-api-middleware": "1.2.5-preview-22f11ed5",
  "@metamask-previews/multichain-network-controller": "3.0.0-preview-22f11ed5",
  "@metamask-previews/multichain-transactions-controller": "7.0.0-preview-22f11ed5",
  "@metamask-previews/name-controller": "9.0.0-preview-22f11ed5",
  "@metamask-previews/network-controller": "27.2.0-preview-22f11ed5",
  "@metamask-previews/network-enablement-controller": "4.0.0-preview-22f11ed5",
  "@metamask-previews/notification-services-controller": "21.0.0-preview-22f11ed5",
  "@metamask-previews/permission-controller": "12.2.0-preview-22f11ed5",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-22f11ed5",
  "@metamask-previews/phishing-controller": "16.1.0-preview-22f11ed5",
  "@metamask-previews/polling-controller": "16.0.0-preview-22f11ed5",
  "@metamask-previews/preferences-controller": "22.0.0-preview-22f11ed5",
  "@metamask-previews/profile-metrics-controller": "2.0.0-preview-22f11ed5",
  "@metamask-previews/profile-sync-controller": "27.0.0-preview-22f11ed5",
  "@metamask-previews/ramps-controller": "2.1.0-preview-22f11ed5",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-22f11ed5",
  "@metamask-previews/remote-feature-flag-controller": "4.0.0-preview-22f11ed5",
  "@metamask-previews/sample-controllers": "4.0.0-preview-22f11ed5",
  "@metamask-previews/seedless-onboarding-controller": "7.1.0-preview-22f11ed5",
  "@metamask-previews/selected-network-controller": "26.0.0-preview-22f11ed5",
  "@metamask-previews/shield-controller": "4.1.0-preview-22f11ed5",
  "@metamask-previews/signature-controller": "38.0.0-preview-22f11ed5",
  "@metamask-previews/storage-service": "0.0.1-preview-22f11ed5",
  "@metamask-previews/subscription-controller": "5.4.0-preview-22f11ed5",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-22f11ed5",
  "@metamask-previews/transaction-controller": "62.9.0-preview-22f11ed5",
  "@metamask-previews/transaction-pay-controller": "11.0.0-preview-22f11ed5",
  "@metamask-previews/user-operation-controller": "41.0.0-preview-22f11ed5"
}

@salimtb salimtb force-pushed the feat/add-slip44-identfiers-for-added-chains branch from 589e726 to f075c1f Compare January 13, 2026 22:26
@salimtb
Copy link
Contributor Author

salimtb commented Jan 13, 2026

@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": "4.0.0-preview-f075c1f",
  "@metamask-previews/accounts-controller": "35.0.1-preview-f075c1f",
  "@metamask-previews/address-book-controller": "7.0.1-preview-f075c1f",
  "@metamask-previews/analytics-controller": "1.0.0-preview-f075c1f",
  "@metamask-previews/announcement-controller": "8.0.0-preview-f075c1f",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-f075c1f",
  "@metamask-previews/approval-controller": "8.0.0-preview-f075c1f",
  "@metamask-previews/assets-controller": "0.0.0-preview-f075c1f",
  "@metamask-previews/assets-controllers": "95.1.0-preview-f075c1f",
  "@metamask-previews/base-controller": "9.0.0-preview-f075c1f",
  "@metamask-previews/bridge-controller": "64.4.1-preview-f075c1f",
  "@metamask-previews/bridge-status-controller": "64.4.2-preview-f075c1f",
  "@metamask-previews/build-utils": "3.0.4-preview-f075c1f",
  "@metamask-previews/chain-agnostic-permission": "1.4.0-preview-f075c1f",
  "@metamask-previews/claims-controller": "0.4.1-preview-f075c1f",
  "@metamask-previews/composable-controller": "12.0.0-preview-f075c1f",
  "@metamask-previews/controller-utils": "11.18.0-preview-f075c1f",
  "@metamask-previews/core-backend": "5.0.0-preview-f075c1f",
  "@metamask-previews/delegation-controller": "2.0.0-preview-f075c1f",
  "@metamask-previews/earn-controller": "11.0.0-preview-f075c1f",
  "@metamask-previews/eip-5792-middleware": "2.1.0-preview-f075c1f",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-f075c1f",
  "@metamask-previews/eip1193-permission-middleware": "1.0.3-preview-f075c1f",
  "@metamask-previews/ens-controller": "19.0.1-preview-f075c1f",
  "@metamask-previews/error-reporting-service": "3.0.1-preview-f075c1f",
  "@metamask-previews/eth-block-tracker": "15.0.0-preview-f075c1f",
  "@metamask-previews/eth-json-rpc-middleware": "22.0.1-preview-f075c1f",
  "@metamask-previews/eth-json-rpc-provider": "6.0.0-preview-f075c1f",
  "@metamask-previews/foundryup": "1.0.1-preview-f075c1f",
  "@metamask-previews/gas-fee-controller": "26.0.1-preview-f075c1f",
  "@metamask-previews/gator-permissions-controller": "0.8.0-preview-f075c1f",
  "@metamask-previews/json-rpc-engine": "10.2.0-preview-f075c1f",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-f075c1f",
  "@metamask-previews/keyring-controller": "25.0.0-preview-f075c1f",
  "@metamask-previews/logging-controller": "7.0.1-preview-f075c1f",
  "@metamask-previews/message-manager": "14.1.0-preview-f075c1f",
  "@metamask-previews/messenger": "0.3.0-preview-f075c1f",
  "@metamask-previews/multichain-account-service": "5.0.0-preview-f075c1f",
  "@metamask-previews/multichain-api-middleware": "1.2.5-preview-f075c1f",
  "@metamask-previews/multichain-network-controller": "3.0.1-preview-f075c1f",
  "@metamask-previews/multichain-transactions-controller": "7.0.0-preview-f075c1f",
  "@metamask-previews/name-controller": "9.0.0-preview-f075c1f",
  "@metamask-previews/network-controller": "28.0.0-preview-f075c1f",
  "@metamask-previews/network-enablement-controller": "4.0.0-preview-f075c1f",
  "@metamask-previews/notification-services-controller": "21.0.0-preview-f075c1f",
  "@metamask-previews/permission-controller": "12.2.0-preview-f075c1f",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-f075c1f",
  "@metamask-previews/phishing-controller": "16.1.0-preview-f075c1f",
  "@metamask-previews/polling-controller": "16.0.1-preview-f075c1f",
  "@metamask-previews/preferences-controller": "22.0.0-preview-f075c1f",
  "@metamask-previews/profile-metrics-controller": "2.0.0-preview-f075c1f",
  "@metamask-previews/profile-sync-controller": "27.0.0-preview-f075c1f",
  "@metamask-previews/ramps-controller": "3.0.0-preview-f075c1f",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-f075c1f",
  "@metamask-previews/remote-feature-flag-controller": "4.0.0-preview-f075c1f",
  "@metamask-previews/sample-controllers": "4.0.1-preview-f075c1f",
  "@metamask-previews/seedless-onboarding-controller": "7.1.0-preview-f075c1f",
  "@metamask-previews/selected-network-controller": "26.0.1-preview-f075c1f",
  "@metamask-previews/shield-controller": "4.1.0-preview-f075c1f",
  "@metamask-previews/signature-controller": "38.0.1-preview-f075c1f",
  "@metamask-previews/storage-service": "0.0.1-preview-f075c1f",
  "@metamask-previews/subscription-controller": "5.4.0-preview-f075c1f",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-f075c1f",
  "@metamask-previews/transaction-controller": "62.9.1-preview-f075c1f",
  "@metamask-previews/transaction-pay-controller": "11.0.1-preview-f075c1f",
  "@metamask-previews/user-operation-controller": "41.0.1-preview-f075c1f"
}

@salimtb salimtb marked this pull request as ready for review January 13, 2026 22:44
@salimtb salimtb requested review from a team as code owners January 13, 2026 22:44
@salimtb salimtb enabled auto-merge January 13, 2026 23:04
@salimtb salimtb changed the title feat: add slip44 identfiers for added chains feat: add CAIP-19 asset identifier identifiers for each chains into the state Jan 14, 2026
@salimtb salimtb changed the title feat: add CAIP-19 asset identifier identifiers for each chains into the state feat: add CAIP-19 asset identifiers for each chains into the state Jan 14, 2026
@salimtb salimtb changed the title feat: add CAIP-19 asset identifiers for each chains into the state feat: add CAIP-19 asset identifiers for each chain into the state Jan 14, 2026
@salimtb salimtb added this pull request to the merge queue Jan 14, 2026
@Prithpal-Sooriya Prithpal-Sooriya removed this pull request from the merge queue due to a manual request Jan 14, 2026
@salimtb
Copy link
Contributor Author

salimtb commented Jan 14, 2026

@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": "4.0.0-preview-0c691324",
  "@metamask-previews/accounts-controller": "35.0.1-preview-0c691324",
  "@metamask-previews/address-book-controller": "7.0.1-preview-0c691324",
  "@metamask-previews/analytics-controller": "1.0.0-preview-0c691324",
  "@metamask-previews/announcement-controller": "8.0.0-preview-0c691324",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-0c691324",
  "@metamask-previews/approval-controller": "8.0.0-preview-0c691324",
  "@metamask-previews/assets-controller": "0.0.0-preview-0c691324",
  "@metamask-previews/assets-controllers": "95.1.0-preview-0c691324",
  "@metamask-previews/base-controller": "9.0.0-preview-0c691324",
  "@metamask-previews/bridge-controller": "64.4.1-preview-0c691324",
  "@metamask-previews/bridge-status-controller": "64.4.2-preview-0c691324",
  "@metamask-previews/build-utils": "3.0.4-preview-0c691324",
  "@metamask-previews/chain-agnostic-permission": "1.4.0-preview-0c691324",
  "@metamask-previews/claims-controller": "0.4.1-preview-0c691324",
  "@metamask-previews/composable-controller": "12.0.0-preview-0c691324",
  "@metamask-previews/controller-utils": "11.18.0-preview-0c691324",
  "@metamask-previews/core-backend": "5.0.0-preview-0c691324",
  "@metamask-previews/delegation-controller": "2.0.0-preview-0c691324",
  "@metamask-previews/earn-controller": "11.0.0-preview-0c691324",
  "@metamask-previews/eip-5792-middleware": "2.1.0-preview-0c691324",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-0c691324",
  "@metamask-previews/eip1193-permission-middleware": "1.0.3-preview-0c691324",
  "@metamask-previews/ens-controller": "19.0.1-preview-0c691324",
  "@metamask-previews/error-reporting-service": "3.0.1-preview-0c691324",
  "@metamask-previews/eth-block-tracker": "15.0.0-preview-0c691324",
  "@metamask-previews/eth-json-rpc-middleware": "22.0.1-preview-0c691324",
  "@metamask-previews/eth-json-rpc-provider": "6.0.0-preview-0c691324",
  "@metamask-previews/foundryup": "1.0.1-preview-0c691324",
  "@metamask-previews/gas-fee-controller": "26.0.1-preview-0c691324",
  "@metamask-previews/gator-permissions-controller": "0.8.0-preview-0c691324",
  "@metamask-previews/json-rpc-engine": "10.2.0-preview-0c691324",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-0c691324",
  "@metamask-previews/keyring-controller": "25.0.0-preview-0c691324",
  "@metamask-previews/logging-controller": "7.0.1-preview-0c691324",
  "@metamask-previews/message-manager": "14.1.0-preview-0c691324",
  "@metamask-previews/messenger": "0.3.0-preview-0c691324",
  "@metamask-previews/multichain-account-service": "5.0.0-preview-0c691324",
  "@metamask-previews/multichain-api-middleware": "1.2.5-preview-0c691324",
  "@metamask-previews/multichain-network-controller": "3.0.1-preview-0c691324",
  "@metamask-previews/multichain-transactions-controller": "7.0.0-preview-0c691324",
  "@metamask-previews/name-controller": "9.0.0-preview-0c691324",
  "@metamask-previews/network-controller": "28.0.0-preview-0c691324",
  "@metamask-previews/network-enablement-controller": "4.0.0-preview-0c691324",
  "@metamask-previews/notification-services-controller": "21.0.0-preview-0c691324",
  "@metamask-previews/permission-controller": "12.2.0-preview-0c691324",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-0c691324",
  "@metamask-previews/phishing-controller": "16.1.0-preview-0c691324",
  "@metamask-previews/polling-controller": "16.0.1-preview-0c691324",
  "@metamask-previews/preferences-controller": "22.0.0-preview-0c691324",
  "@metamask-previews/profile-metrics-controller": "2.0.0-preview-0c691324",
  "@metamask-previews/profile-sync-controller": "27.0.0-preview-0c691324",
  "@metamask-previews/ramps-controller": "3.0.0-preview-0c691324",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-0c691324",
  "@metamask-previews/remote-feature-flag-controller": "4.0.0-preview-0c691324",
  "@metamask-previews/sample-controllers": "4.0.1-preview-0c691324",
  "@metamask-previews/seedless-onboarding-controller": "7.1.0-preview-0c691324",
  "@metamask-previews/selected-network-controller": "26.0.1-preview-0c691324",
  "@metamask-previews/shield-controller": "4.1.0-preview-0c691324",
  "@metamask-previews/signature-controller": "38.0.1-preview-0c691324",
  "@metamask-previews/storage-service": "0.0.1-preview-0c691324",
  "@metamask-previews/subscription-controller": "5.4.0-preview-0c691324",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-0c691324",
  "@metamask-previews/transaction-controller": "62.9.1-preview-0c691324",
  "@metamask-previews/transaction-pay-controller": "11.0.1-preview-0c691324",
  "@metamask-previews/user-operation-controller": "41.0.1-preview-0c691324"
}

@salimtb
Copy link
Contributor Author

salimtb commented Jan 14, 2026

@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": "4.0.0-preview-f8cdcfc2",
  "@metamask-previews/accounts-controller": "35.0.1-preview-f8cdcfc2",
  "@metamask-previews/address-book-controller": "7.0.1-preview-f8cdcfc2",
  "@metamask-previews/analytics-controller": "1.0.0-preview-f8cdcfc2",
  "@metamask-previews/announcement-controller": "8.0.0-preview-f8cdcfc2",
  "@metamask-previews/app-metadata-controller": "2.0.0-preview-f8cdcfc2",
  "@metamask-previews/approval-controller": "8.0.0-preview-f8cdcfc2",
  "@metamask-previews/assets-controller": "0.0.0-preview-f8cdcfc2",
  "@metamask-previews/assets-controllers": "95.1.0-preview-f8cdcfc2",
  "@metamask-previews/base-controller": "9.0.0-preview-f8cdcfc2",
  "@metamask-previews/bridge-controller": "64.4.1-preview-f8cdcfc2",
  "@metamask-previews/bridge-status-controller": "64.4.2-preview-f8cdcfc2",
  "@metamask-previews/build-utils": "3.0.4-preview-f8cdcfc2",
  "@metamask-previews/chain-agnostic-permission": "1.4.0-preview-f8cdcfc2",
  "@metamask-previews/claims-controller": "0.4.1-preview-f8cdcfc2",
  "@metamask-previews/composable-controller": "12.0.0-preview-f8cdcfc2",
  "@metamask-previews/controller-utils": "11.18.0-preview-f8cdcfc2",
  "@metamask-previews/core-backend": "5.0.0-preview-f8cdcfc2",
  "@metamask-previews/delegation-controller": "2.0.0-preview-f8cdcfc2",
  "@metamask-previews/earn-controller": "11.0.0-preview-f8cdcfc2",
  "@metamask-previews/eip-5792-middleware": "2.1.0-preview-f8cdcfc2",
  "@metamask-previews/eip-7702-internal-rpc-middleware": "0.1.0-preview-f8cdcfc2",
  "@metamask-previews/eip1193-permission-middleware": "1.0.3-preview-f8cdcfc2",
  "@metamask-previews/ens-controller": "19.0.1-preview-f8cdcfc2",
  "@metamask-previews/error-reporting-service": "3.0.1-preview-f8cdcfc2",
  "@metamask-previews/eth-block-tracker": "15.0.0-preview-f8cdcfc2",
  "@metamask-previews/eth-json-rpc-middleware": "22.0.1-preview-f8cdcfc2",
  "@metamask-previews/eth-json-rpc-provider": "6.0.0-preview-f8cdcfc2",
  "@metamask-previews/foundryup": "1.0.1-preview-f8cdcfc2",
  "@metamask-previews/gas-fee-controller": "26.0.1-preview-f8cdcfc2",
  "@metamask-previews/gator-permissions-controller": "0.8.0-preview-f8cdcfc2",
  "@metamask-previews/json-rpc-engine": "10.2.0-preview-f8cdcfc2",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.8-preview-f8cdcfc2",
  "@metamask-previews/keyring-controller": "25.0.0-preview-f8cdcfc2",
  "@metamask-previews/logging-controller": "7.0.1-preview-f8cdcfc2",
  "@metamask-previews/message-manager": "14.1.0-preview-f8cdcfc2",
  "@metamask-previews/messenger": "0.3.0-preview-f8cdcfc2",
  "@metamask-previews/multichain-account-service": "5.0.0-preview-f8cdcfc2",
  "@metamask-previews/multichain-api-middleware": "1.2.5-preview-f8cdcfc2",
  "@metamask-previews/multichain-network-controller": "3.0.1-preview-f8cdcfc2",
  "@metamask-previews/multichain-transactions-controller": "7.0.0-preview-f8cdcfc2",
  "@metamask-previews/name-controller": "9.0.0-preview-f8cdcfc2",
  "@metamask-previews/network-controller": "28.0.0-preview-f8cdcfc2",
  "@metamask-previews/network-enablement-controller": "4.0.0-preview-f8cdcfc2",
  "@metamask-previews/notification-services-controller": "21.0.0-preview-f8cdcfc2",
  "@metamask-previews/permission-controller": "12.2.0-preview-f8cdcfc2",
  "@metamask-previews/permission-log-controller": "5.0.0-preview-f8cdcfc2",
  "@metamask-previews/phishing-controller": "16.1.0-preview-f8cdcfc2",
  "@metamask-previews/polling-controller": "16.0.1-preview-f8cdcfc2",
  "@metamask-previews/preferences-controller": "22.0.0-preview-f8cdcfc2",
  "@metamask-previews/profile-metrics-controller": "2.0.0-preview-f8cdcfc2",
  "@metamask-previews/profile-sync-controller": "27.0.0-preview-f8cdcfc2",
  "@metamask-previews/ramps-controller": "3.0.0-preview-f8cdcfc2",
  "@metamask-previews/rate-limit-controller": "7.0.0-preview-f8cdcfc2",
  "@metamask-previews/remote-feature-flag-controller": "4.0.0-preview-f8cdcfc2",
  "@metamask-previews/sample-controllers": "4.0.1-preview-f8cdcfc2",
  "@metamask-previews/seedless-onboarding-controller": "7.1.0-preview-f8cdcfc2",
  "@metamask-previews/selected-network-controller": "26.0.1-preview-f8cdcfc2",
  "@metamask-previews/shield-controller": "4.1.0-preview-f8cdcfc2",
  "@metamask-previews/signature-controller": "38.0.1-preview-f8cdcfc2",
  "@metamask-previews/storage-service": "0.0.1-preview-f8cdcfc2",
  "@metamask-previews/subscription-controller": "5.4.0-preview-f8cdcfc2",
  "@metamask-previews/token-search-discovery-controller": "4.0.0-preview-f8cdcfc2",
  "@metamask-previews/transaction-controller": "62.9.1-preview-f8cdcfc2",
  "@metamask-previews/transaction-pay-controller": "11.0.1-preview-f8cdcfc2",
  "@metamask-previews/user-operation-controller": "41.0.1-preview-f8cdcfc2"
}

@salimtb salimtb added this pull request to the merge queue Jan 14, 2026
* @param index - The SLIP-44 coin type index (e.g., 60 for ETH, 0 for BTC)
* @returns The SLIP-44 entry with metadata, or undefined if not found
*/
static getSlip44Entry(index: number): Slip44Entry | undefined {
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a use case for this method at the client? I cannot see it being currently used and the parameter name (index) is a bit confusing.

If there are no plans to use it I'd use remove it until it's needed, but otherwise we can rename index to chainId like in getSlip44ByChainId.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i don't need this method anymore , the one we need is the getSlip44ByChainId, i'll remove it in a separated PR now

Merged via the queue into main with commit 98ebd34 Jan 14, 2026
290 checks passed
@salimtb salimtb deleted the feat/add-slip44-identfiers-for-added-chains branch January 14, 2026 13:58
// Fall back to symbol lookup if provided
if (symbol) {
return this.getSlip44BySymbol(symbol);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

There are quite a few entries with repeated symbols in the imported json. This does not look very safe.

LBTC
LKY
LTO
LUM
MONK
MTR
NXT
ONE
PAC
RYO
SAFE
SAMA
SBC
SCR
SUM
TAO
UC
VAL
VARA
XCH
XEC
XRD

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i'm actually using this only for non evm ( BTC, SOL, Tron ) , they are unique , for evm the provider https://chainid.network/chains.json is used

Copy link
Contributor Author

Choose a reason for hiding this comment

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

so the case of duplicated symbols is handled

Copy link
Contributor Author

Choose a reason for hiding this comment

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

maybe i should remove the fallback here , is this your point ?

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.

6 participants