Releases: MetaMask/accounts
Releases · MetaMask/accounts
Release list
118.0.0
@metamask/account-api 1.1.0
Added
- Add
PrivateKeyAccount<Account>type helper (#590)
Changed
- Bump
@metamask/keyring-utilsfrom^3.2.0to^3.3.1(#544, #546) - Bump
@metamask/keyring-apifrom^23.1.0to^23.5.0(#562, #569, #583, #587)
@metamask/eth-snap-keyring 23.0.1
Fixed
- Fix deadlock in
SnapKeyring.createAccounts(v2) (#591)- We do not need to call
saveStatehere, we expect this call to be wrapped in a:withKeyringV2transaction call.
- We do not need to call
117.0.0
@metamask/hw-wallet-sdk 0.10.0
Added
- Add
KEYRING_ERROR_MAPPINGSwithDeviceStateOnlyV4Supportedfor keyring-level typed data version validation (#575)
Fixed
- Add shared user-rejection detection helpers so hardware wallet libraries can classify cancellation-like errors consistently (#576)
- Provider-style
4001codes are distinguished from this SDK'sConnectionClosederror code.
- Provider-style
@metamask/keyring-api 23.5.0
Added
- Add
resolveAccountAddresstoKeyringSnapRpc(v2) (#585)- Add
snap.resolveAccountAddressboolean flag toKeyringCapabilitiesto declare support for this method.
- Add
Changed
- Bump
@metamask/superstructfrom^3.1.0to^3.3.0(#580)
@metamask/eth-ledger-bridge-keyring 12.3.0
Changed
- Throw
HardwareWalletErrorwithDeviceStateOnlyV4SupportedwhensignTypedDatais called with a non-V4 version (#575) - Bump
@metamask/hw-wallet-sdkfrom^0.8.0to^0.10.0(#576, #587) - Bump
@metamask/keyring-apifrom^23.3.0to^23.5.0(#583, #587)
@metamask/eth-trezor-keyring 10.1.1
Changed
- Bump
@metamask/keyring-apifrom^23.1.0to^23.5.0(#562, #569, #583, #587) - Bump
@metamask/keyring-sdkfrom^2.1.1to^2.2.0(#562) - Bump
@metamask/hw-wallet-sdkfrom^0.8.0to^0.10.0(#576, #587)
Fixed
- Surface Trezor user cancellation and rejection errors as
UserCancelled/UserRejectedinstead ofErrorCode.Unknown, fixing uninformative "Unknown error" messages when users reject signing (#576)- Complements MetaMask/core#8490 and fixes metamask-extension#41184.
@metamask/keyring-internal-snap-client 10.0.5
Changed
- Bump
@metamask/keyring-apifrom^23.4.0to^23.5.0(#587) - Bump
@metamask/keyring-snap-clientfrom^9.1.0to^9.2.0(#587)
@metamask/eth-snap-keyring 23.0.0
Changed
- BREAKING:
SnapKeyring(v2) no longer inheritsSnapKeyringV1(#584)- Use
.v1getter to access a v1 instance instead. .v1will yieldundefinedif the Snap declares v2capabilitiesin itsendowment:keyring.
- Use
- Bump
@metamask/superstructfrom^3.1.0to^3.3.0(#580) - Bump
@metamask/keyring-internal-snap-clientfrom^10.0.4to^10.0.5(#587) - Bump
@metamask/keyring-snap-sdkfrom^9.1.0to^9.2.0(#587)
@metamask/keyring-snap-client 9.2.0
Added
- Add
resolveAccountAddressto v2KeyringClient(#585)
Changed
- Bump
@metamask/superstructfrom^3.1.0to^3.3.0(#580) - Bump
@metamask/keyring-apifrom^23.4.0to^23.5.0(#587)
@metamask/keyring-snap-sdk 9.2.0
Added
- Add
keyring_resolveAccountAddressdispatch to v2handleKeyringRequest(#585)
Changed
- Bump
@metamask/superstructfrom^3.1.0to^3.3.0(#580)
116.0.0
@metamask/keyring-api 23.4.0
Added
- Add
KeyringRpcandKeyringSnapRpcRPC interfaces to v1 (#582)KeyringRpccovers the standard account-management and request-handling methods.KeyringSnapRpcextendsKeyringRpcwith optional snap-specific methods:listAccountAssets,listAccountTransactions,getAccountBalances, andsetSelectedAccounts.
- Add
KeyringSnapRpc,KeyringSnapRpcMethod,isKeyringSnapRpcMethod, and related request/response structs to keyring v2 (./v2) (#582)KeyringSnapRpcextendsKeyringRpc(v2) with four optional snap-specific methods:setSelectedAccounts,getAccountTransactions,getAccountAssets, andgetAccountBalances.KeyringSnapRpcMethodspreads all baseKeyringRpcMethodvalues and adds the four snap-specific method names.
- Add optional
snapcapability field toKeyringCapabilities(v2) (#582)- Flags:
snap.assets.metadata(keyring_getAccountAssets),snap.assets.balances(keyring_getAccountBalances),snap.transactions(keyring_getAccountTransactions),snap.selectedAccounts(keyring_setSelectedAccounts).
- Flags:
@metamask/keyring-internal-snap-client 10.0.4
Changed
- Bump
@metamask/keyring-utilsfrom^3.2.0to^3.3.1(#544, #546) - Bump
@metamask/keyring-apifrom^23.1.0to^23.4.0(#562, #569, #583) - Bump
@metamask/keyring-snap-clientfrom^9.0.2to^9.1.0(#583)
@metamask/eth-snap-keyring 22.4.0
Added
- Populate v2
SnapKeyringcapabilitiesfrom the Snap manifest (endowment:keyring) ondeserialize(#581) - Guard v2
SnapKeyringoperations untildeserializehas run (throws "SnapKeyring has not been initialized") (#581)
Changed
- Bump
@metamask/snaps-utilsfrom^12.1.3to^12.2.1(#581) - Bump
@metamask/keyring-internal-snap-clientfrom^10.0.3to^10.0.4(#583) - Bump
@metamask/keyring-snap-sdkfrom^9.0.2to^9.1.0(#583)
@metamask/keyring-snap-client 9.1.0
Added
- Implements
KeyringSnapRpc(v2) inKeyringClient(v2) (#582)- Exposes all core v2 keyring methods plus optional snap-specific ones:
setSelectedAccounts,getAccountTransactions,getAccountAssets, andgetAccountBalances.
- Exposes all core v2 keyring methods plus optional snap-specific ones:
Changed
- Bump
@metamask/keyring-utilsfrom^3.2.0to^3.3.1(#544, #546) - Bump
@metamask/keyring-apifrom^23.1.0to^23.4.0(#562, #569, #583)
@metamask/keyring-snap-sdk 9.1.0
Added
- Supports new
KeyringSnapRpc(v2) inhandleKeyringRequest(v2) (#582)- Handles the four snap-specific methods (
keyring_setSelectedAccounts,keyring_getAccountTransactions,keyring_getAccountAssets,keyring_getAccountBalances) in addition to all core v2 methods. - Includes backwards-compatible dispatch for the deprecated v1 method names
keyring_listAccountTransactionsandkeyring_listAccountAssets, forwarding them togetAccountTransactionsandgetAccountAssetsrespectively.
- Handles the four snap-specific methods (
Changed
- Update v1
handleKeyringRequestto acceptKeyringSnapRpcinstead ofKeyring(#582)
115.0.0
@metamask/eth-ledger-bridge-keyring 12.2.0
Added
- Add
LedgerDmkBridgeandLedgerDmkTransportMiddlewarefor Ledger Device Management Kit (DMK) support (#473)- New
LedgerDmkBridgeclass implementing theLedgerBridgeinterface via Ledger's DMK. - New
LedgerDmkTransportMiddlewaremanaging sessions, device discovery, and Ethereum signer lifecycle. - DMK error translation utilities (
translateDmkError,isDeviceExchangeError) mapping toTransportStatusError. - Custom
EthGetAppConfigurationCommandfor retrieving Ethereum app config via DMK. - Session state monitoring with
onSessionStateChangeobservable andisDeviceConnectedgetter. - Add EIP-7702 authorization signing to the Ledger keyring (#564)
- Not yet functional: both iframe and mobile bridges throw until DMK support lands.
- Fixes hex
vparsing ('1b') for personal_sign and typed data.
- New
Changed
114.0.0
113.0.0
112.0.0
@metamask/keyring-api 23.2.0
Added
Changed
@metamask/keyring-sdk 2.2.0
Added
- Add
EthKeyringV1Adapterand typed errors for adapting v2 ETH keyrings to legacy ETH keyring signing flows (#555)
Changed
- Bump
@metamask/keyring-apifrom^23.1.0to^23.2.0(#562)
@metamask/eth-snap-keyring 22.2.0
Added
- Add
SnapKeyringV1Adapterto adapt Snap v2 keyrings to legacy v1 keyring operations (#557)- This adapter mostly exposes EVM signing operations through
EthKeyringV1Adapter. - This adapter also implements
removeAccountthe way it was implemented by the legacy Snap keyring (compatible with theKeyringControlleraccount removal flow).
- This adapter mostly exposes EVM signing operations through
Changed
- Normalize
KeyringAccount's address with:accountCreatedandsetAccounts(#556) - Bump
@metamask/keyring-sdkfrom^2.1.1to^2.2.0(#562) - Bump
@metamask/keyring-snap-sdkfrom^9.0.1to^9.0.2(#562)
@metamask/keyring-snap-sdk 9.0.2
Changed
Fixed
- Use
KeyringRpcinstead ofKeyring(v2) inhandleKeyringRequest(#561)- Snaps do not need to implement the full
Keyring(v2) interface, this one is meant to be used in the "client-world". KeyringRpcis a subset ofKeyringwhich only exposes the method that can be used throughonKeyringRequest(keyring_*requests).
- Snaps do not need to implement the full
111.0.0
110.0.0
@metamask/eth-ledger-bridge-keyring 12.1.0
Added
- Expose device-management pass-throughs on the V2
LedgerKeyringwrapper:hdPath(getter),bridge(getter),getDeviceId,setDeviceId,setHdPath,getFirstPage,getNextPage,getPreviousPage,forgetDevice,isUnlocked,attemptMakeApp,getAppNameAndVersion.forgetDeviceadditionally clears the V2 account registry to keep it in sync with the inner keyring. (#551)
@metamask/eth-qr-keyring 2.1.0
Added
- Expose device-management pass-throughs on the V2
QrKeyringwrapper:getName,getMode,getFirstPage,getNextPage,getPreviousPage,forgetDevice.forgetDeviceadditionally clears the V2 account registry to keep it in sync with the inner keyring. (#551)
Changed
- Bump
@metamask/keyring-sdkfrom^2.0.2to^2.1.1(#544, #546) - Bump
@metamask/keyring-utilsfrom^3.2.0to^3.3.1(#544, #546)
@metamask/eth-trezor-keyring 10.1.0
Added
- Expose device-management pass-throughs on the V2
TrezorKeyringwrapper (inherited by the V2OneKeyKeyring):getModel,hdPath(getter),bridge(getter),setHdPath,getFirstPage,getNextPage,getPreviousPage,forgetDevice,isUnlocked.forgetDeviceadditionally clears the V2 account registry to keep it in sync with the inner keyring. (#551)