core
core copied to clipboard
feat(keyring-controller): allow non-evm addresses for non-evm methods/functions
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
@metamaskbot publish-preview
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"
}