Skip to content
This repository has been archived by the owner on Oct 7, 2024. It is now read-only.

Latest commit

 

History

History
428 lines (281 loc) · 19.7 KB

CHANGELOG.md

File metadata and controls

428 lines (281 loc) · 19.7 KB

Changelog

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.

Added

  • Add optional nameLastUpdatedAt metadata field (#366)

Changed

  • 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)

Changed

  • Bump @metamask/snaps-sdk from ^6.0.0 to ^6.1.0 (#358)

Changed

  • 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).

Changed

  • BREAKING: Revert "feat: allow multiple address per account (#315)" (#342).

Added

  • Add getAccountBalances to KeyringClient (#340).
  • BREAKING: Allow multiple address per account (#315).

Changed

  • 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).

Fixed

  • Allow stale action to be run manually and fix permissions (#336).

Changed

  • BREAKING: Keep all ETH methods in the same enum (#313).
  • Add support for @metamask/providers v17 (#329).

Changed

  • BREAKING: Keep all ETH methods in the same enum (#313).

Fixed

  • Export Caip* types used in the API (#325).

Added

  • Add getAccountBalances method to Keyring interface (#320).
  • Add CAIP-19 types to utils (#321).

Changed

  • 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).

Fixed

  • Ensure that errors are JSON-serializable (#162).
  • Don't use internal types in the public API (#312).

Changed

  • Bump @metamask/key-tree from 9.1.0 to 9.1.1 (#310).

Fixed

  • Use internal object function instead of the upstream one (#316).

Added

  • Add accountNameSuggestion field to the AccountCreatedEvent (#291)
  • Add displayConfirmation field to the AccountCreatedEvent (#307)

Changed

  • Fix isEvmAccountType accountType type to string or InternalAccountType (#304)
  • Bump @metamask/snaps-sdk from ^4.0.0 to ^4.2.0 (#305)

Added

  • Add isEvmAccountType helper (#297)
  • Add bip121:p2wpkh account support (#294)

Changed

  • Remove incorrect SignTransaction from EthErc4337Account (#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)

Changed

  • BREAKING: Add importTime property to InternalAccount 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)

Changed

  • 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)

Changed

  • 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)

Changed

  • 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)

Changed

  • 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)

Changed

  • 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)

Changed

  • 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 @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)

Removed

  • BREAKING: remove KeyringSnapControllerClient class to fix dependency problems (#241)

Added

  • BREAKING: Add support for ERC-4337 transactions (#213)
    • Enum EthMethods has been extended with eth_prepareUserOperation, eth_patchUserOperation, eth_signUserOperation
    • Enum EthAccountType has been extended with eip155:erc4337

Changed

  • BREAKING: Update @metamask/providers from ^13.0.0 to ^14.0.1 (#209)
    • Consolidation on readable-stream@^3.6.2. Users should upgrade to extension-port-stream@^3.0.0 and json-rpc-middleware-stream@^5.0.0.
  • 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
  • Documentation updates (#185) (#201)

Removed

  • BREAKING EthAccountType.Eip4337 has been removed. eip155:eip4337 should be replaced with erc:4337

Fixed

  • Exclude *.test-d.ts files from builds (#184)
  • Remove @metamask/snaps-ui from dependency tree (#204)

Changed

  • UuidStruct is now a named type (#159)
  • Migrate from @metamask/rpc-methods to @metamask/snaps-rpc-methods (#175)

Fixed

  • 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)

Added

  • Add migration steps to 1.0.0 (#149).
  • Add Account Snaps security guidelines (#143).

Changed

  • Bump @metamask/rpc-errors from 6.0.0 to 6.1.0 (#151).
  • Bump postcss from 8.4.24 to 8.4.31 (#150).

Added

  • Document how to migrate from API 0.1.x to 0.2.x (#124).

Changed

  • BREAKING: Use the onKeyringRequest snap export (#145).
  • BREAKING: Change the events' prefix to notify: (#139).

Added

  • Export events types (#125)

Changed

  • 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).

Changed

  • Remove buildHandlersChain (#114).
  • Update doc for eth_signTransaction (#111).
  • Remove un-versioned eth_signTypedData method (#113).

Changed

  • Fix linting and compatibility with older tsc (#108).

Added

  • Add redirection message to snap async response (#102).

Changed

  • Use Omit instead of OmitUnion (#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).

Added

  • Add architecture and EVM methods docs (#86).
  • Add lastSelected and lastActive to metadata (#92).

Changed

  • Make request params optional (#96).
  • Remove lastActive field from internal account model (#95).
  • Move request ID to outer request (#94).

Changed

  • Set snap object keys to be mandatory and move name to metadata (#87).

Added

  • Add InternalAccount type and create submodule internal (#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).

Changed

  • Rename erc4337 -> eip4337 (#42).
  • Make options a mandatory field of KeyringAccount (#30).
  • Make approveRequest and rejectRequest optional (#63).
  • Make exportAccount, listRequests and getRequest optional (#73).
  • Export enums with account methods and types (#66).
  • Make approveRequest accept a result argument (#59).
  • Remove account name from KeyringAccount type (#55).
  • Remove eth_sendTransaction method (#50).
  • Rename supportedMethods to methods (#35).

Changed

  • Downgrade snaps dependencies to 0.35.2-flask.1 (#25).

Changed

  • Update snaps dependencies (#21).

Added

  • Validate snap responses for type correctness (#15).

Changed

  • Rename RPC handling functions (#16).

0.1.0 - 2023-06-20

Added

  • 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.