core icon indicating copy to clipboard operation
core copied to clipboard

feat(keyring-controller): allow non-evm addresses for non-evm methods/functions

Open ccharly opened this issue 9 months ago • 2 comments

Explanation

This allows support of non-EVM addresses for most keyring methods.

Right now, our addresses are just plain string, meaning we have not easy way to detect if an address is an ethereum one or not. So we use runtime check to verify this, and based on this we adapt some logic (mostly the address normalization right now).

Also, some Hex were being dropped in favor of string type to make addresses a bit more "generic".

References

Changelog

@metamask/keyring-controller

  • ADDED: Basic support for non-EVM addresses

Checklist

  • [x] I've updated the test suite for new or updated code as appropriate
  • [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate

ccharly avatar May 16 '24 10:05 ccharly

@metamaskbot publish-preview

ccharly avatar May 16 '24 13:05 ccharly

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

Expand for full list of packages and versions.
{
  "@metamask-previews/accounts-controller": "14.0.0-preview-eb2b1875",
  "@metamask-previews/address-book-controller": "4.0.1-preview-eb2b1875",
  "@metamask-previews/announcement-controller": "6.1.0-preview-eb2b1875",
  "@metamask-previews/approval-controller": "6.0.2-preview-eb2b1875",
  "@metamask-previews/assets-controllers": "29.0.0-preview-eb2b1875",
  "@metamask-previews/base-controller": "5.0.2-preview-eb2b1875",
  "@metamask-previews/build-utils": "2.0.1-preview-eb2b1875",
  "@metamask-previews/composable-controller": "6.0.1-preview-eb2b1875",
  "@metamask-previews/controller-utils": "9.1.0-preview-eb2b1875",
  "@metamask-previews/ens-controller": "10.0.1-preview-eb2b1875",
  "@metamask-previews/eth-json-rpc-provider": "3.0.2-preview-eb2b1875",
  "@metamask-previews/gas-fee-controller": "15.1.2-preview-eb2b1875",
  "@metamask-previews/json-rpc-engine": "8.0.2-preview-eb2b1875",
  "@metamask-previews/json-rpc-middleware-stream": "7.0.1-preview-eb2b1875",
  "@metamask-previews/keyring-controller": "16.0.0-preview-eb2b1875",
  "@metamask-previews/logging-controller": "3.0.1-preview-eb2b1875",
  "@metamask-previews/message-manager": "8.0.2-preview-eb2b1875",
  "@metamask-previews/name-controller": "6.0.1-preview-eb2b1875",
  "@metamask-previews/network-controller": "18.1.0-preview-eb2b1875",
  "@metamask-previews/notification-controller": "5.0.1-preview-eb2b1875",
  "@metamask-previews/permission-controller": "9.0.2-preview-eb2b1875",
  "@metamask-previews/permission-log-controller": "2.0.1-preview-eb2b1875",
  "@metamask-previews/phishing-controller": "9.0.2-preview-eb2b1875",
  "@metamask-previews/polling-controller": "6.0.2-preview-eb2b1875",
  "@metamask-previews/preferences-controller": "11.0.0-preview-eb2b1875",
  "@metamask-previews/profile-sync-controller": "0.0.0-preview-eb2b1875",
  "@metamask-previews/queued-request-controller": "0.10.0-preview-eb2b1875",
  "@metamask-previews/rate-limit-controller": "5.0.1-preview-eb2b1875",
  "@metamask-previews/selected-network-controller": "13.0.0-preview-eb2b1875",
  "@metamask-previews/signature-controller": "16.0.0-preview-eb2b1875",
  "@metamask-previews/transaction-controller": "29.0.0-preview-eb2b1875",
  "@metamask-previews/user-operation-controller": "10.0.0-preview-eb2b1875"
}

github-actions[bot] avatar May 16 '24 13:05 github-actions[bot]