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 optional
nameLastUpdatedAt
metadata field (#366)
- Bump @metamask/snaps-sdk from 6.1.0 to 6.2.0 (#367)
- Bump @metamask/providers from 17.1.1 to 17.1.2 (#362)
- Bump
@metamask/snaps-sdk
from^6.0.0
to^6.1.0
(#358)
- Migrate to @metamask/superstruct and update required dependencies (#355).
- Bump @metamask/providers from 17.1.0 to 17.1.1 (#354).
- Bump @metamask/key-tree from 9.1.1 to 9.1.2 (#351).
- Bump @metamask/rpc-errors from 6.3.0 to 6.3.1 (#350).
- Bump @metamask/providers from 17.0.0 to 17.1.0 (#348).
- Bump @metamask/snaps-sdk from 4.4.2 to 6.0.0 (#347).
- Bump braces from 3.0.2 to 3.0.3 (#345).
- BREAKING: Revert "feat: allow multiple address per account (#315)" (#342).
- Add
getAccountBalances
toKeyringClient
(#340). - BREAKING: Allow multiple address per account (#315).
- BREAKING: Keep all ETH methods in the same
enum
(#313). - Bump @metamask/snaps-sdk from 4.4.1 to 4.4.2 (#339).
- Bump @metamask/rpc-errors from 6.2.1 to 6.3.0 (#337).
- Bump @metamask/json-rpc-middleware-stream from 7.0.1 to 7.0.2 (#333).
- Bump @metamask/snaps-sdk from 4.4.0 to 4.4.1 (#334).
- Allow stale action to be run manually and fix permissions (#336).
- BREAKING: Keep all ETH methods in the same
enum
(#313). - Add support for
@metamask/providers
v17 (#329).
- BREAKING: Keep all ETH methods in the same
enum
(#313).
- Export
Caip*
types used in the API (#325).
- BREAKING: Keep all ETH methods in the same
enum
(#313). - Bump @metamask/snaps-sdk from 4.2.0 to 4.3.0 (#323).
- Split
api.ts
into different files (#319). - Make the
KeyringAccount
type less rigid (#311).
- Bump @metamask/key-tree from 9.1.0 to 9.1.1 (#310).
- Use internal
object
function instead of the upstream one (#316).
- Add
accountNameSuggestion
field to theAccountCreatedEvent
(#291) - Add
displayConfirmation
field to theAccountCreatedEvent
(#307)
- Fix
isEvmAccountType
accountType type tostring
orInternalAccountType
(#304) - Bump @metamask/snaps-sdk from ^4.0.0 to ^4.2.0 (#305)
- Remove incorrect
SignTransaction
fromEthErc4337Account
(#300) - Bump @metamask/providers from 16.0.0 to 16.1.0 (#298)
- Bump @metamask/snaps-sdk from 4.0.0 to 4.0.1 (#292)
- Split account types (EOA + Erc4337) (#293)
- BREAKING: Add
importTime
property toInternalAccount
metadata (#289) - Bump tar from 6.1.15 to 6.2.1 (#286)
- Bump @metamask/snaps-sdk from 3.2.0 to 4.0.0 (#287)
- Add documentation for
eth_decodeUserOperationCallData
(#254) - Bump @metamask/snaps-sdk from 3.1.1 to 3.2.0 (#284)
- Use @metamask/providers as a peer dependency (#282)
- Bump @metamask/utils from 8.3.0 to 8.4.0 (#280)
- Add stale CI workflow to close issues and PRs (#279)
- BREAKING: Add new
KeyringExecutionContext
to user operation methods (#275) - Fix bundler type (defined as
string
now) (#277) - Bump @metamask/providers from 15.0.0 to 16.0.0 (#276)
- Bump @metamask/safe-event-emitter from 3.1.0 to 3.1.1 (#274)
- Bump @metamask/snaps-sdk to ^3.1.1 (#271)
- Bump @metamask/safe-event-emitter from 3.0.0 to 3.1.0 (#270)
- Fix bundler URL validation (#262)
- Bump @metamask/providers to 15.0.0, @metamask/snaps-sdk to ^3.1.0 and @@metamask/utils to ^8.3.0(#266)
- Bump @metamask/json-rpc-engine from 7.3.2 to 7.3.3 (#264)
- Bump @metamask/snaps-sdk from 3.0.0 to 3.0.1 (#261)
- Bump @metamask/snaps-sdk from 1.4.0 to 3.0.0 (#259)
- Bump @metamask/rpc-errors from 6.1.0 to 6.2.1 (#258)
- BREAKING Update node min version to 18.x (#247)
- Update
eth_patchUserOperation
to return optional gas limit values (#250) - Bump
ip
from 2.0.0 to 2.0.1 (#253) - Bump
@metamask/json-rpc-engine
from 7.3.1 to 7.3.2 (#246) - Bump
@metamask/snaps-sdk
from 1.3.2 to 1.4.0 (#243)
- Bump
@metamask/utils
from 8.2.1 to 8.3.0 (#238) - Bump Snap dependencies (#236)
- Bump
@metamask/snaps-controllers
to ^4.0.0 - Bump
@metamask/snaps-sdk
to ^1.3.2 - Bump
@metamask/snaps-utils
to ^5.1.2
- Bump
- Bump
@metamask/approval-controller
from 5.0.0 to 5.1.1 (#225) - Bump
@metamask/base-controller
from 4.0.0 to 4.0.1 (#226) - Bump
@metamask/json-rpc-engine
from 7.3.0 to 7.3.1 (#227) - Bump
@metamask/auto-changelog
from 3.4.3 to 3.4.4 (#223) - Bump
@metamask/snaps-sdk
from 1.3.0 to 1.3.1 (#222)
- BREAKING: remove
KeyringSnapControllerClient
class to fix dependency problems (#241)
- BREAKING: Add support for ERC-4337 transactions (#213)
- Enum
EthMethods
has been extended witheth_prepareUserOperation
,eth_patchUserOperation
,eth_signUserOperation
- Enum
EthAccountType
has been extended witheip155:erc4337
- Enum
- BREAKING: Update
@metamask/providers
from^13.0.0
to^14.0.1
(#209)- Consolidation on
readable-stream@^3.6.2
. Users should upgrade toextension-port-stream@^3.0.0
andjson-rpc-middleware-stream@^5.0.0
.
- Consolidation on
- Replace deprecated
@metamask/snaps-ui
with@metamask/snaps-sdk
(#204)- Replace
@metamask/snaps-rpc-methods
with@metamask/snaps-sdk
- Update
@metamask/snaps-controllers
and@metamask/snaps-utils
to versions that don't rely on@metamask/snaps-ui
- Replace
- Documentation updates (#185) (#201)
- BREAKING
EthAccountType.Eip4337
has been removed.eip155:eip4337
should be replaced witherc:4337
UuidStruct
is now a named type (#159)- Migrate from
@metamask/rpc-methods
to@metamask/snaps-rpc-methods
(#175)
- Allow the request ID to be a string, number or null (#156)
- Documentation fixes (#160) (#174) (#173) (#172)
- Use
UuidStruct
for IDs in the internal API (#158) - Bump
@metamask/json-rpc-engine
from^7.1.1
to^7.2.0
(#164)
- Document how to migrate from API 0.1.x to 0.2.x (#124).
- BREAKING: Use the
onKeyringRequest
snap export (#145). - BREAKING: Change the events' prefix to
notify:
(#139).
- Export events types (#125)
- Remove unused lavamoat allowed scripts (#122).
- Update events in sequence diagram (#121).
- Update Snap and ESLint dependencies (#117).
- Bump @metamask/rpc-methods from 0.38.1-flask.1 to 2.0.0 (#120).
- Remove
buildHandlersChain
(#114). - Update doc for
eth_signTransaction
(#111). - Remove un-versioned
eth_signTypedData
method (#113).
- Fix linting and compatibility with older
tsc
(#108).
- Add redirection message to snap async response (#102).
- Use
Omit
instead ofOmitUnion
(#106). - Update
KeyringResponse
comment (#103). - Use
KeyringRpcMethod
enum instead of string (#105). - Refactor tests to match superstruct examples (#104).
- Add
exactOptional()
superstruct type (#100). - Bump @metamask/providers from 11.1.2 to 12.0.0 (#99).
- Bump @metamask/providers from 11.1.1 to 11.1.2 (#98).
- Make request
params
optional (#96). - Remove
lastActive
field from internal account model (#95). - Move request ID to outer request (#94).
- Set
snap
object keys to be mandatory and movename
tometadata
(#87).
- Add
InternalAccount
type and create submoduleinternal
(#65). - Add keyring events and helper functions (#74).
- Add a
redirect
field to asynchronous request responses (#75). - Add
exportAccount
method (#60). - Add
getController
to client (#43).
- Rename
erc4337
->eip4337
(#42). - Make
options
a mandatory field ofKeyringAccount
(#30). - Make
approveRequest
andrejectRequest
optional (#63). - Make
exportAccount
,listRequests
andgetRequest
optional (#73). - Export enums with account methods and types (#66).
- Make
approveRequest
accept aresult
argument (#59). - Remove account name from
KeyringAccount
type (#55). - Remove
eth_sendTransaction
method (#50). - Rename
supportedMethods
tomethods
(#35).
- Downgrade snaps dependencies to
0.35.2-flask.1
(#25).
- Update snaps dependencies (#21).
- Validate snap responses for type correctness (#15).
- Rename RPC handling functions (#16).
0.1.0 - 2023-06-20
- Usage examples to
README.md
. - Keyring API definition.
- JSON-RPC snap keyring client. It is intended to be used by a snap's companion dapp to send requests to the snap.
- SnapController keyring client. It is intended to be used by MetaMask to talk to the snap.
- Helper functions to create keyring handler in the snap.