diff --git a/examples/example-controllers/package.json b/examples/example-controllers/package.json index da75b2b8f52..cc4ae5a364f 100644 --- a/examples/example-controllers/package.json +++ b/examples/example-controllers/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@metamask/base-controller": "^8.0.0", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/package.json b/package.json index 3c632edbfd3..e71d1545e2d 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@metamask/eth-block-tracker": "^11.0.3", "@metamask/eth-json-rpc-provider": "^4.1.8", "@metamask/json-rpc-engine": "^10.0.3", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@ts-bridge/cli": "^0.6.1", "@types/jest": "^27.4.1", "@types/lodash": "^4.14.191", diff --git a/packages/accounts-controller/package.json b/packages/accounts-controller/package.json index 2b7de49c311..b310b1e6059 100644 --- a/packages/accounts-controller/package.json +++ b/packages/accounts-controller/package.json @@ -55,7 +55,7 @@ "@metamask/network-controller": "^22.2.1", "@metamask/snaps-sdk": "^6.17.1", "@metamask/snaps-utils": "^8.10.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "deepmerge": "^4.2.2", "ethereum-cryptography": "^2.1.2", "immer": "^9.0.6", diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index d83cb418d39..5b7dfc7fb45 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index d308df8ba67..a69ef76fb69 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/rpc-errors": "^7.0.2", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "nanoid": "^3.3.8" }, "devDependencies": { diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index ea8b3cd4ba8..abc4ac90e24 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -63,7 +63,7 @@ "@metamask/polling-controller": "^12.0.3", "@metamask/rpc-errors": "^7.0.2", "@metamask/snaps-utils": "^8.10.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@types/bn.js": "^5.1.5", "@types/uuid": "^8.3.0", "async-mutex": "^0.5.0", diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index f3eb0e90e38..86f5b5a6d5c 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -46,7 +46,7 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "immer": "^9.0.6" }, "devDependencies": { diff --git a/packages/bridge-controller/package.json b/packages/bridge-controller/package.json index 4f7c837d54a..0706efea2b4 100644 --- a/packages/bridge-controller/package.json +++ b/packages/bridge-controller/package.json @@ -51,7 +51,7 @@ "@metamask/controller-utils": "^11.5.0", "@metamask/metamask-eth-abis": "^3.1.1", "@metamask/polling-controller": "^12.0.3", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "ethers": "^6.12.0" }, "devDependencies": { diff --git a/packages/build-utils/package.json b/packages/build-utils/package.json index d7868a3daa4..c17163a48a7 100644 --- a/packages/build-utils/package.json +++ b/packages/build-utils/package.json @@ -47,7 +47,7 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@types/eslint": "^8.44.7" }, "devDependencies": { diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index f40c65dd1b5..ef290dee757 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -50,7 +50,7 @@ "@ethereumjs/util": "^8.1.0", "@metamask/eth-query": "^4.0.0", "@metamask/ethjs-unit": "^0.3.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@spruceid/siwe-parser": "2.1.0", "@types/bn.js": "^5.1.5", "bignumber.js": "^9.1.2", diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 0d73de03b5b..93756a0270e 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -50,7 +50,7 @@ "@ethersproject/providers": "^5.7.0", "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "punycode": "^2.1.1" }, "devDependencies": { diff --git a/packages/eth-json-rpc-provider/package.json b/packages/eth-json-rpc-provider/package.json index a0849f70806..48402ea0ead 100644 --- a/packages/eth-json-rpc-provider/package.json +++ b/packages/eth-json-rpc-provider/package.json @@ -55,7 +55,7 @@ "@metamask/json-rpc-engine": "^10.0.3", "@metamask/rpc-errors": "^7.0.2", "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index af6f8a76847..eece3a0873c 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -52,7 +52,7 @@ "@metamask/eth-query": "^4.0.0", "@metamask/ethjs-unit": "^0.3.0", "@metamask/polling-controller": "^12.0.3", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@types/bn.js": "^5.1.5", "@types/uuid": "^8.3.0", "bn.js": "^5.2.1", diff --git a/packages/json-rpc-engine/package.json b/packages/json-rpc-engine/package.json index 5cf01438c07..725b32e1ce2 100644 --- a/packages/json-rpc-engine/package.json +++ b/packages/json-rpc-engine/package.json @@ -58,7 +58,7 @@ "dependencies": { "@metamask/rpc-errors": "^7.0.2", "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@lavamoat/allow-scripts": "^3.0.4", diff --git a/packages/json-rpc-middleware-stream/package.json b/packages/json-rpc-middleware-stream/package.json index 67caa8ec429..09dbb570a55 100644 --- a/packages/json-rpc-middleware-stream/package.json +++ b/packages/json-rpc-middleware-stream/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/json-rpc-engine": "^10.0.3", "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "readable-stream": "^3.6.2" }, "devDependencies": { diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 6704e94f4a3..0eecc5e2880 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -51,13 +51,12 @@ "@keystonehq/metamask-airgapped-keyring": "^0.14.1", "@metamask/base-controller": "^8.0.0", "@metamask/browser-passworder": "^4.3.0", - "@metamask/eth-hd-keyring": "^7.0.4", - "@metamask/eth-sig-util": "^8.0.0", - "@metamask/eth-simple-keyring": "^6.0.5", + "@metamask/eth-hd-keyring": "^10.0.0", + "@metamask/eth-sig-util": "^8.2.0", + "@metamask/eth-simple-keyring": "^8.1.0", "@metamask/keyring-api": "^17.0.0", "@metamask/keyring-internal-api": "^4.0.1", - "@metamask/message-manager": "^12.0.1", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "async-mutex": "^0.5.0", "ethereumjs-wallet": "^1.0.1", "immer": "^9.0.6", diff --git a/packages/keyring-controller/src/KeyringController.test.ts b/packages/keyring-controller/src/KeyringController.test.ts index fe52cf0a97b..24966a71cbf 100644 --- a/packages/keyring-controller/src/KeyringController.test.ts +++ b/packages/keyring-controller/src/KeyringController.test.ts @@ -10,8 +10,9 @@ import { recoverTypedSignature, SignTypedDataVersion, encrypt, + recoverEIP7702Authorization, } from '@metamask/eth-sig-util'; -import SimpleKeyring from '@metamask/eth-simple-keyring/dist/simple-keyring'; +import SimpleKeyring from '@metamask/eth-simple-keyring'; import type { EthKeyring } from '@metamask/keyring-internal-api'; import { wordlist } from '@metamask/scure-bip39/dist/wordlists/english'; import type { KeyringClass } from '@metamask/utils'; @@ -105,7 +106,8 @@ describe('KeyringController', () => { it('allows overwriting the built-in Simple keyring builder', async () => { const mockSimpleKeyringBuilder = - // @ts-expect-error The simple keyring doesn't yet conform to the KeyringClass type + // todo: keyring types are mismatched, this should be fixed in they keyrings themselves + // @ts-expect-error keyring types are mismatched buildKeyringBuilderWithSpy(SimpleKeyring); await withController( { keyringBuilders: [mockSimpleKeyringBuilder] }, @@ -118,6 +120,8 @@ describe('KeyringController', () => { }); it('allows overwriting the built-in HD keyring builder', async () => { + // todo: keyring types are mismatched, this should be fixed in they keyrings themselves + // @ts-expect-error keyring types are mismatched const mockHdKeyringBuilder = buildKeyringBuilderWithSpy(HDKeyring); await withController( { keyringBuilders: [mockHdKeyringBuilder] }, @@ -621,6 +625,8 @@ describe('KeyringController', () => { it('should throw error if the first account is not found on the keyring', async () => { jest .spyOn(HDKeyring.prototype, 'getAccounts') + // todo: keyring types are mismatched, this should be fixed in they keyrings themselves + // @ts-expect-error keyring types are mismatched .mockResolvedValue([]); await withController( { cacheEncryptionKey, skipVaultCreation: true }, @@ -1672,6 +1678,74 @@ describe('KeyringController', () => { }); }); + describe('signEip7702Authorization', () => { + const from = '0x5AC6D462f054690a373FABF8CC28e161003aEB19'; + stubKeyringClassWithAccount(MockKeyring, from); + const chainId = 1; + const contractAddress = '0x6B175474E89094C44Da98b954EedeAC495271d0F'; + const nonce = 1; + + describe('when the keyring for the given address supports signEip7702Authorization', () => { + it('should sign EIP-7702 authorization message', async () => { + await withController(async ({ controller, initialState }) => { + const account = initialState.keyrings[0].accounts[0]; + const signature = await controller.signEip7702Authorization({ + from: account, + chainId, + contractAddress, + nonce, + }); + + const recovered = recoverEIP7702Authorization({ + authorization: [chainId, contractAddress, nonce], + signature, + }); + + expect(recovered).toBe(account); + }); + }); + + it('should not sign EIP-7702 authorization message if from account is not passed', async () => { + await withController(async ({ controller }) => { + await expect( + controller.signEip7702Authorization({ + chainId, + contractAddress, + nonce, + from: '', + }), + ).rejects.toThrow( + 'KeyringController - No keyring found. Error info: There are keyrings, but none match the address', + ); + }); + }); + }); + + describe('when the keyring for the given address does not support signEip7702Authorization', () => { + it('should throw error', async () => { + stubKeyringClassWithAccount(MockKeyring, from); + + await withController( + { keyringBuilders: [keyringBuilderFactory(MockKeyring)] }, + async ({ controller }) => { + await controller.addNewKeyring(MockKeyring.type); + + await expect( + controller.signEip7702Authorization({ + from, + chainId, + contractAddress, + nonce, + }), + ).rejects.toThrow( + KeyringControllerError.UnsupportedSignEip7702Authorization, + ); + }, + ); + }); + }); + }); + describe('signTypedMessage', () => { describe('when the keyring for the given address supports signTypedMessage', () => { it('should throw when given invalid version', async () => { diff --git a/packages/keyring-controller/src/KeyringController.ts b/packages/keyring-controller/src/KeyringController.ts index c068c330057..6c194c8ee61 100644 --- a/packages/keyring-controller/src/KeyringController.ts +++ b/packages/keyring-controller/src/KeyringController.ts @@ -18,10 +18,6 @@ import type { EthUserOperationPatch, } from '@metamask/keyring-api'; import type { EthKeyring } from '@metamask/keyring-internal-api'; -import type { - PersonalMessageParams, - TypedMessageParams, -} from '@metamask/message-manager'; import type { Eip1024EncryptedData, Hex, @@ -47,6 +43,11 @@ import type { Patch } from 'immer'; import { ulid } from 'ulid'; import { KeyringControllerError } from './constants'; +import type { + Eip7702AuthorizationParams, + PersonalMessageParams, + TypedMessageParams, +} from './types'; const name = 'KeyringController'; @@ -123,6 +124,11 @@ export type KeyringControllerSignMessageAction = { handler: KeyringController['signMessage']; }; +export type KeyringControllerSignEip7702AuthorizationAction = { + type: `${typeof name}:signEip7702Authorization`; + handler: KeyringController['signEip7702Authorization']; +}; + export type KeyringControllerSignPersonalMessageAction = { type: `${typeof name}:signPersonalMessage`; handler: KeyringController['signPersonalMessage']; @@ -216,6 +222,7 @@ export type KeyringControllerQRKeyringStateChangeEvent = { export type KeyringControllerActions = | KeyringControllerGetStateAction | KeyringControllerSignMessageAction + | KeyringControllerSignEip7702AuthorizationAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerDecryptMessageAction @@ -452,7 +459,10 @@ export function keyringBuilderFactory(KeyringConstructor: KeyringClass) { } const defaultKeyringBuilders = [ + // todo: keyring types are mismatched, this should be fixed in they keyrings themselves + // @ts-expect-error keyring types are mismatched keyringBuilderFactory(SimpleKeyring), + // @ts-expect-error keyring types are mismatched keyringBuilderFactory(HDKeyring), ]; @@ -1182,6 +1192,38 @@ export class KeyringController extends BaseController< return await keyring.signMessage(address, messageParams.data); } + /** + * Signs EIP-7702 Authorization message by calling down into a specific keyring. + * + * @param params - EIP7702AuthorizationParams object to sign. + * @returns Promise resolving to an EIP-7702 Authorization signature. + * @throws Will throw UnsupportedSignEIP7702Authorization if the keyring does not support signing EIP-7702 Authorization messages. + */ + async signEip7702Authorization( + params: Eip7702AuthorizationParams, + ): Promise { + const from = ethNormalize(params.from) as Hex; + + const keyring = (await this.getKeyringForAccount(from)) as EthKeyring; + + if (!keyring.signEip7702Authorization) { + throw new Error( + KeyringControllerError.UnsupportedSignEip7702Authorization, + ); + } + + const { chainId, nonce } = params; + const contractAddress = ethNormalize(params.contractAddress) as + | Hex + | undefined; + + return await keyring.signEip7702Authorization(from, [ + chainId, + contractAddress as Hex, + nonce, + ]); + } + /** * Signs personal message by calling down into a specific keyring. * @@ -1795,6 +1837,11 @@ export class KeyringController extends BaseController< this.signMessage.bind(this), ); + this.messagingSystem.registerActionHandler( + `${name}:signEip7702Authorization`, + this.signEip7702Authorization.bind(this), + ); + this.messagingSystem.registerActionHandler( `${name}:signPersonalMessage`, this.signPersonalMessage.bind(this), diff --git a/packages/keyring-controller/src/constants.ts b/packages/keyring-controller/src/constants.ts index 364a9f4b346..f7b81828221 100644 --- a/packages/keyring-controller/src/constants.ts +++ b/packages/keyring-controller/src/constants.ts @@ -15,6 +15,7 @@ export enum KeyringControllerError { UnsupportedSignTransaction = 'KeyringController - The keyring for the current address does not support the method signTransaction.', UnsupportedSignMessage = 'KeyringController - The keyring for the current address does not support the method signMessage.', UnsupportedSignPersonalMessage = 'KeyringController - The keyring for the current address does not support the method signPersonalMessage.', + UnsupportedSignEip7702Authorization = 'KeyringController - The keyring for the current address does not support the method signEip7702Authorization.', UnsupportedGetEncryptionPublicKey = 'KeyringController - The keyring for the current address does not support the method getEncryptionPublicKey.', UnsupportedDecryptMessage = 'KeyringController - The keyring for the current address does not support the method decryptMessage.', UnsupportedSignTypedMessage = 'KeyringController - The keyring for the current address does not support the method signTypedMessage.', diff --git a/packages/keyring-controller/src/index.ts b/packages/keyring-controller/src/index.ts index 9b98ad6fd7a..0176ac5c808 100644 --- a/packages/keyring-controller/src/index.ts +++ b/packages/keyring-controller/src/index.ts @@ -1 +1,2 @@ export * from './KeyringController'; +export type * from './types'; diff --git a/packages/keyring-controller/src/types.ts b/packages/keyring-controller/src/types.ts new file mode 100644 index 00000000000..f4595db90f6 --- /dev/null +++ b/packages/keyring-controller/src/types.ts @@ -0,0 +1,74 @@ +import type { SIWEMessage } from '@metamask/controller-utils'; + +/** + * AbstractMessageParams + * + * Represents the parameters to pass to the signing method once the signature request is approved. + * + * from - Address from which the message is processed + * origin? - Added for request origin identification + * requestId? - Original request id + * deferSetAsSigned? - Whether to defer setting the message as signed immediately after the keyring is told to sign it + */ +export type AbstractMessageParams = { + from: string; + origin?: string; + requestId?: number; + deferSetAsSigned?: boolean; +}; + +/** + * Eip7702AuthorizationParams + * + * Represents the parameters for EIP-7702 authorization signing requests. + * + * chainId - The chain ID + * contractAddress - The contract address + * nonce - The nonce + */ +export type Eip7702AuthorizationParams = { + chainId: number; + contractAddress: string; + nonce: number; +} & AbstractMessageParams; + +/** + * PersonalMessageParams + * + * Represents the parameters for personal signing messages. + * + * data - The data to sign + * siwe? - The SIWE message + */ +export type PersonalMessageParams = { + data: string; + siwe?: SIWEMessage; +} & AbstractMessageParams; + +/** + * SignTypedDataMessageV3V4 + * + * Represents the structure of a typed data message for EIP-712 signing requests. + * + * types - The types of the message + * domain - The domain of the message + * primaryType - The primary type of the message + * message - The message + */ +export type SignTypedDataMessageV3V4 = { + types: Record; + domain: Record; + primaryType: string; + message: unknown; +}; + +/** + * TypedMessageParams + * + * Represents the parameters for typed signing messages. + * + * data - The data to sign + */ +export type TypedMessageParams = { + data: Record[] | string | SignTypedDataMessageV3V4; +} & AbstractMessageParams; diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index e3837f8cc50..0f95754d3fc 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -49,8 +49,8 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/eth-sig-util": "^8.0.0", - "@metamask/utils": "^11.1.0", + "@metamask/eth-sig-util": "^8.2.0", + "@metamask/utils": "^11.2.0", "@types/uuid": "^8.3.0", "jsonschema": "^1.4.1", "uuid": "^8.3.2" diff --git a/packages/message-manager/src/types.ts b/packages/message-manager/src/types.ts index b9ee509dc41..dc580bd61d5 100644 --- a/packages/message-manager/src/types.ts +++ b/packages/message-manager/src/types.ts @@ -2,7 +2,7 @@ import type { SIWEMessage } from '@metamask/controller-utils'; import type { AbstractMessageParams } from './AbstractMessageManager'; -// Below types are temporary as they are used by the KeyringController. +// Below types are have been moved into KeyringController, but are still exported here for backwards compatibility. export type SignTypedDataMessageV3V4 = { types: Record; diff --git a/packages/multichain-network-controller/package.json b/packages/multichain-network-controller/package.json index cb4e3561034..cea41145e4c 100644 --- a/packages/multichain-network-controller/package.json +++ b/packages/multichain-network-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/keyring-api": "^17.0.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@solana/addresses": "^2.0.0" }, "devDependencies": { diff --git a/packages/multichain-transactions-controller/package.json b/packages/multichain-transactions-controller/package.json index e5cc49b35f4..f0f094af9f0 100644 --- a/packages/multichain-transactions-controller/package.json +++ b/packages/multichain-transactions-controller/package.json @@ -55,7 +55,7 @@ "@metamask/snaps-controllers": "^9.19.0", "@metamask/snaps-sdk": "^6.17.1", "@metamask/snaps-utils": "^8.10.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@types/uuid": "^8.3.0", "immer": "^9.0.6", "uuid": "^8.3.2" diff --git a/packages/multichain/package.json b/packages/multichain/package.json index 0264cb9ca40..b9e25914119 100644 --- a/packages/multichain/package.json +++ b/packages/multichain/package.json @@ -52,7 +52,7 @@ "@metamask/eth-json-rpc-filters": "^9.0.0", "@metamask/rpc-errors": "^7.0.2", "@metamask/safe-event-emitter": "^3.0.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@open-rpc/schema-utils-js": "^2.0.5", "jsonschema": "^1.4.1", "lodash": "^4.17.21" diff --git a/packages/name-controller/package.json b/packages/name-controller/package.json index 698f6217525..513b5c53190 100644 --- a/packages/name-controller/package.json +++ b/packages/name-controller/package.json @@ -50,7 +50,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "async-mutex": "^0.5.0" }, "devDependencies": { diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index c80f31db7f8..61f308c80bc 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -57,7 +57,7 @@ "@metamask/json-rpc-engine": "^10.0.3", "@metamask/rpc-errors": "^7.0.2", "@metamask/swappable-obj-proxy": "^2.3.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "async-mutex": "^0.5.0", "fast-deep-equal": "^3.1.3", "immer": "^9.0.6", diff --git a/packages/notification-services-controller/package.json b/packages/notification-services-controller/package.json index e544c35cd02..2ea29ef63b3 100644 --- a/packages/notification-services-controller/package.json +++ b/packages/notification-services-controller/package.json @@ -102,7 +102,7 @@ "@contentful/rich-text-html-renderer": "^16.5.2", "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "bignumber.js": "^9.1.2", "firebase": "^11.2.0", "loglevel": "^1.8.1", diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index f4a09c245f3..4eb69a8c041 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -51,7 +51,7 @@ "@metamask/controller-utils": "^11.5.0", "@metamask/json-rpc-engine": "^10.0.3", "@metamask/rpc-errors": "^7.0.2", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@types/deep-freeze-strict": "^1.1.0", "deep-freeze-strict": "^1.1.1", "immer": "^9.0.6", diff --git a/packages/permission-log-controller/package.json b/packages/permission-log-controller/package.json index e59bec33ae1..1b893684b91 100644 --- a/packages/permission-log-controller/package.json +++ b/packages/permission-log-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/json-rpc-engine": "^10.0.3", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/polling-controller/package.json b/packages/polling-controller/package.json index ebf794c0603..e108d36f94c 100644 --- a/packages/polling-controller/package.json +++ b/packages/polling-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "@types/uuid": "^8.3.0", "fast-json-stable-stringify": "^2.1.0", "uuid": "^8.3.2" diff --git a/packages/queued-request-controller/package.json b/packages/queued-request-controller/package.json index d1b526654ad..ef79cb20522 100644 --- a/packages/queued-request-controller/package.json +++ b/packages/queued-request-controller/package.json @@ -52,7 +52,7 @@ "@metamask/json-rpc-engine": "^10.0.3", "@metamask/rpc-errors": "^7.0.2", "@metamask/swappable-obj-proxy": "^2.3.0", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 18c5512a8d7..875bb8992e6 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/rpc-errors": "^7.0.2", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/remote-feature-flag-controller/package.json b/packages/remote-feature-flag-controller/package.json index 795df6d2d40..4f7150435d7 100644 --- a/packages/remote-feature-flag-controller/package.json +++ b/packages/remote-feature-flag-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/packages/selected-network-controller/package.json b/packages/selected-network-controller/package.json index f86208c1cbc..2c9e0531002 100644 --- a/packages/selected-network-controller/package.json +++ b/packages/selected-network-controller/package.json @@ -50,7 +50,7 @@ "@metamask/base-controller": "^8.0.0", "@metamask/json-rpc-engine": "^10.0.3", "@metamask/swappable-obj-proxy": "^2.3.0", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 5735de1ad9f..0566c7794db 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -49,8 +49,8 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/controller-utils": "^11.5.0", - "@metamask/eth-sig-util": "^8.0.0", - "@metamask/utils": "^11.1.0", + "@metamask/eth-sig-util": "^8.2.0", + "@metamask/utils": "^11.2.0", "jsonschema": "^1.4.1", "lodash": "^4.17.21", "uuid": "^8.3.2" diff --git a/packages/token-search-discovery-controller/package.json b/packages/token-search-discovery-controller/package.json index 620c031c16b..11df16f062d 100644 --- a/packages/token-search-discovery-controller/package.json +++ b/packages/token-search-discovery-controller/package.json @@ -48,7 +48,7 @@ }, "dependencies": { "@metamask/base-controller": "^8.0.0", - "@metamask/utils": "^11.1.0" + "@metamask/utils": "^11.2.0" }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 51e80c39615..1543111fb38 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -60,7 +60,7 @@ "@metamask/nonce-tracker": "^6.0.0", "@metamask/remote-feature-flag-controller": "^1.4.0", "@metamask/rpc-errors": "^7.0.2", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "async-mutex": "^0.5.0", "bn.js": "^5.2.1", "eth-method-registry": "^4.0.0", diff --git a/packages/user-operation-controller/package.json b/packages/user-operation-controller/package.json index 8c5fba9fd11..4a01c9fc9e8 100644 --- a/packages/user-operation-controller/package.json +++ b/packages/user-operation-controller/package.json @@ -54,7 +54,7 @@ "@metamask/polling-controller": "^12.0.3", "@metamask/rpc-errors": "^7.0.2", "@metamask/superstruct": "^3.1.0", - "@metamask/utils": "^11.1.0", + "@metamask/utils": "^11.2.0", "bn.js": "^5.2.1", "immer": "^9.0.6", "lodash": "^4.17.21", diff --git a/types/@metamask/eth-hd-keyring.d.ts b/types/@metamask/eth-hd-keyring.d.ts deleted file mode 100644 index 650803e985f..00000000000 --- a/types/@metamask/eth-hd-keyring.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module '@metamask/eth-hd-keyring'; diff --git a/types/@metamask/eth-simple-keyring.d.ts b/types/@metamask/eth-simple-keyring.d.ts deleted file mode 100644 index 3778872a782..00000000000 --- a/types/@metamask/eth-simple-keyring.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module '@metamask/eth-simple-keyring'; diff --git a/yarn.lock b/yarn.lock index 96726ca6f4b..1eadb4596dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2320,7 +2320,7 @@ __metadata: languageName: node linkType: hard -"@metamask/abi-utils@npm:^2.0.3, @metamask/abi-utils@npm:^2.0.4": +"@metamask/abi-utils@npm:^2.0.3": version: 2.0.4 resolution: "@metamask/abi-utils@npm:2.0.4" dependencies: @@ -2356,7 +2356,7 @@ __metadata: "@metamask/snaps-controllers": "npm:^9.19.0" "@metamask/snaps-sdk": "npm:^6.17.1" "@metamask/snaps-utils": "npm:^8.10.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/readable-stream": "npm:^2.3.0" deepmerge: "npm:^4.2.2" @@ -2396,7 +2396,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -2437,7 +2437,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/rpc-errors": "npm:^7.0.2" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -2484,7 +2484,7 @@ __metadata: "@metamask/snaps-controllers": "npm:^9.19.0" "@metamask/snaps-sdk": "npm:^6.17.1" "@metamask/snaps-utils": "npm:^8.10.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^27.4.1" "@types/lodash": "npm:^4.14.191" @@ -2568,7 +2568,7 @@ __metadata: dependencies: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/json-rpc-engine": "npm:^10.0.3" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/sinon": "npm:^9.0.10" deepmerge: "npm:^4.2.2" @@ -2596,7 +2596,7 @@ __metadata: "@metamask/network-controller": "npm:^22.2.1" "@metamask/polling-controller": "npm:^12.0.3" "@metamask/transaction-controller": "npm:^46.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" ethers: "npm:^6.12.0" @@ -2629,7 +2629,7 @@ __metadata: resolution: "@metamask/build-utils@workspace:packages/build-utils" dependencies: "@metamask/auto-changelog": "npm:^3.4.4" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/eslint": "npm:^8.44.7" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" @@ -2676,7 +2676,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/eth-query": "npm:^4.0.0" "@metamask/ethjs-unit": "npm:^0.3.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@spruceid/siwe-parser": "npm:2.1.0" "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^27.4.1" @@ -2716,7 +2716,7 @@ __metadata: "@metamask/eth-block-tracker": "npm:^11.0.3" "@metamask/eth-json-rpc-provider": "npm:^4.1.8" "@metamask/json-rpc-engine": "npm:^10.0.3" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@ts-bridge/cli": "npm:^0.6.1" "@types/jest": "npm:^27.4.1" "@types/lodash": "npm:^4.14.191" @@ -2814,7 +2814,7 @@ __metadata: "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" "@metamask/network-controller": "npm:^22.2.1" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -2904,16 +2904,17 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-hd-keyring@npm:^7.0.4": - version: 7.0.4 - resolution: "@metamask/eth-hd-keyring@npm:7.0.4" +"@metamask/eth-hd-keyring@npm:^10.0.0": + version: 10.0.0 + resolution: "@metamask/eth-hd-keyring@npm:10.0.0" dependencies: "@ethereumjs/util": "npm:^8.1.0" - "@metamask/eth-sig-util": "npm:^7.0.3" + "@metamask/eth-sig-util": "npm:^8.2.0" + "@metamask/key-tree": "npm:^10.0.2" "@metamask/scure-bip39": "npm:^2.1.1" - "@metamask/utils": "npm:^9.2.1" + "@metamask/utils": "npm:^11.1.0" ethereum-cryptography: "npm:^2.1.2" - checksum: 10/493d06f55225b6f9da48ee001486e18898d6a4a3afd2cf40ff1dcae2ece42d5e96174f6a05b7c39419cb3531b530c8af294d9422195661788c5e0b687a328874 + checksum: 10/d80611745171042f6ae7e0545e51563ebd705eb74e2bf131454766872d7ca57a54766af2ab398520a8fe0f58e8733a92c1df71664a2ea0e92c462661ea8a12f1 languageName: node linkType: hard @@ -2972,7 +2973,7 @@ __metadata: "@metamask/json-rpc-engine": "npm:^10.0.3" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" ethers: "npm:^6.12.0" @@ -2995,21 +2996,7 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-sig-util@npm:^7.0.3": - version: 7.0.3 - resolution: "@metamask/eth-sig-util@npm:7.0.3" - 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/a71b28607b0815d609cf27ab2d8535393d0a7e7f2c6b7a23d92669b770c664c14e2f539129351147339172b0bb865bb977e7cfb30624870eedab5d7ab700beff - languageName: node - linkType: hard - -"@metamask/eth-sig-util@npm:^8.0.0, @metamask/eth-sig-util@npm:^8.1.2, @metamask/eth-sig-util@npm:^8.2.0": +"@metamask/eth-sig-util@npm:^8.1.2, @metamask/eth-sig-util@npm:^8.2.0": version: 8.2.0 resolution: "@metamask/eth-sig-util@npm:8.2.0" dependencies: @@ -3024,16 +3011,16 @@ __metadata: 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" +"@metamask/eth-simple-keyring@npm:^8.1.0": + version: 8.1.0 + resolution: "@metamask/eth-simple-keyring@npm:8.1.0" dependencies: "@ethereumjs/util": "npm:^8.1.0" - "@metamask/eth-sig-util": "npm:^7.0.3" - "@metamask/utils": "npm:^9.2.1" + "@metamask/eth-sig-util": "npm:^8.2.0" + "@metamask/utils": "npm:^11.1.0" ethereum-cryptography: "npm:^2.1.2" randombytes: "npm:^2.1.0" - checksum: 10/98b7bd00df25e7630324e2c762e3a03a7f199108a4dfe22e5a1938f1d01c9b2cd64ab4bb6fd242bf898624903d5a68a2e1f61c95f94a141266ab23dae8d97d21 + checksum: 10/bbcbf7eb95e664be6362744ed6c6c977ecc14a8169b04cafa06a0afe3f5ffc872ca5f7ff327eb06d758c2b2cc1ab17bd4a9c533f58e12e4ee04163eb58100053 languageName: node linkType: hard @@ -3209,7 +3196,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -3233,7 +3220,7 @@ __metadata: "@metamask/ethjs-unit": "npm:^0.3.0" "@metamask/network-controller": "npm:^22.2.1" "@metamask/polling-controller": "npm:^12.0.3" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^27.4.1" "@types/jest-when": "npm:^2.7.3" @@ -3264,7 +3251,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -3282,7 +3269,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/json-rpc-engine": "npm:^10.0.3" "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/readable-stream": "npm:^2.3.0" deepmerge: "npm:^4.2.2" @@ -3349,14 +3336,13 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/browser-passworder": "npm:^4.3.0" - "@metamask/eth-hd-keyring": "npm:^7.0.4" - "@metamask/eth-sig-util": "npm:^8.0.0" - "@metamask/eth-simple-keyring": "npm:^6.0.5" + "@metamask/eth-hd-keyring": "npm:^10.0.0" + "@metamask/eth-sig-util": "npm:^8.2.0" + "@metamask/eth-simple-keyring": "npm:^8.1.0" "@metamask/keyring-api": "npm:^17.0.0" "@metamask/keyring-internal-api": "npm:^4.0.1" - "@metamask/message-manager": "npm:^12.0.1" "@metamask/scure-bip39": "npm:^2.1.1" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" async-mutex: "npm:^0.5.0" deepmerge: "npm:^4.2.2" @@ -3459,15 +3445,15 @@ __metadata: languageName: unknown linkType: soft -"@metamask/message-manager@npm:^12.0.1, @metamask/message-manager@workspace:packages/message-manager": +"@metamask/message-manager@workspace:packages/message-manager": version: 0.0.0-use.local resolution: "@metamask/message-manager@workspace:packages/message-manager" dependencies: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" - "@metamask/eth-sig-util": "npm:^8.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/eth-sig-util": "npm:^8.2.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/uuid": "npm:^8.3.0" deepmerge: "npm:^4.2.2" @@ -3497,7 +3483,7 @@ __metadata: "@metamask/keyring-api": "npm:^17.0.0" "@metamask/keyring-controller": "npm:^19.1.0" "@metamask/network-controller": "npm:^22.2.1" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@solana/addresses": "npm:^2.0.0" "@types/jest": "npm:^27.4.1" "@types/uuid": "npm:^8.3.0" @@ -3530,7 +3516,7 @@ __metadata: "@metamask/snaps-controllers": "npm:^9.19.0" "@metamask/snaps-sdk": "npm:^6.17.1" "@metamask/snaps-utils": "npm:^8.10.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/uuid": "npm:^8.3.0" deepmerge: "npm:^4.2.2" @@ -3560,7 +3546,7 @@ __metadata: "@metamask/permission-controller": "npm:^11.0.6" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@open-rpc/meta-schema": "npm:^1.14.6" "@open-rpc/schema-utils-js": "npm:^2.0.5" "@types/jest": "npm:^27.4.1" @@ -3585,7 +3571,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" async-mutex: "npm:^0.5.0" deepmerge: "npm:^4.2.2" @@ -3613,7 +3599,7 @@ __metadata: "@metamask/json-rpc-engine": "npm:^10.0.3" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/swappable-obj-proxy": "npm:^2.3.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/jest-when": "npm:^2.7.3" "@types/lodash": "npm:^4.14.191" @@ -3663,7 +3649,7 @@ __metadata: "@metamask/controller-utils": "npm:^11.5.0" "@metamask/keyring-controller": "npm:^19.1.0" "@metamask/profile-sync-controller": "npm:^8.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/readable-stream": "npm:^2.3.0" bignumber.js: "npm:^9.1.2" @@ -3725,7 +3711,7 @@ __metadata: "@metamask/controller-utils": "npm:^11.5.0" "@metamask/json-rpc-engine": "npm:^10.0.3" "@metamask/rpc-errors": "npm:^7.0.2" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/deep-freeze-strict": "npm:^1.1.0" "@types/jest": "npm:^27.4.1" deep-freeze-strict: "npm:^1.1.1" @@ -3749,7 +3735,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/json-rpc-engine": "npm:^10.0.3" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/deep-freeze-strict": "npm:^1.1.0" "@types/jest": "npm:^27.4.1" deep-freeze-strict: "npm:^1.1.1" @@ -3795,7 +3781,7 @@ __metadata: "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" "@metamask/network-controller": "npm:^22.2.1" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" "@types/uuid": "npm:^8.3.0" deepmerge: "npm:^4.2.2" @@ -3919,7 +3905,7 @@ __metadata: "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/selected-network-controller": "npm:^21.0.1" "@metamask/swappable-obj-proxy": "npm:^2.3.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" immer: "npm:^9.0.6" @@ -3944,7 +3930,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/rpc-errors": "npm:^7.0.2" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -3963,7 +3949,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -4013,7 +3999,7 @@ __metadata: "@metamask/network-controller": "npm:^22.2.1" "@metamask/permission-controller": "npm:^11.0.6" "@metamask/swappable-obj-proxy": "npm:^2.3.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" immer: "npm:^9.0.6" @@ -4039,11 +4025,11 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" "@metamask/controller-utils": "npm:^11.5.0" - "@metamask/eth-sig-util": "npm:^8.0.0" + "@metamask/eth-sig-util": "npm:^8.2.0" "@metamask/keyring-controller": "npm:^19.1.0" "@metamask/logging-controller": "npm:^6.0.4" "@metamask/network-controller": "npm:^22.2.1" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -4210,7 +4196,7 @@ __metadata: dependencies: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -4248,7 +4234,7 @@ __metadata: "@metamask/nonce-tracker": "npm:^6.0.0" "@metamask/remote-feature-flag-controller": "npm:^1.4.0" "@metamask/rpc-errors": "npm:^7.0.2" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^27.4.1" "@types/node": "npm:^16.18.54" @@ -4295,7 +4281,7 @@ __metadata: "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/superstruct": "npm:^3.1.0" "@metamask/transaction-controller": "npm:^46.0.0" - "@metamask/utils": "npm:^11.1.0" + "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" bn.js: "npm:^5.2.1" deepmerge: "npm:^4.2.2" @@ -4317,7 +4303,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0": +"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0, @metamask/utils@npm:^11.2.0": version: 11.2.0 resolution: "@metamask/utils@npm:11.2.0" dependencies: @@ -4351,7 +4337,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^9.0.0, @metamask/utils@npm:^9.2.1": +"@metamask/utils@npm:^9.0.0": version: 9.3.0 resolution: "@metamask/utils@npm:9.3.0" dependencies: