diff --git a/packages/accounts-controller/CHANGELOG.md b/packages/accounts-controller/CHANGELOG.md index 35846f5667c..76b38715e4c 100644 --- a/packages/accounts-controller/CHANGELOG.md +++ b/packages/accounts-controller/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump `@metamask/keyring-utils` from `^2.3.1` to `^3.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- **BREAKING:** Bump `@metamask/keyring-internal-api` from `^5.0.0` to `^6.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- **BREAKING:** Bump `@metamask/eth-snap-keyring` from `^11.1.0` to `^12.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- **BREAKING:** Bump `@ethereumjs/util` from `^8.1.0` to `^9.1.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) + ## [25.0.0] ### Changed diff --git a/packages/accounts-controller/package.json b/packages/accounts-controller/package.json index 59d689f6d3a..42e6b8f8ea6 100644 --- a/packages/accounts-controller/package.json +++ b/packages/accounts-controller/package.json @@ -47,12 +47,12 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@ethereumjs/util": "^8.1.0", + "@ethereumjs/util": "^9.1.0", "@metamask/base-controller": "^8.0.0", - "@metamask/eth-snap-keyring": "^11.1.0", + "@metamask/eth-snap-keyring": "^12.0.0", "@metamask/keyring-api": "^17.2.0", - "@metamask/keyring-internal-api": "^5.0.0", - "@metamask/keyring-utils": "^2.3.1", + "@metamask/keyring-internal-api": "^6.0.0", + "@metamask/keyring-utils": "^3.0.0", "@metamask/network-controller": "^22.2.1", "@metamask/snaps-sdk": "^6.17.1", "@metamask/snaps-utils": "^8.10.0", diff --git a/packages/accounts-controller/src/utils.ts b/packages/accounts-controller/src/utils.ts index 3562df9b566..0c4e89a0662 100644 --- a/packages/accounts-controller/src/utils.ts +++ b/packages/accounts-controller/src/utils.ts @@ -1,5 +1,5 @@ -import { toBuffer } from '@ethereumjs/util'; import { isCustodyKeyring, KeyringTypes } from '@metamask/keyring-controller'; +import { hexToBytes } from '@metamask/utils'; import { sha256 } from 'ethereum-cryptography/sha256'; import type { V4Options } from 'uuid'; import { v4 as uuid } from 'uuid'; @@ -58,7 +58,7 @@ export function getUUIDOptionsFromAddressOfNormalAccount( address: string, ): V4Options { const v4options = { - random: sha256(toBuffer(address)).slice(0, 16), + random: sha256(hexToBytes(address)).slice(0, 16), }; return v4options; diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index 6ae058136a6..e51b1d0a25b 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump `@metamask/keyring-internal-api` from `^5.0.0` to `^6.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- **BREAKING:** Bump `@ethereumjs/util` from `^8.1.0` to `^9.1.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) + ## [52.0.0] ### Changed diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 4e97ce70ee7..144af3790b4 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -47,7 +47,7 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@ethereumjs/util": "^8.1.0", + "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.7.0", "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -82,7 +82,7 @@ "@metamask/auto-changelog": "^3.4.4", "@metamask/ethjs-provider-http": "^0.3.0", "@metamask/keyring-controller": "^20.0.0", - "@metamask/keyring-internal-api": "^5.0.0", + "@metamask/keyring-internal-api": "^6.0.0", "@metamask/keyring-snap-client": "^4.0.1", "@metamask/network-controller": "^22.2.1", "@metamask/permission-controller": "^11.0.6", diff --git a/packages/assets-controllers/src/Standards/ERC20Standard.ts b/packages/assets-controllers/src/Standards/ERC20Standard.ts index 9eadcd78b06..05df1933f12 100644 --- a/packages/assets-controllers/src/Standards/ERC20Standard.ts +++ b/packages/assets-controllers/src/Standards/ERC20Standard.ts @@ -1,10 +1,10 @@ -import { toUtf8 } from '@ethereumjs/util'; +import { bytesToUtf8 } from '@ethereumjs/util'; import { Contract } from '@ethersproject/contracts'; import type { Web3Provider } from '@ethersproject/providers'; import { decodeSingle } from '@metamask/abi-utils'; import { ERC20 } from '@metamask/controller-utils'; import { abiERC20 } from '@metamask/metamask-eth-abis'; -import { assertIsStrictHexString } from '@metamask/utils'; +import { assertIsStrictHexString, hexToBytes } from '@metamask/utils'; import type BN from 'bn.js'; import { ethersBigNumberToBN } from '../assetsUtil'; @@ -98,7 +98,15 @@ export class ERC20Standard { // Parse as bytes - treat empty string as failure try { - const utf8 = toUtf8(result); + // Not done in bytesToUtf8 in ethereumjs/util. + const regexPreceedingAndTrailingZeroes = /^(00)+|(00)+$/gu; + + const resultTrimmed = result?.replace( + regexPreceedingAndTrailingZeroes, + '', + ); + + const utf8 = bytesToUtf8(hexToBytes(resultTrimmed)); if (utf8.length > 0) { return utf8; } diff --git a/packages/controller-utils/CHANGELOG.md b/packages/controller-utils/CHANGELOG.md index 0e9c9f5e7b5..73f5353e4d7 100644 --- a/packages/controller-utils/CHANGELOG.md +++ b/packages/controller-utils/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- Bump `@ethereumjs/util` from `^8.1.0` to `^9.1.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) + ## [11.5.0] ### Added diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index ef290dee757..de50672b532 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -47,7 +47,7 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@ethereumjs/util": "^8.1.0", + "@ethereumjs/util": "^9.1.0", "@metamask/eth-query": "^4.0.0", "@metamask/ethjs-unit": "^0.3.0", "@metamask/utils": "^11.2.0", diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md index 3f66471dbea..0b147749af8 100644 --- a/packages/keyring-controller/CHANGELOG.md +++ b/packages/keyring-controller/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Bump `@metamask/keyring-internal-api` from `^5.0.0` to `^6.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- Bump `@metamask/eth-simple-keyring` from `^9.0.0` to `^10.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- Bump `@metamask/eth-hd-keyring` from `^11.0.0` to `^12.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) +- Bump `@ethereumjs/util` from `^8.1.0` to `^9.1.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) - **BREAKING:** `addNewKeyring` method now returns `Promise` instead of `Promise` ([#5372](https://github.com/MetaMask/core/pull/5372)) - Consumers can use the returned `KeyringMetadata.id` to access the created keyring instance via `withKeyring`. - **BREAKING:** `withKeyring` method now requires a callback argument of type `({ keyring: SelectedKeyring; metadata: KeyringMetadata }) => Promise` ([#5372](https://github.com/MetaMask/core/pull/5372)) diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index adca77f4cc1..2839f91993d 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -47,15 +47,15 @@ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch" }, "dependencies": { - "@ethereumjs/util": "^8.1.0", + "@ethereumjs/util": "^9.1.0", "@keystonehq/metamask-airgapped-keyring": "^0.14.1", "@metamask/base-controller": "^8.0.0", "@metamask/browser-passworder": "^4.3.0", - "@metamask/eth-hd-keyring": "^11.0.0", + "@metamask/eth-hd-keyring": "^12.0.0", "@metamask/eth-sig-util": "^8.2.0", - "@metamask/eth-simple-keyring": "^9.0.0", + "@metamask/eth-simple-keyring": "^10.0.0", "@metamask/keyring-api": "^17.2.0", - "@metamask/keyring-internal-api": "^5.0.0", + "@metamask/keyring-internal-api": "^6.0.0", "@metamask/utils": "^11.2.0", "async-mutex": "^0.5.0", "ethereumjs-wallet": "^1.0.1", @@ -63,13 +63,13 @@ "ulid": "^2.3.0" }, "devDependencies": { - "@ethereumjs/common": "^3.2.0", - "@ethereumjs/tx": "^4.2.0", + "@ethereumjs/common": "^4.4.0", + "@ethereumjs/tx": "^5.4.0", "@keystonehq/bc-ur-registry-eth": "^0.19.0", "@lavamoat/allow-scripts": "^3.0.4", "@lavamoat/preinstall-always-fail": "^2.1.0", "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-utils": "^2.3.1", + "@metamask/keyring-utils": "^3.0.0", "@metamask/scure-bip39": "^2.1.1", "@types/jest": "^27.4.1", "deepmerge": "^4.2.2", diff --git a/packages/keyring-controller/src/KeyringController.test.ts b/packages/keyring-controller/src/KeyringController.test.ts index c911a420d1e..438530bf346 100644 --- a/packages/keyring-controller/src/KeyringController.test.ts +++ b/packages/keyring-controller/src/KeyringController.test.ts @@ -1,4 +1,5 @@ import { Chain, Common, Hardfork } from '@ethereumjs/common'; +import type { TypedTxData } from '@ethereumjs/tx'; import { TransactionFactory } from '@ethereumjs/tx'; import { CryptoHDKey, ETHSignature } from '@keystonehq/bc-ur-registry-eth'; import { MetaMaskKeyring as QRKeyring } from '@keystonehq/metamask-airgapped-keyring'; @@ -16,13 +17,7 @@ import SimpleKeyring from '@metamask/eth-simple-keyring'; import type { EthKeyring } from '@metamask/keyring-internal-api'; import type { KeyringClass } from '@metamask/keyring-utils'; import { wordlist } from '@metamask/scure-bip39/dist/wordlists/english'; -import { - bytesToHex, - isValidHexAddress, - type Hex, - type Keyring, - type Json, -} from '@metamask/utils'; +import { bytesToHex, isValidHexAddress, type Hex } from '@metamask/utils'; import * as sinon from 'sinon'; import * as uuid from 'uuid'; @@ -311,7 +306,7 @@ describe('KeyringController', () => { await withController(async ({ controller, initialState }) => { const [primaryKeyring] = controller.getKeyringsByType( KeyringTypes.hd, - ) as Keyring[]; + ) as EthKeyring[]; const addedAccountAddress = await controller.addNewAccountForKeyring(primaryKeyring); expect(initialState.keyrings).toHaveLength(1); @@ -361,7 +356,7 @@ describe('KeyringController', () => { await withController(async ({ controller, initialState }) => { const [primaryKeyring] = controller.getKeyringsByType( KeyringTypes.hd, - ) as Keyring[]; + ) as EthKeyring[]; const addedAccountAddress = await controller.addNewAccountForKeyring(primaryKeyring); expect(initialState.keyrings).toHaveLength(1); @@ -382,7 +377,7 @@ describe('KeyringController', () => { await withController(async ({ controller, initialState }) => { const [primaryKeyring] = controller.getKeyringsByType( KeyringTypes.hd, - ) as Keyring[]; + ) as EthKeyring[]; const accountCount = initialState.keyrings[0].accounts.length; await expect( controller.addNewAccountForKeyring( @@ -398,7 +393,7 @@ describe('KeyringController', () => { const accountCount = initialState.keyrings[0].accounts.length; const [primaryKeyring] = controller.getKeyringsByType( KeyringTypes.hd, - ) as Keyring[]; + ) as EthKeyring[]; const firstAccountAdded = await controller.addNewAccountForKeyring( primaryKeyring, accountCount, @@ -758,7 +753,7 @@ describe('KeyringController', () => { await withController(async ({ controller }) => { const primaryKeyring = controller.getKeyringsByType( KeyringTypes.hd, - )[0] as Keyring & { mnemonic: string }; + )[0] as EthKeyring & { mnemonic: string }; primaryKeyring.mnemonic = ''; @@ -1070,7 +1065,7 @@ describe('KeyringController', () => { const keyring = (await controller.getKeyringForAccount( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion normalizedInitialAccounts[0]!, - )) as Keyring; + )) as EthKeyring; expect(keyring.type).toBe('HD Key Tree'); expect(keyring.getAccounts()).toStrictEqual( normalizedInitialAccounts, @@ -1140,7 +1135,7 @@ describe('KeyringController', () => { await withController(async ({ controller }) => { const keyrings = controller.getKeyringsByType( KeyringTypes.hd, - ) as Keyring[]; + ) as EthKeyring[]; expect(keyrings).toHaveLength(1); expect(keyrings[0].type).toBe(KeyringTypes.hd); expect(keyrings[0].getAccounts()).toStrictEqual( @@ -1175,7 +1170,7 @@ describe('KeyringController', () => { await withController(async ({ controller }) => { const primaryKeyring = controller.getKeyringsByType( KeyringTypes.hd, - )[0] as Keyring; + )[0] as EthKeyring; const [addedAccount] = await primaryKeyring.addAccounts(1); await controller.persistAllKeyrings(); @@ -2081,10 +2076,9 @@ describe('KeyringController', () => { it('should sign transaction', async () => { await withController(async ({ controller, initialState }) => { const account = initialState.keyrings[0].accounts[0]; - const txParams = { + const txParams: TypedTxData = { chainId: 5, data: '0x1', - from: account, gasLimit: '0x5108', gasPrice: '0x5108', to: '0x51253087e6f8358b5f10c0a94315d69db3357859', @@ -2105,13 +2099,11 @@ describe('KeyringController', () => { }); it('should not sign transaction if from account is not provided', async () => { - await withController(async ({ controller, initialState }) => { + await withController(async ({ controller }) => { await expect(async () => { - const account = initialState.keyrings[0].accounts[0]; - const txParams = { + const txParams: TypedTxData = { chainId: 5, data: '0x1', - from: account, gasLimit: '0x5108', gasPrice: '0x5108', to: '0x51253087e6f8358b5f10c0a94315d69db3357859', @@ -2780,7 +2772,7 @@ describe('KeyringController', () => { await withController(async ({ controller }) => { const primaryKeyring = controller.getKeyringsByType( KeyringTypes.hd, - )[0] as Keyring & { mnemonic: string }; + )[0] as EthKeyring & { mnemonic: string }; primaryKeyring.mnemonic = ''; diff --git a/packages/keyring-controller/src/KeyringController.ts b/packages/keyring-controller/src/KeyringController.ts index 88ba6db7099..2dd18fece54 100644 --- a/packages/keyring-controller/src/KeyringController.ts +++ b/packages/keyring-controller/src/KeyringController.ts @@ -1,5 +1,5 @@ -import type { TxData, TypedTransaction } from '@ethereumjs/tx'; -import { isValidPrivate, toBuffer, getBinarySize } from '@ethereumjs/util'; +import type { TypedTransaction, TypedTxData } from '@ethereumjs/tx'; +import { isValidPrivate, getBinarySize } from '@ethereumjs/util'; import type { MetaMaskKeyring as QRKeyring, IKeyringState as IQRKeyringState, @@ -26,6 +26,7 @@ import { assertIsStrictHexString, bytesToHex, hasProperty, + hexToBytes, isObject, isStrictHexString, isValidHexAddress, @@ -1053,7 +1054,7 @@ export class KeyringController extends BaseController< let bufferedPrivateKey; try { - bufferedPrivateKey = toBuffer(prefixed); + bufferedPrivateKey = hexToBytes(prefixed); } catch { throw new Error('Cannot import invalid private key.'); } @@ -1298,7 +1299,7 @@ export class KeyringController extends BaseController< transaction: TypedTransaction, from: string, opts?: Record, - ): Promise { + ): Promise { this.#assertIsUnlocked(); const address = ethNormalize(from) as Hex; const keyring = (await this.getKeyringForAccount(address)) as EthKeyring; diff --git a/packages/keyring-controller/tests/mocks/mockTransaction.ts b/packages/keyring-controller/tests/mocks/mockTransaction.ts index 5548fa0a008..e03869bbd2f 100644 --- a/packages/keyring-controller/tests/mocks/mockTransaction.ts +++ b/packages/keyring-controller/tests/mocks/mockTransaction.ts @@ -1,4 +1,4 @@ -import { TransactionFactory, type TxData } from '@ethereumjs/tx'; +import { TransactionFactory, type TypedTxData } from '@ethereumjs/tx'; /** * Build a mock transaction, optionally overriding @@ -7,7 +7,7 @@ import { TransactionFactory, type TxData } from '@ethereumjs/tx'; * @param options - The transaction options to override. * @returns The mock transaction. */ -export const buildMockTransaction = (options: TxData = {}) => +export const buildMockTransaction = (options: TypedTxData = {}) => TransactionFactory.fromTxData({ to: '0xB1A13aBECeB71b2E758c7e0Da404DF0C72Ca3a12', value: '0x0', diff --git a/packages/multichain-transactions-controller/CHANGELOG.md b/packages/multichain-transactions-controller/CHANGELOG.md index da916aa45da..124f1305656 100644 --- a/packages/multichain-transactions-controller/CHANGELOG.md +++ b/packages/multichain-transactions-controller/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Bump `@metamask/keyring-internal-api` from `^5.0.0` to `^6.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) - Sort transactions (newest first) ([#5339](https://github.com/MetaMask/core/pull/5339)) - Bump `@metamask/keyring-controller"` from `^19.1.0` to `^19.2.0` ([#5357](https://github.com/MetaMask/core/pull/5357)) - Bump `@metamask/keyring-api"` from `^17.0.0` to `^17.2.0` ([#5366](https://github.com/MetaMask/core/pull/5366)) diff --git a/packages/multichain-transactions-controller/package.json b/packages/multichain-transactions-controller/package.json index 3fa91e3e23f..135f601cad7 100644 --- a/packages/multichain-transactions-controller/package.json +++ b/packages/multichain-transactions-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@metamask/base-controller": "^8.0.0", "@metamask/keyring-api": "^17.2.0", - "@metamask/keyring-internal-api": "^5.0.0", + "@metamask/keyring-internal-api": "^6.0.0", "@metamask/keyring-snap-client": "^4.0.1", "@metamask/polling-controller": "^12.0.3", "@metamask/snaps-controllers": "^9.19.0", diff --git a/packages/profile-sync-controller/CHANGELOG.md b/packages/profile-sync-controller/CHANGELOG.md index 9e7b86294c2..b6a65f0989f 100644 --- a/packages/profile-sync-controller/CHANGELOG.md +++ b/packages/profile-sync-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump `@metamask/keyring-internal-api` from `^5.0.0` to `^6.0.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) + ## [9.0.0] ### Changed diff --git a/packages/profile-sync-controller/package.json b/packages/profile-sync-controller/package.json index 2d2f7466879..727a0362a5d 100644 --- a/packages/profile-sync-controller/package.json +++ b/packages/profile-sync-controller/package.json @@ -117,7 +117,7 @@ "@lavamoat/preinstall-always-fail": "^2.1.0", "@metamask/accounts-controller": "^25.0.0", "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-internal-api": "^5.0.0", + "@metamask/keyring-internal-api": "^6.0.0", "@metamask/providers": "^18.1.1", "@metamask/snaps-controllers": "^9.19.0", "@types/jest": "^27.4.1", diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md index 247cff28aa8..898d78455cd 100644 --- a/packages/transaction-controller/CHANGELOG.md +++ b/packages/transaction-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **BREAKING:** Bump `@ethereumjs/util` from `^8.1.0` to `^9.1.0` ([#5347](https://github.com/MetaMask/core/pull/5347)) + ## [47.0.0] ### Added diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 151657932de..a1e60e11dbb 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -49,7 +49,7 @@ "dependencies": { "@ethereumjs/common": "^4.4.0", "@ethereumjs/tx": "^5.4.0", - "@ethereumjs/util": "^8.1.0", + "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.7.0", "@ethersproject/contracts": "^5.7.0", "@ethersproject/providers": "^5.7.0", diff --git a/yarn.config.cjs b/yarn.config.cjs index 946a5ce0a3c..4cac2643812 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -24,9 +24,6 @@ const { inspect } = require('util'); */ const ALLOWED_INCONSISTENT_DEPENDENCIES = { // '@metamask/json-rpc-engine': ['^9.0.3'], - // Temporary to allow separate keyring API and keyring-controller upgrade. - '@ethereumjs/common': ['^3.2.0'], - '@ethereumjs/tx': ['^4.2.0'], }; /** diff --git a/yarn.lock b/yarn.lock index 3cad2e4f95a..108530c611e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2344,14 +2344,14 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/accounts-controller@workspace:packages/accounts-controller" dependencies: - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/util": "npm:^9.1.0" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^8.0.0" - "@metamask/eth-snap-keyring": "npm:^11.1.0" + "@metamask/eth-snap-keyring": "npm:^12.0.0" "@metamask/keyring-api": "npm:^17.2.0" "@metamask/keyring-controller": "npm:^20.0.0" - "@metamask/keyring-internal-api": "npm:^5.0.0" - "@metamask/keyring-utils": "npm:^2.3.1" + "@metamask/keyring-internal-api": "npm:^6.0.0" + "@metamask/keyring-utils": "npm:^3.0.0" "@metamask/network-controller": "npm:^22.2.1" "@metamask/providers": "npm:^18.1.1" "@metamask/snaps-controllers": "npm:^9.19.0" @@ -2456,7 +2456,7 @@ __metadata: resolution: "@metamask/assets-controllers@workspace:packages/assets-controllers" dependencies: "@babel/runtime": "npm:^7.23.9" - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/util": "npm:^9.1.0" "@ethersproject/abi": "npm:^5.7.0" "@ethersproject/address": "npm:^5.7.0" "@ethersproject/bignumber": "npm:^5.7.0" @@ -2473,7 +2473,7 @@ __metadata: "@metamask/ethjs-provider-http": "npm:^0.3.0" "@metamask/keyring-api": "npm:^17.2.0" "@metamask/keyring-controller": "npm:^20.0.0" - "@metamask/keyring-internal-api": "npm:^5.0.0" + "@metamask/keyring-internal-api": "npm:^6.0.0" "@metamask/keyring-snap-client": "npm:^4.0.1" "@metamask/metamask-eth-abis": "npm:^3.1.1" "@metamask/network-controller": "npm:^22.2.1" @@ -2709,7 +2709,7 @@ __metadata: resolution: "@metamask/controller-utils@workspace:packages/controller-utils" dependencies: "@babel/runtime": "npm:^7.23.9" - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/util": "npm:^9.1.0" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/eth-query": "npm:^4.0.0" "@metamask/ethjs-unit": "npm:^0.3.0" @@ -2941,17 +2941,17 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-hd-keyring@npm:^11.0.0": - version: 11.0.0 - resolution: "@metamask/eth-hd-keyring@npm:11.0.0" +"@metamask/eth-hd-keyring@npm:^12.0.0": + version: 12.0.0 + resolution: "@metamask/eth-hd-keyring@npm:12.0.0" dependencies: - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/util": "npm:^9.1.0" "@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:^11.1.0" ethereum-cryptography: "npm:^2.1.2" - checksum: 10/34e79c06740273518b653bfbef75371f2934ac1d73698f2a0f5f3e124300d5b43c86351f6989dc5aae5026ad2410171e75caabb7a14e9eacaea868f83be1b36d + checksum: 10/9567238a11c0e3a331a477fbe6ad5ee42b10bb943efdff9696bf178127b9d5aac2ce02295221fa19d18981231251ee25053034b7780495e2c2fc7427c5c02516 languageName: node linkType: hard @@ -3048,37 +3048,37 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-simple-keyring@npm:^9.0.0": - version: 9.0.0 - resolution: "@metamask/eth-simple-keyring@npm:9.0.0" +"@metamask/eth-simple-keyring@npm:^10.0.0": + version: 10.0.0 + resolution: "@metamask/eth-simple-keyring@npm:10.0.0" dependencies: - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/util": "npm:^9.1.0" "@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/2f7062546288afcc986a7baf703fc518b1a26587d3675dddd97a0ea940b54020e8878b3aa94fc562bf96196e67aa5ff854b428de68eb8da65101868f4487d034 + checksum: 10/e749e16cbbd3b542cda3e727ee1efb16f597c8583a0ca0bbb457b500397c0b492ecdf07965a67cec3b4bfb25fc56caa01810b23b918939dd104eea759caa339a languageName: node linkType: hard -"@metamask/eth-snap-keyring@npm:^11.1.0": - version: 11.1.0 - resolution: "@metamask/eth-snap-keyring@npm:11.1.0" +"@metamask/eth-snap-keyring@npm:^12.0.0": + version: 12.0.0 + resolution: "@metamask/eth-snap-keyring@npm:12.0.0" dependencies: - "@ethereumjs/tx": "npm:^4.2.0" + "@ethereumjs/tx": "npm:^5.4.0" "@metamask/base-controller": "npm:^7.1.1" "@metamask/eth-sig-util": "npm:^8.2.0" - "@metamask/keyring-api": "npm:^17.2.0" - "@metamask/keyring-internal-api": "npm:^4.0.3" + "@metamask/keyring-api": "npm:^17.2.1" + "@metamask/keyring-internal-api": "npm:^5.0.0" "@metamask/keyring-internal-snap-client": "npm:^4.0.1" - "@metamask/keyring-utils": "npm:^2.3.0" + "@metamask/keyring-utils": "npm:^3.0.0" "@metamask/superstruct": "npm:^3.1.0" "@metamask/utils": "npm:^11.1.0" "@types/uuid": "npm:^9.0.8" uuid: "npm:^9.0.1" peerDependencies: - "@metamask/keyring-api": ^17.2.0 - checksum: 10/b01abdcb2bd44c6fdf8fef3b897cdb78f99b5cf0a01d8c00d4fbad28b071c9073c9fdbfca974b452db6dddd44c6c0918b7bdb8705af0bc4393d1f9efa73ae33b + "@metamask/keyring-api": ^17.2.1 + checksum: 10/9c57c618f4401b7a983daea3578090d763fcacdaf30431aaa3301360cda6537443534b37c191a3640891a9eee105e33b41a966187e5fb172f5022e1b40412222 languageName: node linkType: hard @@ -3351,9 +3351,9 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/keyring-controller@workspace:packages/keyring-controller" dependencies: - "@ethereumjs/common": "npm:^3.2.0" - "@ethereumjs/tx": "npm:^4.2.0" - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/common": "npm:^4.4.0" + "@ethereumjs/tx": "npm:^5.4.0" + "@ethereumjs/util": "npm:^9.1.0" "@keystonehq/bc-ur-registry-eth": "npm:^0.19.0" "@keystonehq/metamask-airgapped-keyring": "npm:^0.14.1" "@lavamoat/allow-scripts": "npm:^3.0.4" @@ -3361,12 +3361,12 @@ __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:^11.0.0" + "@metamask/eth-hd-keyring": "npm:^12.0.0" "@metamask/eth-sig-util": "npm:^8.2.0" - "@metamask/eth-simple-keyring": "npm:^9.0.0" + "@metamask/eth-simple-keyring": "npm:^10.0.0" "@metamask/keyring-api": "npm:^17.2.0" - "@metamask/keyring-internal-api": "npm:^5.0.0" - "@metamask/keyring-utils": "npm:^2.3.1" + "@metamask/keyring-internal-api": "npm:^6.0.0" + "@metamask/keyring-utils": "npm:^3.0.0" "@metamask/scure-bip39": "npm:^2.1.1" "@metamask/utils": "npm:^11.2.0" "@types/jest": "npm:^27.4.1" @@ -3386,18 +3386,6 @@ __metadata: languageName: unknown linkType: soft -"@metamask/keyring-internal-api@npm:^4.0.3": - version: 4.0.3 - resolution: "@metamask/keyring-internal-api@npm:4.0.3" - dependencies: - "@metamask/keyring-api": "npm:^17.2.0" - "@metamask/keyring-utils": "npm:^2.3.0" - "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^11.1.0" - checksum: 10/11a18a1179cfa710257319d42619f44984cfc6dae7060d9bb35019ce6869511a5bc14eea51db34535d2f9b844b8153dce231bb97e036387487dc6f7adb48fe86 - languageName: node - linkType: hard - "@metamask/keyring-internal-api@npm:^5.0.0": version: 5.0.0 resolution: "@metamask/keyring-internal-api@npm:5.0.0" @@ -3409,6 +3397,17 @@ __metadata: languageName: node linkType: hard +"@metamask/keyring-internal-api@npm:^6.0.0": + version: 6.0.0 + resolution: "@metamask/keyring-internal-api@npm:6.0.0" + dependencies: + "@metamask/keyring-api": "npm:^17.2.1" + "@metamask/keyring-utils": "npm:^3.0.0" + "@metamask/superstruct": "npm:^3.1.0" + checksum: 10/069945b3423e7b6bd0b8735d65e17c968e494bc3f8c06e585d6e27f09ced0027541440c9e90ffbcd59b1daf91d7848c09be010a8ceb547ed3c4f6465e810b7a8 + languageName: node + linkType: hard + "@metamask/keyring-internal-snap-client@npm:^4.0.1": version: 4.0.1 resolution: "@metamask/keyring-internal-snap-client@npm:4.0.1" @@ -3449,6 +3448,18 @@ __metadata: languageName: node linkType: hard +"@metamask/keyring-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "@metamask/keyring-utils@npm:3.0.0" + dependencies: + "@ethereumjs/tx": "npm:^5.4.0" + "@metamask/superstruct": "npm:^3.1.0" + "@metamask/utils": "npm:^11.1.0" + bitcoin-address-validation: "npm:^2.2.3" + checksum: 10/eff3c0b9a86d6a25c5dd443946ba3ff56cb94fcb915a4eb061089819805e1e78eba2ea5cfb12a47ec4606542870c417de422f755947389ab9f3a4f08e96742db + languageName: node + linkType: hard + "@metamask/logging-controller@npm:^6.0.4, @metamask/logging-controller@workspace:packages/logging-controller": version: 0.0.0-use.local resolution: "@metamask/logging-controller@workspace:packages/logging-controller" @@ -3532,7 +3543,7 @@ __metadata: "@metamask/base-controller": "npm:^8.0.0" "@metamask/keyring-api": "npm:^17.2.0" "@metamask/keyring-controller": "npm:^20.0.0" - "@metamask/keyring-internal-api": "npm:^5.0.0" + "@metamask/keyring-internal-api": "npm:^6.0.0" "@metamask/keyring-snap-client": "npm:^4.0.1" "@metamask/polling-controller": "npm:^12.0.3" "@metamask/snaps-controllers": "npm:^9.19.0" @@ -3862,7 +3873,7 @@ __metadata: "@metamask/base-controller": "npm:^8.0.0" "@metamask/keyring-api": "npm:^17.2.0" "@metamask/keyring-controller": "npm:^20.0.0" - "@metamask/keyring-internal-api": "npm:^5.0.0" + "@metamask/keyring-internal-api": "npm:^6.0.0" "@metamask/network-controller": "npm:^22.2.1" "@metamask/providers": "npm:^18.1.1" "@metamask/snaps-controllers": "npm:^9.19.0" @@ -4237,7 +4248,7 @@ __metadata: "@babel/runtime": "npm:^7.23.9" "@ethereumjs/common": "npm:^4.4.0" "@ethereumjs/tx": "npm:^5.4.0" - "@ethereumjs/util": "npm:^8.1.0" + "@ethereumjs/util": "npm:^9.1.0" "@ethersproject/abi": "npm:^5.7.0" "@ethersproject/contracts": "npm:^5.7.0" "@ethersproject/providers": "npm:^5.7.0"