All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Bump
@metamask/keyring-apifrom^23.0.1to^23.1.0(#538) - Bump
@metamask/keyring-sdkfrom^2.0.1to^2.0.2(#538)
- Bump
@metamask/account-apifrom^1.0.2to^1.0.3(#518) - Bump
@metamask/keyring-apifrom^23.0.0to^23.0.1(#518) - Bump
@metamask/keyring-sdkfrom^2.0.0to^2.0.1(#518)
- Workaround Browserify subpath export for
/v2(#516)
- Add
./v2subpath export for keyring v2 implementation (#513)TrezorKeyring,TrezorKeyringOptions,OneKeyKeyring, andOneKeyKeyringOptionsare now available from@metamask/eth-trezor-keyring/v2.
- BREAKING: Move and rename
TrezorKeyringV2andOneKeyKeyringV2to the new./v2subpath export (#513)TrezorKeyringV2is nowTrezorKeyringfrom@metamask/eth-trezor-keyring/v2.OneKeyKeyringV2is nowOneKeyKeyringfrom@metamask/eth-trezor-keyring/v2.
- Bump
@metamask/utilsfrom^11.10.0to^11.11.0(#483) - Bump
@metamask/account-apifrom^1.0.1to^1.0.2(#515) - Bump
@metamask/keyring-apifrom^22.0.0to^23.0.0(#515) - Bump
@metamask/keyring-sdkfrom^1.2.0to^2.0.0(#515)
- Add new dependency
@metamask/keyring-sdk@1.2.0(#478), (#482), (#496), (#509)- This package now contains the keyring v2 wrapper helpers (
EthKeyringWrapper). - The account ID (generated by
KeyringAccountRegistry) are now deterministic for EVM addresses.
- This package now contains the keyring v2 wrapper helpers (
- Bump
@metamask/hw-wallet-sdkfrom^0.6.0to^0.8.0(#482), (#497) - Bump
@metamask/keyring-apifrom^21.6.0to^22.0.0(#482) - Bump
@metamask/account-apifrom^1.0.0to^1.0.1(#487) - Bump
@metamask/utilsfrom^11.1.0to^11.10.0(#489)
- Add
TrezorKeyringV2andOneKeyKeyringV2classes implementingKeyringV2interface (#412), (#451), (#453)- Wraps legacy
TrezorKeyringandOneKeyKeyringto expose accounts via the unifiedKeyringV2API and theKeyringAccounttype. - Extends
EthKeyringWrapperfor common Ethereum logic.
- Wraps legacy
- Add
createTrezorErrorandgetTrezorErrorIdentifiererror helpers (#471)
- Integrate
@metamask/hw-wallet-sdkfor standardized Trezor error handling (#471)- Replace custom transport and user-action error handling with typed
HardwareWalletErrorinstances. - Move Trezor error mappings and utilities to
@metamask/hw-wallet-sdkfor reuse across packages.
- Replace custom transport and user-action error handling with typed
- Bump
@trezor/connect-webto^9.6.0(#241), (#300)- Require to enable new 7702 signing flows.
- BREAKING: The method signature for
signTypedDatahas been changed (#224)- The
optionsargument type has been changed to{ version: SignTypedDataVersion.V3 | SignTypedDataVersion.V4 } | undefined. - The
options.versionargument type has been restricted to acceptSignTypedDataVersion.V3 | SignTypedDataVersion.V4(#224)
- The
- BREAKING: The method
signTransactioncan now returns various type of transactions (#209)- Initially was supporting:
Transaction | AccessListEIP2930Transaction | FeeMarketEIP1559Transaction(types from@ethereumjs/tx). - Now also supports
BlobEIP4844Transaction | EOACodeEIP7702Transaction(types from@ethereumjs/tx).
- Initially was supporting:
- BREAKING: Bump
@ethereumjs/txfrom^4.2.0to^5.4.0(#209) - BREAKING: Bump
@ethereumjs/utilfrom^8.1.0to^9.1.0(#209)
- BREAKING:
TrezorKeyringnow implements theKeyringtype (#194)- The class does not extend
EventEmitteranymore. - The
TrezorKeyring.accountsclass variable is now areadonly Hex[]array. - The
addAccountsmethod signature has been changed:- An
amountnumber parameter is now required to specify the number of accounts to add. - The method now returns a promise resolving to an array of
Hexaddresses.
- An
- The
deserializemethod now requires aTrezorControllerOptionsobject as a parameter. - The
unlockmethod now returnsPromise<Hex>. - The
getAccountsmethod now returnsPromise<Hex[]>. - The
signTransactionmethod now accepts anHextyped value as theaddressparameter. - The
signMessagemethod now accepts anHextyped value as thewithAccountparameter. - The
signPersonalMessagemethod now accepts anHextyped value as thewithAccountparameter. - The
signTypedDatamethod now accepts anHextyped value as thewithAccountparameter. - The
unlockAccountByAddressmethod now accepts anHextyped value as theaddressparameter.
- The class does not extend
- BREAKING: The
exportAccountmethod has been removed (#194)
- Use
ts-bridge/cli@0.6.3(#214)- This new version fixes a bug regarding some missing exports.
- Add new dedicated
OneKeyKeyringkeyring (#175)- This keyring is similar to the
TrezorKeyringbut will allow to distinguish both types of devices, the transport layer (bridge) remains the same.
- This keyring is similar to the
- Use
ts-bridge/cli@0.6.1(#118)- This new version fixes a bug with CJS re-exports.
- BREAKING: Add ESM build (#40)
- It's no longer possible to import files from
./distdirectly.
- It's no longer possible to import files from
- BREAKING: Bump
@metamask/eth-sig-utildependency from^7.0.3to^8.0.0(#79)signTypedDatano longer supportnumberfor addresses, see here.
- BREAKING:
addAccountswill now only return newly created accounts (#64)- This keyring was initially returning every accounts (previous and new ones), which is different from what is expected in the [
Keyringinterface].(https://github.com/MetaMask/utils/blob/v9.2.1/src/keyring.ts#L65)
- This keyring was initially returning every accounts (previous and new ones), which is different from what is expected in the [
- Bump
@metamask/*and@lavamoat/*dependencies (#46) - Move
deepmergeandjest-environment-jsdomtodevDependencies(#44)
- Convert to monorepo
- Package name does not change (
@metamask/eth-trezor-keyring) and sources have been moved to:packages/keyring-eth-trezor. - You can find all the changes here.
- Package name does not change (
- Bump
@trezor/connect-webfrom^9.0.6to^9.1.11(#195)
- Bump
@metamask/eth-sig-utilfrom^7.0.0to^7.0.1(#195) - Bump
@trezor/connect-plugin-ethereumfrom^9.0.1to^9.0.3(#195) - Should help fixing MM pop-up closing issue (#10896)
- BREAKING: Remove support for major node versions 14,15,17,19. Minimum Node.js version is now 16. (#188)
- Bump
@metamask/eth-sig-utilfrom^5.0.2to^7.0.0(#189) - Bump dependency
hdkeyfrom0.8.0to^2.1.0(#190)
- Add
destroymethod toTrezorKeyring, which replacesdispose(#179)
- BREAKING: Separate the bridge from the keyring (#143)
- The Trezor bridge is now a separate class (
TrezorConnectBridge), which must be constructed separately from the keyring and passed in as a constructor argument. - The bridge initialization has been moved from the keyring constructor to the keyring
initmethod. The bridge is expected to be passed to the keyring uninitialized, and the keyringinitmethod is expected to be called after keyring construction (before the keyring is used). - The keyring constructor no longer accepts keyring state. Instead, any pre-existing keyring state should be passed to the
deserializemethod after construction.
- The Trezor bridge is now a separate class (
- BREAKING: Remove
disposemethod fromTrezorKeyring, which is replaced bydestroy(#179)
- Add legacy derivation path, allowing generation of accounts with the
m/44'/60'/0path (#175)
- Migrate to TypeScript (#161)
- BREAKING: Rename package to use
@metamaskscope (#160) - BREAKING: Removed support for Node v12 in favor of v14 (#135)
- Update
@ethereumjs/util,@ethereumjs/tx,@metamask/eth-sig-utilto latest versions (#146) - Bump trezor-connect - now @trezor/connect-plugin-ethereum & @trezor/connect-web - to v9 (#133), (#163)
- Support for EIP-721 signTypedData_v4 (#117)
- Update trezor connect to 8.2.3, so that 1.10.4 of the Model One firmware is supported (#115)
- Add dispose method, which exposes the TrezorConnect.dispose method, allowing consumers to explictly remove the Trezor Connect iframe (#113)
- Fixed the signing of contract creation transactions, which require a nullish (empty string or undefined)
toparameter (#112)
- Support for EIP-1559 transactions for the Model T (#108)
- Add setHdPath method, which allows setting the HD path used by the keyring to known, supported HD paths (#107)
- Support new versions of ethereumjs/tx (#88)