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.
- Add
SimpleKeyringV2class implementingKeyringV2interface (#409), (#410), (#413)- Wraps legacy
SimpleKeyringto expose accounts via the unifiedKeyringV2API and theKeyringAccounttype. - Extends
EthKeyringWrapperfor common Ethereum logic.
- Wraps legacy
- BREAKING: The method signature for
signTypedDatahas been changed (#224)- The method now accepts a
TypedDataV1object whenSignTypedDataVersion.V1is passed in the options, andTypedMessage<Types>when other versions are requested. - The
optionsargument type has been changed to{ version: SignTypedDataVersion } | undefined.
- The method now accepts a
- 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: The
SimpleKeyringclass now implementsKeyringfrom@metamask/keyring-utils(#217)- The
deserializemethod now requires astring[]argument.
- The
- Use
ts-bridge/cli@0.6.3(#214)- This new version fixes a bug regarding some missing exports.
- Add
signEip7702Authorizationmethod (#182)
- Bump
@metamask/eth-sig-utildependency from^8.0.0to8.2.0(#177), (#134) - Bump
@metamask/utilsdependency from^9.3.1to11.1.0(#134), (#167)
- 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.
- Use TypeScript 5 (#55)
- Convert to monorepo
- Package name does not change (
@metamask/eth-simple-keyring) and sources have been moved to:packages/keyring-eth-simple. - You can find all the changes here.
- Package name does not change (
- Bump
@metamask/utilsfrom^8.1.0to^9.0.0(#177)
- Treat
undefinedandnullas empty array in deserialize function (#163)
- BREAKING: Increase minimum Node.js version to 16 (#152)
- BREAKING: Bump @metamask/eth-sig-util from ^6.0.1 to ^7.0.0 (#156)
- Bump @metamask/utils from ^5.0.0 to ^8.1.0 (#153)
- Bump ethereum-cryptography from ^1.2.0 to ^2.1.2 (#153)
- Treat
undefinedandnullas empty array in deserialize function (#166)
- Add
validateMessageoption tosignMessageto configure if runtime-validation should be done that input string is hex (default:true) (#148)
- BREAKING: Makes version-specific
signTypedDatamethods private (#84)- Consumers should use the generic
signTypedDatamethod and pass the version they'd like as a property in the options argument.
- Consumers should use the generic
- BREAKING: Makes the
walletsproperty private (#87)- Consumers should not use this property as it is intended for internal use only.
- BREAKING: Makes
getPrivateKeyFora private method (#83)- Consumers who wish to get the private key for a given account should use the
exportAccountmethod.
- Consumers who wish to get the private key for a given account should use the
- BREAKING: Set the minimum Node.js version to 14 (#68) (#109)
- Always return rejected Promise upon failure (#85)
- BREAKING: Remove redundant
newGethSignMessagemethod (#72)- Consumers can use
signPersonalMessagemethod as a replacement fornewGethSignMessage.
- Consumers can use