From ca4eb19f9d5e3e9c4c0b9860459f449381e73f7d Mon Sep 17 00:00:00 2001 From: Matthew Walsh Date: Tue, 22 Oct 2024 09:19:14 +0100 Subject: [PATCH 1/5] fix: add missing signature controller types for mobile (#4822) Add `version` to `MessageParamsTyped`. Add `metamaskId` to `MessageParams`. Make `request` and `signingOptions` optional in `newUnsignedX` methods. --- .../src/SignatureController.test.ts | 123 ++++++++++++++++-- .../src/SignatureController.ts | 25 ++-- packages/signature-controller/src/types.ts | 6 + 3 files changed, 134 insertions(+), 20 deletions(-) diff --git a/packages/signature-controller/src/SignatureController.test.ts b/packages/signature-controller/src/SignatureController.test.ts index 2fb84b55d8..a4e8f89e67 100644 --- a/packages/signature-controller/src/SignatureController.test.ts +++ b/packages/signature-controller/src/SignatureController.test.ts @@ -1,5 +1,5 @@ import type { SIWEMessage } from '@metamask/controller-utils'; -import { detectSIWE } from '@metamask/controller-utils'; +import { detectSIWE, ORIGIN_METAMASK } from '@metamask/controller-utils'; import { SignTypedDataVersion } from '@metamask/keyring-controller'; import { LogType, SigningStage } from '@metamask/logging-controller'; import { v1 } from 'uuid'; @@ -11,7 +11,12 @@ import type { SignatureControllerState, } from './SignatureController'; import { SignatureController } from './SignatureController'; -import type { MessageParamsPersonal, SignatureRequest } from './types'; +import type { + MessageParamsPersonal, + MessageParamsTyped, + OriginalRequest, + SignatureRequest, +} from './types'; import { SignatureRequestStatus, SignatureRequestType } from './types'; import { normalizePersonalMessageParams, @@ -34,10 +39,14 @@ const DATA_MOCK = '0xABC123'; const SIGNATURE_HASH_MOCK = '0x123ABC'; const ERROR_MESSAGE_MOCK = 'Test Error Message'; const ERROR_CODE_MOCK = 1234; +const ORIGIN_MOCK = 'testOrigin'; const PARAMS_MOCK = { - from: FROM_MOCK, data: DATA_MOCK, + from: FROM_MOCK, + metamaskId: ID_MOCK, + origin: ORIGIN_MOCK, + version: SignTypedDataVersion.V1, }; const SIGNATURE_REQUEST_MOCK: SignatureRequest = { @@ -327,15 +336,26 @@ describe('SignatureController', () => { describe.each([ [ 'newUnsignedPersonalMessage', - (controller: SignatureController, request = {}) => - controller.newUnsignedPersonalMessage({ ...PARAMS_MOCK }, request), + ( + controller: SignatureController, + request?: OriginalRequest, + params?: Partial, + ) => + controller.newUnsignedPersonalMessage( + { ...PARAMS_MOCK, ...params }, + request, + ), SignatureRequestType.PersonalSign, ], [ 'newUnsignedTypedMessage', - (controller: SignatureController, request = {}) => + ( + controller: SignatureController, + request?: OriginalRequest, + params?: Partial, + ) => controller.newUnsignedTypedMessage( - PARAMS_MOCK, + { ...PARAMS_MOCK, ...params }, request, SignTypedDataVersion.V1, { parseJsonData: false }, @@ -488,7 +508,7 @@ describe('SignatureController', () => { }); }); - it('populates origin from request', async () => { + it('populates origin from request if present', async () => { const { controller } = createController(); await fn(controller, { origin: 'test' }); @@ -498,14 +518,34 @@ describe('SignatureController', () => { ).toBe('test'); }); + it('populates origin from message params if no request', async () => { + const { controller } = createController(); + + await fn(controller); + + expect( + controller.state.signatureRequests[ID_MOCK].messageParams.origin, + ).toBe(ORIGIN_MOCK); + }); + it('populates request ID from request', async () => { const { controller } = createController(); - await fn(controller, { id: 'test' }); + await fn(controller, { id: 123 }); expect( controller.state.signatureRequests[ID_MOCK].messageParams.requestId, - ).toBe('test'); + ).toBe(123); + }); + + it('populates metamask ID using ID', async () => { + const { controller } = createController(); + + await fn(controller); + + expect( + controller.state.signatureRequests[ID_MOCK].messageParams.metamaskId, + ).toBe(ID_MOCK); }); it('emits unapproved message event', async () => { @@ -604,6 +644,50 @@ describe('SignatureController', () => { expect(resultCallbackErrorMock).toHaveBeenCalledTimes(1); expect(resultCallbackErrorMock).toHaveBeenCalledWith(errorMock); }); + + it('requests approval', async () => { + const { controller, approvalControllerAddRequestMock } = + createController(); + + await fn(controller); + + expect(approvalControllerAddRequestMock).toHaveBeenCalledTimes(1); + expect(approvalControllerAddRequestMock).toHaveBeenCalledWith( + { + expectsResult: true, + id: ID_MOCK, + origin: ORIGIN_MOCK, + requestData: expect.objectContaining({ + data: PARAMS_MOCK.data, + from: PARAMS_MOCK.from, + }), + type, + }, + true, + ); + }); + + it('requests approval with internal origin if no origin provided', async () => { + const { controller, approvalControllerAddRequestMock } = + createController(); + + await fn(controller, undefined, { origin: undefined }); + + expect(approvalControllerAddRequestMock).toHaveBeenCalledTimes(1); + expect(approvalControllerAddRequestMock).toHaveBeenCalledWith( + { + expectsResult: true, + id: ID_MOCK, + origin: ORIGIN_METAMASK, + requestData: expect.objectContaining({ + data: PARAMS_MOCK.data, + from: PARAMS_MOCK.from, + }), + type, + }, + true, + ); + }); }); describe('newUnsignedPersonalMessage', () => { @@ -685,6 +769,7 @@ describe('SignatureController', () => { { ...PARAMS_MOCK, data: { test: 123 }, + version, }, version, ); @@ -746,6 +831,24 @@ describe('SignatureController', () => { ERROR_MESSAGE_MOCK, ); }); + + it('populates version in params', async () => { + const { controller } = createController(); + + await controller.newUnsignedTypedMessage( + PARAMS_MOCK, + {}, + SignTypedDataVersion.V3, + { parseJsonData: false }, + ); + + expect( + ( + controller.state.signatureRequests[ID_MOCK] + .messageParams as MessageParamsTyped + ).version, + ).toBe(SignTypedDataVersion.V3); + }); }); describe('setDeferredSignSuccess', () => { diff --git a/packages/signature-controller/src/SignatureController.ts b/packages/signature-controller/src/SignatureController.ts index 6ec64bf6c1..0b6da72927 100644 --- a/packages/signature-controller/src/SignatureController.ts +++ b/packages/signature-controller/src/SignatureController.ts @@ -296,7 +296,7 @@ export class SignatureController extends BaseController< */ async newUnsignedPersonalMessage( messageParams: MessageParamsPersonal, - request: OriginalRequest, + request?: OriginalRequest, options: { traceContext?: TraceContext } = {}, ): Promise { validatePersonalSignatureRequest(messageParams); @@ -330,9 +330,9 @@ export class SignatureController extends BaseController< */ async newUnsignedTypedMessage( messageParams: MessageParamsTyped, - request: OriginalRequest, + request: OriginalRequest | undefined, version: string, - signingOptions: TypedSigningOptions, + signingOptions?: TypedSigningOptions, options: { traceContext?: TraceContext } = {}, ): Promise { validateTypedSignatureRequest( @@ -444,7 +444,7 @@ export class SignatureController extends BaseController< traceContext, }: { messageParams: MessageParams; - request: OriginalRequest; + request?: OriginalRequest; type: SignatureRequestType; approvalType: ApprovalType; version?: SignTypedDataVersion; @@ -539,21 +539,26 @@ export class SignatureController extends BaseController< version, }: { messageParams: MessageParams; - request: OriginalRequest; + request?: OriginalRequest; signingOptions?: TypedSigningOptions; type: SignatureRequestType; version?: SignTypedDataVersion; }): SignatureRequest { + const id = random(); + const origin = request?.origin ?? messageParams.origin; + const requestId = request?.id; + const securityAlertResponse = request?.securityAlertResponse; + const finalMessageParams = { ...messageParams, - origin: request.origin, - requestId: request.id, + metamaskId: id, + origin, + requestId, + version, }; - const { securityAlertResponse } = request; - const metadata = { - id: random(), + id, messageParams: finalMessageParams, securityAlertResponse, signingOptions, diff --git a/packages/signature-controller/src/types.ts b/packages/signature-controller/src/types.ts index 1f59e55594..c295f6d431 100644 --- a/packages/signature-controller/src/types.ts +++ b/packages/signature-controller/src/types.ts @@ -28,6 +28,9 @@ export type MessageParams = { /** Ethereum address to sign with. */ from: string; + /** ID of the associated signature request. */ + metamaskId?: string; + /** * Source of the request. * Such as a hostname of a dApp. @@ -65,6 +68,9 @@ export type MessageParamsTyped = MessageParams & { primaryType: string; message: Json; }; + + /** Version of the signTypedData request. */ + version?: string; }; type SignatureRequestBase = { From 5576c64839c87e158770d663c8bc9d22115a6d6b Mon Sep 17 00:00:00 2001 From: Hassan Malik <41640681+hmalik88@users.noreply.github.com> Date: Tue, 22 Oct 2024 04:45:47 -0400 Subject: [PATCH 2/5] fix: Make call to `updateMetamaskNotificationsList` async and fix its event emission. (#4826) ## Explanation * What is the current state of things and why does it need to change? The `updateMetamaskNotificationsList` function is async and the registered message handler should also have been async. The `NotificationServicesController:notificationsListUpdated` event is not being received by the extension. * What is the solution your changes offer and how does it work? Make the message handler async and move the publish call outside of the update function. * Are there any changes whose purpose might not obvious to those unfamiliar with the domain? This problem was never uncovered because the `updateMetamaskNotfiicationsList` function was never called in the extension until now (with snaps). When triggering a notification, with the current state of things, the extension would not update the badge counter because it wasn't receiving the `NotificationServicesController:notificationsListUpdated` event. ## Changelog ### `@metamask/notification-services-controller` - **FIXED**: `updateMetamaskNotificationsList` was fixed by updating the message handler and moving the publish call outside of the update to state in the function. ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes --- .../NotificationServicesController.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/notification-services-controller/src/NotificationServicesController/NotificationServicesController.ts b/packages/notification-services-controller/src/NotificationServicesController/NotificationServicesController.ts index 34b65bb136..a9b6c38b81 100644 --- a/packages/notification-services-controller/src/NotificationServicesController/NotificationServicesController.ts +++ b/packages/notification-services-controller/src/NotificationServicesController/NotificationServicesController.ts @@ -577,7 +577,7 @@ export default class NotificationServicesController extends BaseController< #registerMessageHandlers(): void { this.messagingSystem.registerActionHandler( `${controllerName}:updateMetamaskNotificationsList`, - this.updateMetamaskNotificationsList.bind(this), + async (...args) => this.updateMetamaskNotificationsList(...args), ); this.messagingSystem.registerActionHandler( @@ -1375,12 +1375,13 @@ export default class NotificationServicesController extends BaseController< processedNotification, ...state.metamaskNotificationsList, ]; - this.messagingSystem.publish( - `${controllerName}:notificationsListUpdated`, - state.metamaskNotificationsList, - ); } }); + + this.messagingSystem.publish( + `${controllerName}:notificationsListUpdated`, + this.state.metamaskNotificationsList, + ); } } } From 4aa4b8bfa43eaacdef2981d905cb8e06e69d85ba Mon Sep 17 00:00:00 2001 From: Matteo Scurati Date: Tue, 22 Oct 2024 12:16:39 +0200 Subject: [PATCH 3/5] Release 224.0.0 (#4819) ## Explanation This is a RC for v224.0.0. See changelog for more details @metamask/notification-services-controller:0.10.1 ## References - https://consensyssoftware.atlassian.net/browse/NOTIFY-1230 - https://consensyssoftware.atlassian.net/browse/NOTIFY-1238 ## Changelog ``` ## [0.11.0] ### Added - Added support for an optional FCM token parameter for push notifications on mobile platforms, allowing native handling of FCM token creation through the Firebase SDK ([#4823](https://github.com/MetaMask/core/pull/4823)) ### Changed - update the types described in `types/on-chain-notification/schema` and `types/on-chain-notification/on-chain-notification` ([#4818](https://github.com/MetaMask/core/pull/4818)) - adds new notifications: aave_v3_health_factor; ens_expiration; lido_staking_rewards; notional_loan_expiration; rocketpool_staking_rewards; spark_fi_health_factor - splits Wallet Notifications from Web 3 Notifications - updated and added new notification mocks ([#4818](https://github.com/MetaMask/core/pull/4818)) - can be accessed through `@metamask/notification-services-controller/notification-services/mocks` ### Fixed - made `updateMetamaskNotificationsList` function work correctly by making the message handler async and moving the publish call outside of the update function. This ensures the `NotificationServicesController:notificationsListUpdated` event is received by the extension ([#4826](https://github.com/MetaMask/core/pull/4826)) ``` ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes --- package.json | 2 +- .../CHANGELOG.md | 23 ++++++++++++++++++- .../package.json | 2 +- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 82bc308c6e..fcafeaeb91 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/core-monorepo", - "version": "223.0.0", + "version": "224.0.0", "private": true, "description": "Monorepo for packages shared between MetaMask clients", "repository": { diff --git a/packages/notification-services-controller/CHANGELOG.md b/packages/notification-services-controller/CHANGELOG.md index 0ae2e9bc0c..bb017925bc 100644 --- a/packages/notification-services-controller/CHANGELOG.md +++ b/packages/notification-services-controller/CHANGELOG.md @@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.11.0] + +### Added + +- Added support for an optional FCM token parameter for push notifications on mobile platforms, allowing native handling of FCM token creation through the Firebase SDK ([#4823](https://github.com/MetaMask/core/pull/4823)) + +### Changed + +- update the types described in `types/on-chain-notification/schema` and `types/on-chain-notification/on-chain-notification` ([#4818](https://github.com/MetaMask/core/pull/4818)) + + - adds new notifications: aave_v3_health_factor; ens_expiration; lido_staking_rewards; notional_loan_expiration; rocketpool_staking_rewards; spark_fi_health_factor + - splits Wallet Notifications from Web 3 Notifications + +- updated and added new notification mocks ([#4818](https://github.com/MetaMask/core/pull/4818)) + - can be accessed through `@metamask/notification-services-controller/notification-services/mocks` + +### Fixed + +- made `updateMetamaskNotificationsList` function work correctly by making the message handler async and moving the publish call outside of the update function. This ensures the `NotificationServicesController:notificationsListUpdated` event is received by the extension ([#4826](https://github.com/MetaMask/core/pull/4826)) + ## [0.10.0] ### Added @@ -200,7 +220,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial release -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.10.0...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.11.0...HEAD +[0.11.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.10.0...@metamask/notification-services-controller@0.11.0 [0.10.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.9.0...@metamask/notification-services-controller@0.10.0 [0.9.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.8.2...@metamask/notification-services-controller@0.9.0 [0.8.2]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.8.1...@metamask/notification-services-controller@0.8.2 diff --git a/packages/notification-services-controller/package.json b/packages/notification-services-controller/package.json index d7380aa849..77ab65da62 100644 --- a/packages/notification-services-controller/package.json +++ b/packages/notification-services-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/notification-services-controller", - "version": "0.10.0", + "version": "0.11.0", "description": "Manages New MetaMask decentralized Notification system", "keywords": [ "MetaMask", From 6f5f6e17ac96e8beb065c1bf050168c8b6eb1a6b Mon Sep 17 00:00:00 2001 From: OGPoyraz Date: Tue, 22 Oct 2024 12:59:40 +0200 Subject: [PATCH 4/5] Bump `eth-sig-util` dependency to `8.0.0` for `signature-controller` (#4830) ## Explanation This PR updates `eth-sig-util` dependency for `signature-controller`. Recent change in package remove the normalization for numerical addresses. ## References Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3298 ## Changelog ### `@metamask/signature-controller` - **CHANGED**: Bump `eth-sig-util` dependency to `8.0.0` ## Checklist - [X] I've updated the test suite for new or updated code as appropriate - [X] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [X] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [X] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes --- packages/keyring-controller/package.json | 2 +- packages/message-manager/package.json | 2 +- packages/signature-controller/package.json | 2 +- yarn.lock | 22 ++++++++++++++++++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 620ee20598..b38c0f9e7c 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -52,7 +52,7 @@ "@metamask/base-controller": "^7.0.1", "@metamask/browser-passworder": "^4.3.0", "@metamask/eth-hd-keyring": "^7.0.4", - "@metamask/eth-sig-util": "^7.0.1", + "@metamask/eth-sig-util": "^8.0.0", "@metamask/eth-simple-keyring": "^6.0.5", "@metamask/keyring-api": "^8.1.3", "@metamask/message-manager": "^11.0.0", diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index bd2cfbe416..e4711ed242 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^7.0.1", "@metamask/controller-utils": "^11.3.0", - "@metamask/eth-sig-util": "^7.0.1", + "@metamask/eth-sig-util": "^8.0.0", "@metamask/utils": "^9.1.0", "@types/uuid": "^8.3.0", "jsonschema": "^1.2.4", diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 3475427452..dd51329c2e 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^7.0.1", "@metamask/controller-utils": "^11.3.0", - "@metamask/eth-sig-util": "^7.0.1", + "@metamask/eth-sig-util": "^8.0.0", "@metamask/utils": "^9.1.0", "jsonschema": "^1.2.4", "lodash": "^4.17.21", diff --git a/yarn.lock b/yarn.lock index 0a7675ca55..6106761bbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2592,7 +2592,7 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-sig-util@npm:^7.0.1, @metamask/eth-sig-util@npm:^7.0.3": +"@metamask/eth-sig-util@npm:^7.0.3": version: 7.0.3 resolution: "@metamask/eth-sig-util@npm:7.0.3" dependencies: @@ -2606,6 +2606,20 @@ __metadata: languageName: node linkType: hard +"@metamask/eth-sig-util@npm:^8.0.0": + version: 8.0.0 + resolution: "@metamask/eth-sig-util@npm:8.0.0" + dependencies: + "@ethereumjs/util": "npm:^8.1.0" + "@metamask/abi-utils": "npm:^2.0.4" + "@metamask/utils": "npm:^9.0.0" + "@scure/base": "npm:~1.1.3" + ethereum-cryptography: "npm:^2.1.2" + tweetnacl: "npm:^1.0.3" + checksum: 10/5de92bc59df31bcf417ecbdfd2b47f15c21b29454f45108513c55d9c005b7cb51373e9d254bd97533603ab7c7758fdf8fc5159612f366b05f92ebe5beb6d75d8 + languageName: node + linkType: hard + "@metamask/eth-simple-keyring@npm:^6.0.5": version: 6.0.5 resolution: "@metamask/eth-simple-keyring@npm:6.0.5" @@ -2929,7 +2943,7 @@ __metadata: "@metamask/base-controller": "npm:^7.0.1" "@metamask/browser-passworder": "npm:^4.3.0" "@metamask/eth-hd-keyring": "npm:^7.0.4" - "@metamask/eth-sig-util": "npm:^7.0.1" + "@metamask/eth-sig-util": "npm:^8.0.0" "@metamask/eth-simple-keyring": "npm:^6.0.5" "@metamask/keyring-api": "npm:^8.1.3" "@metamask/message-manager": "npm:^11.0.0" @@ -2976,7 +2990,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.0.1" "@metamask/controller-utils": "npm:^11.3.0" - "@metamask/eth-sig-util": "npm:^7.0.1" + "@metamask/eth-sig-util": "npm:^8.0.0" "@metamask/utils": "npm:^9.1.0" "@types/jest": "npm:^27.4.1" "@types/uuid": "npm:^8.3.0" @@ -3470,7 +3484,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.0.1" "@metamask/controller-utils": "npm:^11.3.0" - "@metamask/eth-sig-util": "npm:^7.0.1" + "@metamask/eth-sig-util": "npm:^8.0.0" "@metamask/keyring-controller": "npm:^17.3.0" "@metamask/logging-controller": "npm:^6.0.1" "@metamask/utils": "npm:^9.1.0" From 24d257ad8174282c3bcf6de86311621c13282f22 Mon Sep 17 00:00:00 2001 From: Matthew Walsh Date: Tue, 22 Oct 2024 14:14:17 +0100 Subject: [PATCH 5/5] Release 225.0.0 (#4833) --- package.json | 2 +- packages/signature-controller/CHANGELOG.md | 19 ++++++++++++++++++- packages/signature-controller/package.json | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index fcafeaeb91..d8fbd301dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/core-monorepo", - "version": "224.0.0", + "version": "225.0.0", "private": true, "description": "Monorepo for packages shared between MetaMask clients", "repository": { diff --git a/packages/signature-controller/CHANGELOG.md b/packages/signature-controller/CHANGELOG.md index 23ab9162f3..18ecb23af4 100644 --- a/packages/signature-controller/CHANGELOG.md +++ b/packages/signature-controller/CHANGELOG.md @@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [20.1.0] + +### Added + +- Add additional properties to message parameter types ([#4822](https://github.com/MetaMask/core/pull/4822)) + - Add `metamaskId` to `MessageParams`. + - Add `version` to `MessageParamsTyped`. + +### Changed + +- Update required arguments in methods ([#4822](https://github.com/MetaMask/core/pull/4822)) + - Make `request` argument optional in `newUnsignedPersonalMessage` and `newUnsignedTypedMessage`. + - Make `signingOptions` argument optional in `newUnsignedTypedMessage`. +- Bump `eth-sig-util` from `^7.0.1` to `^8.0.0` ([#4830](https://github.com/MetaMask/core/pull/4830)) +- Bump `@metamask/keyring-controller` from `^17.2.2` to `^17.3.0` ([#4643](https://github.com/MetaMask/core/pull/4643)) + ## [20.0.0] ### Added @@ -363,7 +379,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial release ([#1214](https://github.com/MetaMask/core/pull/1214)) -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@20.0.0...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@20.1.0...HEAD +[20.1.0]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@20.0.0...@metamask/signature-controller@20.1.0 [20.0.0]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@19.1.0...@metamask/signature-controller@20.0.0 [19.1.0]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@19.0.0...@metamask/signature-controller@19.1.0 [19.0.0]: https://github.com/MetaMask/core/compare/@metamask/signature-controller@18.1.0...@metamask/signature-controller@19.0.0 diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index dd51329c2e..81480a4203 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/signature-controller", - "version": "20.0.0", + "version": "20.1.0", "description": "Processes signing requests in order to sign arbitrary and typed data", "keywords": [ "MetaMask",