Releases: MetaMask/accounts
Releases · MetaMask/accounts
89.0.0
88.0.0
@metamask/hw-wallet-sdk 0.5.0
Added
- Add error mapping for status code
0x6a83indicating Ethereum app closed while on Solana (#446)
Fixed
- Fix error mappings for status codes
0x650fand0x6d00to map toDeviceStateEthAppClosedinstead of incorrect error codes (#466)0x650f: changed fromConnectionClosedtoDeviceStateEthAppClosed.0x6d00: changed fromDeviceStateOnlyV4SupportedtoDeviceStateEthAppClosed.
@metamask/keyring-api 21.5.0
Added
- Add
EthAddressStrictStructstruct andEthAddressStricttypes (#465)- This is a stricter variant of
EthAddressStructwhich usesHexinstead ofstringfor its inferred type.
- This is a stricter variant of
- Add
assertCreateAccountOptionIsSupportedhelper (#464)- This helper can be used to implement
createAccountsand narrow down theoptionsto the supported types (based on the keyring capabilities).
- This helper can be used to implement
Changed
- Re-use
stringfor ERC4337 address-like fields (#465)- This change reverts that and keeps using
stringfor all address-like types. - Changes in #405 updated the associated type for
EthAddressStructfromstringtoHex, this was actually a small breaking change that went unnoticed and that would require some effort to adapt in upstream clients/controllers, for this reason, we are undoing this change for now. - Version [21.4.0] is marked as DEPRECATED, consumers are expected to use version [21.5.0] instead, that reverts this breaking change.
- This change reverts that and keeps using
87.0.0
@metamask/account-api 1.0.0
Changed
86.0.0
@metamask/hw-wallet-sdk 0.4.0
Added
- Add
ErrorMappingtype (#446)
@metamask/keyring-api 21.4.0
Added
- Add
Keyring.createAccountsoptional method (#448)- This method is part of the keyring v2 specification and set as optional for backwards compatibility.
- This method can be used to create one or more accounts using the new keyring v2 account creation typed options.
- Add RPC support for this method through
KeyringRpcMethod.CreateAccounts.
- Add support for account derivations using range of indices in
KeyringV2(#451)- Add
bip44:derive-index-rangecapability toKeyringCapabilities. - Add
AccountCreationType.Bip44DeriveIndexRangeandCreateAccountBip44DeriveIndexRangeOptions.
- Add
- Add support for custom capabilities and entropy types in
KeyringV2(#415)- Add
customcapability toKeyringCapabilitiesfor keyrings with non-standardcreateAccountsmethod. - Add
KeyringAccountEntropyTypeOption.Customfor custom/opaque entropy sources. - Add
AccountCreationType.CustomandCreateAccountCustomOptionsfor custom account creation flows.
- Add
- Add
EthKeyringWrapperabstract class for Ethereum-basedKeyringV2implementations (#404)- Provides common Ethereum signing method routing (
submitRequest) for all Ethereum-based keyrings.
- Provides common Ethereum signing method routing (
- Add
KeyringWrapperbase class to adapt legacy keyrings toKeyringV2(#398),(#402), (#409), (#410)
Changed
- Make BIP-44 capabilities optional in
KeyringCapabilities(#453)- The
derivePath,deriveIndex,deriveIndexRange, anddiscovercapabilities are now optional. - A capability set to
trueindicates support, whilefalseorundefinedindicates no support. - Keyrings no longer need to explicitly set unsupported capabilities to
false.
- The
- Change
KeyringWrapper.capabilitiesfrom a readonly property to a getter (#447)- Allows subclasses to override and return capabilities dynamically based on runtime state.
- Refine
EthAddressStructin order to make it compatible with theHextype from@metamask/utils(#405)
@metamask/eth-ledger-bridge-keyring 11.3.0
Changed
- Integrate
@metamask/hw-wallet-sdkfor standardized hardware wallet error handling (#446)- Replace custom error handling with
HardwareWalletErrorfrom the SDK. - Use
LEDGER_ERROR_MAPPINGSfrom the SDK for consistent error code mapping. - Re-export
HardwareWalletError,ErrorCode,Severity,Category, and error mappings for consumer convenience. - Deprecate
LedgerStatusErrorin favor ofHardwareWalletError. - Prefix Ledger transport error messages for compatibility.
- Replace custom error handling with
@metamask/keyring-internal-api 10.0.0
Changed
- BREAKING: Rename
KeyringRequestV1type toKeyringRequestWithoutOrigin(#423) - BREAKING: Rename
toKeyringRequestV1method totoKeyringRequestWithoutOrigin(#423) - Bump
@metamask/keyring-apifrom^21.2.0to^21.4.0(#460)
Removed
- BREAKING: Remove
KeyringVersionsupport (#423)
@metamask/keyring-internal-snap-client 9.0.0
Changed
- BREAKING: Bump
@metamask/keyring-internal-apifrom^9.1.2to^10.0.0(#460) - Bump
@metamask/keyring-apifrom^21.2.0to^21.4.0(#460) - Bump
@metamask/snaps-controllersfrom^14.0.1to^18.0.0(#422), (#424), (#461) - Bump
@metamask/snaps-sdkfrom^9.0.0to^10.4.0(#422), (#461) - Bump
@metamask/snaps-utilsfrom^11.0.0to^12.1.0(#422), (#461)
Removed
- BREAKING: Rename
submitRequestV1method tosubmitRequestWithoutOrigin(#423)
@metamask/eth-snap-keyring 19.0.0
Added
- Add
SnapKeyring.createAccountsmethod (#448)- This method can be used to create one or more accounts using the new keyring v2 account creation typed options.
- Generic accounts will be filtered out if they are not allowed by the keyring configuration.
Changed
- BREAKING: Bump
@metamask/keyring-internal-apifrom^9.1.2to^10.0.0(#460) - BREAKING: Bump
@metamask/keyring-internal-snap-clientfrom^8.0.2to^9.0.0(#460) - Bump
@metamask/keyring-apifrom^21.2.0to^21.4.0(#460) - Bump
@metamask/snaps-controllersfrom^14.0.1to^18.0.0(#422), (#461) - Bump
@metamask/snaps-sdkfrom^9.0.0to^10.4.0(#422), (#461) - Bump
@metamask/snaps-utilsfrom^11.0.0to^12.1.0(#422), (#424), (#461)
Removed
- BREAKING: Remove
KeyringVersionsupport (#423)- Both
getKeyringVersionFromPlatform,PLATFORM_VERSION_TO_KEYRING_VERSIONgot removed too.
- Both
- BREAKING: Rename
submitRequestV1method tosubmitRequestWithoutOrigin(#423)
@metamask/keyring-snap-client 8.2.0
Added
- Add
KeyringClient.createAccountsmethod (#448)- This method can be used to create one or more accounts using the new keyring v2 account creation typed options.
Changed
- Bump
@metamask/keyring-apifrom^21.2.0to^21.4.0(#460)
@metamask/keyring-snap-sdk 7.2.0
Added
- Add
keyring_createAccountsmethod to RPC dispatcher (#448)- This method SHOULD NOT use
notify:accountCreated. - Accounts returned by this method are will be automatically added to the internal keyring state.
- This method SHOULD NOT use
Changed
- Bump
@metamask/keyring-apifrom^21.2.0to^21.4.0(#460) - Bump
@metamask/snaps-sdkfrom^9.0.0to^10.4.0(#422, #461)
@metamask/keyring-utils 3.2.0
Added
- Add
EthKeyringalias export for the legacyKeyringtype (#404)
85.0.0
@metamask/hw-wallet-sdk 0.3.0
Added
- Add hardware wallet connection types and improved error handling (#456)
- Add
HardwareWalletType,ConnectionStatus,DeviceEventenums andHardwareWalletConnectionState,DeviceEventPayloadtypes. - Add Ledger error mappings for device locked and Ethereum app closed states.
- Add
isHardwareWalletErrorstatic method toHardwareWalletErrorclass for type-safe error checking.
- Add
84.0.0
@metamask/eth-hd-keyring 13.1.0
Added
- Add
HdKeyringV2class implementingKeyringV2interface (#398), (#402), (#404), (#410), (#413), (#451), (#453)- Wraps legacy
HdKeyringto expose accounts via the unifiedKeyringV2API and theKeyringAccounttype. - Extends
EthKeyringWrapperfor common Ethereum logic.
- Wraps legacy
Fixed
- Enforce mnemonics validation (#450)
- Validates mnemonics against BIP39 specification (word count, wordlist, checksum) before use.
- Throws for invalid mnemonics.
@metamask/eth-ledger-bridge-keyring 11.2.0
Added
- Add
LedgerKeyringV2class implementingKeyringV2interface (#416), (#451), (#453)- Wraps legacy
LedgerKeyringto expose accounts via the unifiedKeyringV2API and theKeyringAccounttype. - Extends
EthKeyringWrapperfor common Ethereum logic.
- Wraps legacy
Fixed
- Normalize signature
vvalue from Ledger devices for proper recovery (#449)