diff --git a/eslint-warning-thresholds.json b/eslint-warning-thresholds.json index 50c54745012..0ea81f8f6b3 100644 --- a/eslint-warning-thresholds.json +++ b/eslint-warning-thresholds.json @@ -470,8 +470,7 @@ "@typescript-eslint/no-unused-vars": 1, "@typescript-eslint/prefer-promise-reject-errors": 1, "import-x/order": 1, - "jest/no-conditional-in-test": 4, - "prettier/prettier": 2 + "jest/no-conditional-in-test": 4 }, "packages/network-controller/tests/create-network-client.test.ts": { "import-x/order": 1 diff --git a/package.json b/package.json index 3252490e4da..7402c791246 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/core-monorepo", - "version": "289.0.0", + "version": "290.0.0", "private": true, "description": "Monorepo for packages shared between MetaMask clients", "repository": { diff --git a/packages/accounts-controller/CHANGELOG.md b/packages/accounts-controller/CHANGELOG.md index afb00ca36a9..0669107856c 100644 --- a/packages/accounts-controller/CHANGELOG.md +++ b/packages/accounts-controller/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [22.0.0] + +### Added + +- Add `AccountsController:account{AssetList,Balances,Transactions}Updated` events ([#5190](https://github.com/MetaMask/core/pull/5190)) + - Those events are being sent from Account Snaps (through the Snap keyring) and are being re-published by the `AccountController`. + +### Changed + +- **BREAKING:** Now requires `SnapKeyring:account{AssetList,Balances,Transactions}Updated` events to be registered on the messenger ([#5190](https://github.com/MetaMask/core/pull/5190)) +- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) +- Bump `@metamask/keyring-internal-api` from `^2.0.1` to `^4.0.1` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) +- Bump `@metamask/eth-snap-keyring` from `^8.1.1` to `^9.1.1` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) + ## [21.0.2] ### Changed @@ -402,7 +416,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial release ([#1637](https://github.com/MetaMask/core/pull/1637)) -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@21.0.2...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@22.0.0...HEAD +[22.0.0]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@21.0.2...@metamask/accounts-controller@22.0.0 [21.0.2]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@21.0.1...@metamask/accounts-controller@21.0.2 [21.0.1]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@21.0.0...@metamask/accounts-controller@21.0.1 [21.0.0]: https://github.com/MetaMask/core/compare/@metamask/accounts-controller@20.0.2...@metamask/accounts-controller@21.0.0 diff --git a/packages/accounts-controller/package.json b/packages/accounts-controller/package.json index 52a6cf3a20d..5498b42c956 100644 --- a/packages/accounts-controller/package.json +++ b/packages/accounts-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/accounts-controller", - "version": "21.0.2", + "version": "22.0.0", "description": "Manages internal accounts", "keywords": [ "MetaMask", @@ -49,11 +49,11 @@ "dependencies": { "@ethereumjs/util": "^8.1.0", "@metamask/base-controller": "^7.1.1", - "@metamask/eth-snap-keyring": "^9.0.0", - "@metamask/keyring-api": "^15.0.0", - "@metamask/keyring-internal-api": "^3.0.0", - "@metamask/snaps-sdk": "^6.7.0", - "@metamask/snaps-utils": "^8.3.0", + "@metamask/eth-snap-keyring": "^9.1.1", + "@metamask/keyring-api": "^16.1.0", + "@metamask/keyring-internal-api": "^4.0.1", + "@metamask/snaps-sdk": "^6.16.0", + "@metamask/snaps-utils": "^8.9.0", "@metamask/utils": "^11.0.1", "deepmerge": "^4.2.2", "ethereum-cryptography": "^2.1.2", @@ -62,7 +62,7 @@ }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-controller": "^19.0.4", + "@metamask/keyring-controller": "^19.0.5", "@metamask/providers": "^18.1.1", "@metamask/snaps-controllers": "^9.10.0", "@types/jest": "^27.4.1", diff --git a/packages/accounts-controller/src/AccountsController.test.ts b/packages/accounts-controller/src/AccountsController.test.ts index 008a18a983d..889216fa2cc 100644 --- a/packages/accounts-controller/src/AccountsController.test.ts +++ b/packages/accounts-controller/src/AccountsController.test.ts @@ -9,8 +9,8 @@ import { EthAccountType, BtcMethod, EthMethod, - EthScopes, - BtcScopes, + EthScope, + BtcScope, } from '@metamask/keyring-api'; import { KeyringTypes } from '@metamask/keyring-controller'; import type { @@ -73,7 +73,7 @@ const mockAccount: InternalAccount = { options: {}, methods: [...ETH_EOA_METHODS], type: EthAccountType.Eoa, - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], metadata: { name: 'Account 1', keyring: { type: KeyringTypes.hd }, @@ -89,7 +89,7 @@ const mockAccount2: InternalAccount = { options: {}, methods: [...ETH_EOA_METHODS], type: EthAccountType.Eoa, - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], metadata: { name: 'Account 2', keyring: { type: KeyringTypes.hd }, @@ -104,7 +104,7 @@ const mockAccount3: InternalAccount = { options: {}, methods: [...ETH_EOA_METHODS], type: EthAccountType.Eoa, - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], metadata: { name: '', keyring: { type: KeyringTypes.snap }, @@ -124,7 +124,7 @@ const mockAccount4: InternalAccount = { options: {}, methods: [...ETH_EOA_METHODS], type: EthAccountType.Eoa, - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], metadata: { name: 'Custom Name', keyring: { type: KeyringTypes.snap }, @@ -213,19 +213,19 @@ function createExpectedInternalAccount({ }): InternalAccount { const accountTypeToInfo: Record< string, - { methods: string[]; scopes: string[] } + { methods: string[]; scopes: CaipChainId[] } > = { [`${EthAccountType.Eoa}`]: { methods: [...Object.values(ETH_EOA_METHODS)], - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], }, [`${EthAccountType.Erc4337}`]: { methods: [...Object.values(ETH_ERC_4337_METHODS)], - scopes: [EthScopes.Mainnet], // Assuming we are using mainnet for those Smart Accounts + scopes: [EthScope.Mainnet], // Assuming we are using mainnet for those Smart Accounts }, [`${BtcAccountType.P2wpkh}`]: { methods: [...Object.values(BtcMethod)], - scopes: [BtcScopes.Mainnet], + scopes: [BtcScope.Mainnet], }, }; diff --git a/packages/accounts-controller/src/AccountsController.ts b/packages/accounts-controller/src/AccountsController.ts index 8bcc55889ea..a3a52aa9ae6 100644 --- a/packages/accounts-controller/src/AccountsController.ts +++ b/packages/accounts-controller/src/AccountsController.ts @@ -14,7 +14,7 @@ import { SnapKeyring } from '@metamask/eth-snap-keyring'; import { EthAccountType, EthMethod, - EthScopes, + EthScope, isEvmAccountType, } from '@metamask/keyring-api'; import { KeyringTypes } from '@metamask/keyring-controller'; @@ -233,7 +233,7 @@ export const EMPTY_ACCOUNT = { options: {}, methods: [], type: EthAccountType.Eoa, - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], metadata: { name: '', keyring: { @@ -640,7 +640,7 @@ export class AccountsController extends BaseController< EthMethod.SignTypedDataV3, EthMethod.SignTypedDataV4, ], - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], type: EthAccountType.Eoa, metadata: { name: '', @@ -715,7 +715,7 @@ export class AccountsController extends BaseController< EthMethod.SignTypedDataV3, EthMethod.SignTypedDataV4, ], - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], type: EthAccountType.Eoa, metadata: { name: this.#populateExistingMetadata(id, 'name') ?? '', diff --git a/packages/assets-controllers/CHANGELOG.md b/packages/assets-controllers/CHANGELOG.md index ada9f939fa5..43b3102da5d 100644 --- a/packages/assets-controllers/CHANGELOG.md +++ b/packages/assets-controllers/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [47.0.0] + ### Added - Add `onBreak` and `onDegraded` methods to `CodefiTokenPricesServiceV2` ([#5109](https://github.com/MetaMask/core/pull/5109)) @@ -14,9 +16,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **BREAKING:** Bump `@metamask/accounts-controller` peer dependency from `^21.0.0` to `^22.0.0` ([#5218](https://github.com/MetaMask/core/pull/5218)) - Deprecate `ClientConfigApiService` constructor options `onBreak` and `onDegraded` in favor of methods ([#5109](https://github.com/MetaMask/core/pull/5109)) - Add `@metamask/controller-utils@^11.4.5` as a dependency ([#5109](https://github.com/MetaMask/core/pull/5109)) - `cockatiel` should still be in the dependency tree because it's now a dependency of `@metamask/controller-utils` +- Re-introduce `@metamask/keyring-api` as a runtime dependency ([#5206](https://github.com/MetaMask/core/pull/5206)) + - This was required since the introduction of the `MultichainBalancesController`. +- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) +- Bump `@metamask/keyring-internal-api` from `^2.0.1` to `^4.0.1` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) +- Bump `@metamask/keyring-snap-client` from `^3.0.0` to `^3.0.3` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) ## [46.0.1] @@ -1349,7 +1357,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Use Ethers for AssetsContractController ([#845](https://github.com/MetaMask/core/pull/845)) -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@46.0.1...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@47.0.0...HEAD +[47.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@46.0.1...@metamask/assets-controllers@47.0.0 [46.0.1]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@46.0.0...@metamask/assets-controllers@46.0.1 [46.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@45.1.2...@metamask/assets-controllers@46.0.0 [45.1.2]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@45.1.1...@metamask/assets-controllers@45.1.2 diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index c74877e34c2..37596480258 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/assets-controllers", - "version": "46.0.1", + "version": "47.0.0", "description": "Controllers which manage interactions involving ERC-20, ERC-721, and ERC-1155 tokens (including NFTs)", "keywords": [ "MetaMask", @@ -58,11 +58,11 @@ "@metamask/contract-metadata": "^2.4.0", "@metamask/controller-utils": "^11.4.5", "@metamask/eth-query": "^4.0.0", - "@metamask/keyring-api": "^15.0.0", + "@metamask/keyring-api": "^16.1.0", "@metamask/metamask-eth-abis": "^3.1.1", "@metamask/polling-controller": "^12.0.2", "@metamask/rpc-errors": "^7.0.2", - "@metamask/snaps-utils": "^8.3.0", + "@metamask/snaps-utils": "^8.9.0", "@metamask/utils": "^11.0.1", "@types/bn.js": "^5.1.5", "@types/uuid": "^8.3.0", @@ -77,18 +77,18 @@ }, "devDependencies": { "@babel/runtime": "^7.23.9", - "@metamask/accounts-controller": "^21.0.2", + "@metamask/accounts-controller": "^22.0.0", "@metamask/approval-controller": "^7.1.2", "@metamask/auto-changelog": "^3.4.4", "@metamask/ethjs-provider-http": "^0.3.0", - "@metamask/keyring-controller": "^19.0.4", - "@metamask/keyring-internal-api": "^3.0.0", - "@metamask/keyring-snap-client": "^3.0.1", + "@metamask/keyring-controller": "^19.0.5", + "@metamask/keyring-internal-api": "^4.0.1", + "@metamask/keyring-snap-client": "^3.0.3", "@metamask/network-controller": "^22.1.1", "@metamask/preferences-controller": "^15.0.1", "@metamask/providers": "^18.1.1", "@metamask/snaps-controllers": "^9.10.0", - "@metamask/snaps-sdk": "^6.7.0", + "@metamask/snaps-sdk": "^6.16.0", "@types/jest": "^27.4.1", "@types/lodash": "^4.14.191", "@types/node": "^16.18.54", @@ -104,7 +104,7 @@ "webextension-polyfill": "^0.12.0" }, "peerDependencies": { - "@metamask/accounts-controller": "^21.0.0", + "@metamask/accounts-controller": "^22.0.0", "@metamask/approval-controller": "^7.0.0", "@metamask/keyring-controller": "^19.0.0", "@metamask/network-controller": "^22.0.0", diff --git a/packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.test.ts b/packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.test.ts index 87f200ab550..e4942a00d62 100644 --- a/packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.test.ts +++ b/packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.test.ts @@ -5,9 +5,9 @@ import { BtcMethod, EthAccountType, EthMethod, - BtcScopes, - EthScopes, - SolScopes, + BtcScope, + EthScope, + SolScope, } from '@metamask/keyring-api'; import { KeyringTypes } from '@metamask/keyring-controller'; import type { InternalAccount } from '@metamask/keyring-internal-api'; @@ -43,7 +43,7 @@ const mockBtcAccount = { }, lastSelected: 0, }, - scopes: [BtcScopes.Namespace], + scopes: [BtcScope.Testnet], options: {}, methods: [BtcMethod.SendBitcoin], type: BtcAccountType.P2wpkh, @@ -65,7 +65,7 @@ const mockEthAccount = { }, lastSelected: 0, }, - scopes: [EthScopes.Namespace], + scopes: [EthScope.Eoa], options: {}, methods: [EthMethod.SignTypedDataV4, EthMethod.SignTransaction], type: EthAccountType.Eoa, diff --git a/packages/assets-controllers/src/MultichainBalancesController/utils.test.ts b/packages/assets-controllers/src/MultichainBalancesController/utils.test.ts index 099ccf23c80..bddeb7ebc3a 100644 --- a/packages/assets-controllers/src/MultichainBalancesController/utils.test.ts +++ b/packages/assets-controllers/src/MultichainBalancesController/utils.test.ts @@ -3,8 +3,8 @@ import { SolAccountType, BtcMethod, SolMethod, - BtcScopes, - SolScopes, + BtcScope, + SolScope, } from '@metamask/keyring-api'; import { KeyringTypes } from '@metamask/keyring-controller'; import { validate, Network } from 'bitcoin-address-validation'; @@ -34,7 +34,7 @@ const mockBtcAccount = { }, lastSelected: 0, }, - scopes: [BtcScopes.Namespace], + scopes: [BtcScope.Testnet], options: {}, methods: [BtcMethod.SendBitcoin], type: BtcAccountType.P2wpkh, @@ -59,7 +59,7 @@ const mockSolAccount = { options: { scope: 'solana-scope', }, - scopes: [SolScopes.Namespace], + scopes: [SolScope.Testnet], methods: [SolMethod.SendAndConfirmTransaction], type: SolAccountType.DataAccount, }; diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md index e67e87c0658..c53aa2e3b66 100644 --- a/packages/keyring-controller/CHANGELOG.md +++ b/packages/keyring-controller/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [19.0.5] + +### Changed + +- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) + ## [19.0.4] ### Changed @@ -640,7 +646,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 All changes listed after this point were applied to this package following the monorepo conversion. -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@19.0.4...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@19.0.5...HEAD +[19.0.5]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@19.0.4...@metamask/keyring-controller@19.0.5 [19.0.4]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@19.0.3...@metamask/keyring-controller@19.0.4 [19.0.3]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@19.0.2...@metamask/keyring-controller@19.0.3 [19.0.2]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@19.0.1...@metamask/keyring-controller@19.0.2 diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 042ca795722..afe1396ee60 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/keyring-controller", - "version": "19.0.4", + "version": "19.0.5", "description": "Stores identities seen in the wallet and manages interactions such as signing", "keywords": [ "MetaMask", @@ -54,8 +54,8 @@ "@metamask/eth-hd-keyring": "^7.0.4", "@metamask/eth-sig-util": "^8.0.0", "@metamask/eth-simple-keyring": "^6.0.5", - "@metamask/keyring-api": "^15.0.0", - "@metamask/keyring-internal-api": "^3.0.0", + "@metamask/keyring-api": "^16.1.0", + "@metamask/keyring-internal-api": "^4.0.1", "@metamask/message-manager": "^12.0.0", "@metamask/utils": "^11.0.1", "async-mutex": "^0.5.0", diff --git a/packages/multichain-transactions-controller/CHANGELOG.md b/packages/multichain-transactions-controller/CHANGELOG.md index 6ce77f400e2..19b547d4a9b 100644 --- a/packages/multichain-transactions-controller/CHANGELOG.md +++ b/packages/multichain-transactions-controller/CHANGELOG.md @@ -7,11 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.1.0] + +### Changed + +- **BREAKING:** Bump `@metamask/accounts-controller` peer dependency from `^21.0.0` to `^22.0.0` ([#5218](https://github.com/MetaMask/core/pull/5218)) +- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) +- Bump `@metamask/keyring-internal-api` from `^2.0.1` to `^4.0.1` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) +- Bump `@metamask/keyring-snap-client` from `^3.0.0` to `^3.0.3` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) + ## [0.0.1] ### Added - Initial release ([#5133](https://github.com/MetaMask/core/pull/5133)), ([#5177](https://github.com/MetaMask/core/pull/5177)) -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/multichain-transactions-controller@0.0.1...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/multichain-transactions-controller@0.1.0...HEAD +[0.1.0]: https://github.com/MetaMask/core/compare/@metamask/multichain-transactions-controller@0.0.1...@metamask/multichain-transactions-controller@0.1.0 [0.0.1]: https://github.com/MetaMask/core/releases/tag/@metamask/multichain-transactions-controller@0.0.1 diff --git a/packages/multichain-transactions-controller/package.json b/packages/multichain-transactions-controller/package.json index 92ee129f681..31f82410286 100644 --- a/packages/multichain-transactions-controller/package.json +++ b/packages/multichain-transactions-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/multichain-transactions-controller", - "version": "0.0.1", + "version": "0.1.0", "description": "This package is responsible for getting transactions from our Bitcoin and Solana snaps", "keywords": [ "MetaMask", @@ -48,22 +48,22 @@ }, "dependencies": { "@metamask/base-controller": "^7.1.1", - "@metamask/keyring-api": "^15.0.0", - "@metamask/keyring-internal-api": "^3.0.0", - "@metamask/keyring-snap-client": "^3.0.1", + "@metamask/keyring-api": "^16.1.0", + "@metamask/keyring-internal-api": "^4.0.1", + "@metamask/keyring-snap-client": "^3.0.3", "@metamask/polling-controller": "^12.0.2", "@metamask/snaps-controllers": "^9.10.0", - "@metamask/snaps-sdk": "^6.7.0", - "@metamask/snaps-utils": "^8.3.0", + "@metamask/snaps-sdk": "^6.16.0", + "@metamask/snaps-utils": "^8.9.0", "@metamask/utils": "^11.0.1", "@types/uuid": "^8.3.0", "immer": "^9.0.6", "uuid": "^8.3.2" }, "devDependencies": { - "@metamask/accounts-controller": "^21.0.2", + "@metamask/accounts-controller": "^22.0.0", "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-controller": "^19.0.4", + "@metamask/keyring-controller": "^19.0.5", "@types/jest": "^27.4.1", "deepmerge": "^4.2.2", "jest": "^27.5.1", @@ -73,7 +73,7 @@ "typescript": "~5.2.2" }, "peerDependencies": { - "@metamask/accounts-controller": "^21.0.0", + "@metamask/accounts-controller": "^22.0.0", "@metamask/snaps-controllers": "^9.10.0" }, "engines": { diff --git a/packages/network-controller/CHANGELOG.md b/packages/network-controller/CHANGELOG.md index 5c027f31b9a..15cf6bbd000 100644 --- a/packages/network-controller/CHANGELOG.md +++ b/packages/network-controller/CHANGELOG.md @@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fix `selectAvailableNetworkClientIds` so that it is properly memoized ([#5193](https://github.com/MetaMask/core/pull/5193)) +- Fix `lookupNetwork` so that it will no longer throw an error if `networkDidChange` subscriptions have been removed before it returns ([#5116](https://github.com/MetaMask/core/pull/5116)) + - This error could occur if the NetworkController's messenger is cleared of subscriptions, as in a "destroy" step. ## [22.1.1] diff --git a/packages/network-controller/src/NetworkController.ts b/packages/network-controller/src/NetworkController.ts index 67bf845f522..a3f80ce977b 100644 --- a/packages/network-controller/src/NetworkController.ts +++ b/packages/network-controller/src/NetworkController.ts @@ -1334,10 +1334,30 @@ export class NetworkController extends BaseController< let networkChanged = false; const listener = () => { networkChanged = true; - this.messagingSystem.unsubscribe( - 'NetworkController:networkDidChange', - listener, - ); + try { + this.messagingSystem.unsubscribe( + 'NetworkController:networkDidChange', + listener, + ); + } catch (error) { + // In theory, this `catch` should not be necessary given that this error + // would occur "inside" of the call to `#determineEIP1559Compatibility` + // below and so it should be caught by the `try`/`catch` below (it is + // impossible to reproduce in tests for that reason). However, somehow + // it occurs within Mobile and so we have to add our own `try`/`catch` + // here. + /* istanbul ignore next */ + if ( + !(error instanceof Error) || + error.message !== + 'Subscription not found for event: NetworkController:networkDidChange' + ) { + // Again, this error should not happen and is impossible to reproduce + // in tests. + /* istanbul ignore next */ + throw error; + } + } }; this.messagingSystem.subscribe( 'NetworkController:networkDidChange', @@ -1404,10 +1424,21 @@ export class NetworkController extends BaseController< // in the process of being called, so we don't need to go further. return; } - this.messagingSystem.unsubscribe( - 'NetworkController:networkDidChange', - listener, - ); + + try { + this.messagingSystem.unsubscribe( + 'NetworkController:networkDidChange', + listener, + ); + } catch (error) { + if ( + !(error instanceof Error) || + error.message !== + 'Subscription not found for event: NetworkController:networkDidChange' + ) { + throw error; + } + } this.update((state) => { const meta = state.networksMetadata[state.selectedNetworkClientId]; diff --git a/packages/network-controller/tests/NetworkController.test.ts b/packages/network-controller/tests/NetworkController.test.ts index f04289237cf..366d5e6e27d 100644 --- a/packages/network-controller/tests/NetworkController.test.ts +++ b/packages/network-controller/tests/NetworkController.test.ts @@ -1580,6 +1580,111 @@ describe('NetworkController', () => { }); }); + describe('if all subscriptions are removed from the messenger before the call to lookupNetwork completes', () => { + it('does not throw an error', async () => { + const infuraProjectId = 'some-infura-project-id'; + + await withController( + { + state: { + selectedNetworkClientId: infuraNetworkType, + }, + infuraProjectId, + }, + async ({ controller, messenger }) => { + const fakeProvider = buildFakeProvider([ + // Called during provider initialization + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + // Called via `lookupNetwork` directly + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + ]); + const fakeNetworkClient = buildFakeClient(fakeProvider); + mockCreateNetworkClient() + .calledWith({ + chainId: ChainId[infuraNetworkType], + infuraProjectId, + network: infuraNetworkType, + ticker: NetworksTicker[infuraNetworkType], + type: NetworkClientType.Infura, + }) + .mockReturnValue(fakeNetworkClient); + await controller.initializeProvider(); + + const lookupNetworkPromise = controller.lookupNetwork(); + messenger.clearSubscriptions(); + expect(await lookupNetworkPromise).toBeUndefined(); + }, + ); + }); + }); + + describe('if removing the networkDidChange subscription fails for an unknown reason', () => { + it('re-throws the error', async () => { + const infuraProjectId = 'some-infura-project-id'; + + await withController( + { + state: { + selectedNetworkClientId: infuraNetworkType, + }, + infuraProjectId, + }, + async ({ controller, messenger }) => { + const fakeProvider = buildFakeProvider([ + // Called during provider initialization + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + // Called via `lookupNetwork` directly + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + ]); + const fakeNetworkClient = buildFakeClient(fakeProvider); + mockCreateNetworkClient() + .calledWith({ + chainId: ChainId[infuraNetworkType], + infuraProjectId, + network: infuraNetworkType, + ticker: NetworksTicker[infuraNetworkType], + type: NetworkClientType.Infura, + }) + .mockReturnValue(fakeNetworkClient); + await controller.initializeProvider(); + + const lookupNetworkPromise = controller.lookupNetwork(); + const error = new Error('oops'); + jest + .spyOn(messenger, 'unsubscribe') + .mockImplementation((eventType) => { + // This is okay. + // eslint-disable-next-line jest/no-conditional-in-test + if (eventType === 'NetworkController:networkDidChange') { + throw error; + } + }); + await expect(lookupNetworkPromise).rejects.toThrow(error); + }, + ); + }); + }); + lookupNetworkTests({ expectedNetworkClientType: NetworkClientType.Infura, initialState: { @@ -1890,6 +1995,133 @@ describe('NetworkController', () => { }); }); + describe('if all subscriptions are removed from the messenger before the call to lookupNetwork completes', () => { + it('does not throw an error', async () => { + const infuraProjectId = 'some-infura-project-id'; + + await withController( + { + state: { + selectedNetworkClientId: 'AAAA-AAAA-AAAA-AAAA', + networkConfigurationsByChainId: { + '0x1337': buildCustomNetworkConfiguration({ + chainId: '0x1337', + nativeCurrency: 'TEST', + rpcEndpoints: [ + buildCustomRpcEndpoint({ + networkClientId: 'AAAA-AAAA-AAAA-AAAA', + url: 'https://test.network', + }), + ], + }), + }, + }, + infuraProjectId, + }, + async ({ controller, messenger }) => { + const fakeProvider = buildFakeProvider([ + // Called during provider initialization + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + // Called via `lookupNetwork` directly + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + ]); + const fakeNetworkClient = buildFakeClient(fakeProvider); + mockCreateNetworkClient() + .calledWith({ + chainId: '0x1337', + rpcUrl: 'https://test.network', + ticker: 'TEST', + type: NetworkClientType.Custom, + }) + .mockReturnValue(fakeNetworkClient); + await controller.initializeProvider(); + + const lookupNetworkPromise = controller.lookupNetwork(); + messenger.clearSubscriptions(); + expect(await lookupNetworkPromise).toBeUndefined(); + }, + ); + }); + }); + + describe('if removing the networkDidChange subscription fails for an unknown reason', () => { + it('re-throws the error', async () => { + const infuraProjectId = 'some-infura-project-id'; + + await withController( + { + state: { + selectedNetworkClientId: 'AAAA-AAAA-AAAA-AAAA', + networkConfigurationsByChainId: { + '0x1337': buildCustomNetworkConfiguration({ + chainId: '0x1337', + nativeCurrency: 'TEST', + rpcEndpoints: [ + buildCustomRpcEndpoint({ + networkClientId: 'AAAA-AAAA-AAAA-AAAA', + url: 'https://test.network', + }), + ], + }), + }, + }, + infuraProjectId, + }, + async ({ controller, messenger }) => { + const fakeProvider = buildFakeProvider([ + // Called during provider initialization + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + // Called via `lookupNetwork` directly + { + request: { + method: 'eth_getBlockByNumber', + }, + response: SUCCESSFUL_ETH_GET_BLOCK_BY_NUMBER_RESPONSE, + }, + ]); + const fakeNetworkClient = buildFakeClient(fakeProvider); + mockCreateNetworkClient() + .calledWith({ + chainId: '0x1337', + rpcUrl: 'https://test.network', + ticker: 'TEST', + type: NetworkClientType.Custom, + }) + .mockReturnValue(fakeNetworkClient); + await controller.initializeProvider(); + + const lookupNetworkPromise = controller.lookupNetwork(); + const error = new Error('oops'); + jest + .spyOn(messenger, 'unsubscribe') + .mockImplementation((eventType) => { + // This is okay. + // eslint-disable-next-line jest/no-conditional-in-test + if (eventType === 'NetworkController:networkDidChange') { + throw error; + } + }); + await expect(lookupNetworkPromise).rejects.toThrow(error); + }, + ); + }); + }); + lookupNetworkTests({ expectedNetworkClientType: NetworkClientType.Custom, initialState: { @@ -11364,14 +11596,17 @@ describe('NetworkController', () => { }, }, async ({ controller, messenger }) => { - - const stateChangePromise = new Promise((resolve) => { + const stateChangePromise = new Promise< + NetworkConfiguration | undefined + >((resolve) => { messenger.subscribe('NetworkController:stateChange', (state) => { const { networkClientId } = state.networkConfigurationsByChainId['0x1'].rpcEndpoints[1]; resolve( - controller.getNetworkConfigurationByNetworkClientId(networkClientId), + controller.getNetworkConfigurationByNetworkClientId( + networkClientId, + ), ); }); }); diff --git a/packages/notification-services-controller/CHANGELOG.md b/packages/notification-services-controller/CHANGELOG.md index f9f428ea20f..b84c5294ee9 100644 --- a/packages/notification-services-controller/CHANGELOG.md +++ b/packages/notification-services-controller/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.18.0] + +### Changed + +- **BREAKING:** Bump peer dependency `@metamask/profile-sync-controller` from `^4.0.0` to `^5.0.0` ([#5218](https://github.com/MetaMask/core/pull/5218)) + ## [0.17.0] ### Changed @@ -282,7 +288,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.17.0...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.18.0...HEAD +[0.18.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.17.0...@metamask/notification-services-controller@0.18.0 [0.17.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.16.0...@metamask/notification-services-controller@0.17.0 [0.16.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.15.0...@metamask/notification-services-controller@0.16.0 [0.15.0]: https://github.com/MetaMask/core/compare/@metamask/notification-services-controller@0.14.0...@metamask/notification-services-controller@0.15.0 diff --git a/packages/notification-services-controller/package.json b/packages/notification-services-controller/package.json index 5f02e6bc626..b21d12d2587 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.17.0", + "version": "0.18.0", "description": "Manages New MetaMask decentralized Notification system", "keywords": [ "MetaMask", @@ -112,8 +112,8 @@ "@lavamoat/allow-scripts": "^3.0.4", "@lavamoat/preinstall-always-fail": "^2.1.0", "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-controller": "^19.0.4", - "@metamask/profile-sync-controller": "^4.1.1", + "@metamask/keyring-controller": "^19.0.5", + "@metamask/profile-sync-controller": "^5.0.0", "@types/jest": "^27.4.1", "@types/readable-stream": "^2.3.0", "contentful": "^10.15.0", @@ -128,7 +128,7 @@ }, "peerDependencies": { "@metamask/keyring-controller": "^19.0.0", - "@metamask/profile-sync-controller": "^4.0.0" + "@metamask/profile-sync-controller": "^5.0.0" }, "engines": { "node": "^18.18 || >=20" diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index e2f76246c1d..30bdd05ed48 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -52,7 +52,7 @@ }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-controller": "^19.0.4", + "@metamask/keyring-controller": "^19.0.5", "@types/jest": "^27.4.1", "deepmerge": "^4.2.2", "jest": "^27.5.1", diff --git a/packages/profile-sync-controller/CHANGELOG.md b/packages/profile-sync-controller/CHANGELOG.md index 840ade37d05..e6fda0d0c36 100644 --- a/packages/profile-sync-controller/CHANGELOG.md +++ b/packages/profile-sync-controller/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [5.0.0] + +### Changed + +- **BREAKING:** Bump `@metamask/accounts-controller` peer dependency from `^21.0.0` to `^22.0.0` ([#5218](https://github.com/MetaMask/core/pull/5218)) +- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208)) + ## [4.1.1] ### Changed @@ -428,7 +435,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/profile-sync-controller@4.1.1...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@5.0.0...HEAD +[5.0.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@4.1.1...@metamask/profile-sync-controller@5.0.0 [4.1.1]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@4.1.0...@metamask/profile-sync-controller@4.1.1 [4.1.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@4.0.1...@metamask/profile-sync-controller@4.1.0 [4.0.1]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@4.0.0...@metamask/profile-sync-controller@4.0.1 diff --git a/packages/profile-sync-controller/package.json b/packages/profile-sync-controller/package.json index 2dd6382a1b4..13e65670dee 100644 --- a/packages/profile-sync-controller/package.json +++ b/packages/profile-sync-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/profile-sync-controller", - "version": "4.1.1", + "version": "5.0.0", "description": "The profile sync helps developers synchronize data across multiple clients and devices in a privacy-preserving way. All data saved in the user storage database is encrypted client-side to preserve privacy. The user storage provides a modular design, giving developers the flexibility to construct and manage their storage spaces in a way that best suits their needs", "keywords": [ "MetaMask", @@ -101,11 +101,11 @@ }, "dependencies": { "@metamask/base-controller": "^7.1.1", - "@metamask/keyring-api": "^15.0.0", - "@metamask/keyring-controller": "^19.0.4", + "@metamask/keyring-api": "^16.1.0", + "@metamask/keyring-controller": "^19.0.5", "@metamask/network-controller": "^22.1.1", - "@metamask/snaps-sdk": "^6.7.0", - "@metamask/snaps-utils": "^8.3.0", + "@metamask/snaps-sdk": "^6.16.0", + "@metamask/snaps-utils": "^8.9.0", "@noble/ciphers": "^0.5.2", "@noble/hashes": "^1.4.0", "immer": "^9.0.6", @@ -115,9 +115,9 @@ "devDependencies": { "@lavamoat/allow-scripts": "^3.0.4", "@lavamoat/preinstall-always-fail": "^2.1.0", - "@metamask/accounts-controller": "^21.0.2", + "@metamask/accounts-controller": "^22.0.0", "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-internal-api": "^3.0.0", + "@metamask/keyring-internal-api": "^4.0.1", "@metamask/providers": "^18.1.1", "@metamask/snaps-controllers": "^9.10.0", "@types/jest": "^27.4.1", @@ -133,7 +133,7 @@ "webextension-polyfill": "^0.12.0" }, "peerDependencies": { - "@metamask/accounts-controller": "^21.0.0", + "@metamask/accounts-controller": "^22.0.0", "@metamask/keyring-controller": "^19.0.0", "@metamask/network-controller": "^22.0.0", "@metamask/providers": "^18.1.0", diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 466b326851a..3e7eacb7513 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -58,7 +58,7 @@ "devDependencies": { "@metamask/approval-controller": "^7.1.2", "@metamask/auto-changelog": "^3.4.4", - "@metamask/keyring-controller": "^19.0.4", + "@metamask/keyring-controller": "^19.0.5", "@metamask/logging-controller": "^6.0.3", "@metamask/network-controller": "^22.1.1", "@types/jest": "^27.4.1", diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md index e3de4de9635..68f5eef22d8 100644 --- a/packages/transaction-controller/CHANGELOG.md +++ b/packages/transaction-controller/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [44.0.0] + +### Changed + +- **BREAKING:** Bump `@metamask/accounts-controller` peer dependency from `^21.0.0` to `^22.0.0` ([#5218](https://github.com/MetaMask/core/pull/5218)) + ## [43.0.0] ### Added @@ -1238,7 +1244,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 All changes listed after this point were applied to this package following the monorepo conversion. -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@43.0.0...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@44.0.0...HEAD +[44.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@43.0.0...@metamask/transaction-controller@44.0.0 [43.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@42.1.0...@metamask/transaction-controller@43.0.0 [42.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@42.0.0...@metamask/transaction-controller@42.1.0 [42.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@41.1.0...@metamask/transaction-controller@42.0.0 diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 91ff685b317..c492bbe6a39 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/transaction-controller", - "version": "43.0.0", + "version": "44.0.0", "description": "Stores transactions alongside their periodically updated statuses and manages interactions such as approval and cancellation", "keywords": [ "MetaMask", @@ -69,7 +69,7 @@ }, "devDependencies": { "@babel/runtime": "^7.23.9", - "@metamask/accounts-controller": "^21.0.2", + "@metamask/accounts-controller": "^22.0.0", "@metamask/approval-controller": "^7.1.2", "@metamask/auto-changelog": "^3.4.4", "@metamask/eth-block-tracker": "^11.0.3", @@ -92,7 +92,7 @@ }, "peerDependencies": { "@babel/runtime": "^7.0.0", - "@metamask/accounts-controller": "^21.0.0", + "@metamask/accounts-controller": "^22.0.0", "@metamask/approval-controller": "^7.0.0", "@metamask/eth-block-tracker": ">=9", "@metamask/gas-fee-controller": "^22.0.0", diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index 44434e31e5e..c694f71a1f6 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -388,7 +388,7 @@ const INTERNAL_ACCOUNT_MOCK: InternalAccount = { id: '58def058-d35f-49a1-a7ab-e2580565f6f5', address: ACCOUNT_MOCK, type: 'eip155:eoa', - scopes: ['eip155'], + scopes: ['eip155:0'], options: {}, methods: [], metadata: { diff --git a/packages/transaction-controller/src/TransactionControllerIntegration.test.ts b/packages/transaction-controller/src/TransactionControllerIntegration.test.ts index 4bc2d89f4b7..31399f19484 100644 --- a/packages/transaction-controller/src/TransactionControllerIntegration.test.ts +++ b/packages/transaction-controller/src/TransactionControllerIntegration.test.ts @@ -95,7 +95,7 @@ const createMockInternalAccount = ({ options: {}, methods: [], type: 'eip155:eoa', - scopes: ['eip155'], + scopes: ['eip155:0'], metadata: { name, keyring: { type: 'HD Key Tree' }, diff --git a/packages/transaction-controller/src/helpers/IncomingTransactionHelper.test.ts b/packages/transaction-controller/src/helpers/IncomingTransactionHelper.test.ts index 7edf55c4eae..61f39f7c510 100644 --- a/packages/transaction-controller/src/helpers/IncomingTransactionHelper.test.ts +++ b/packages/transaction-controller/src/helpers/IncomingTransactionHelper.test.ts @@ -28,7 +28,7 @@ const CONTROLLER_ARGS_MOCK: ConstructorParameters< type: 'eip155:eoa' as const, options: {}, methods: [], - scopes: ['eip155'], + scopes: ['eip155:0'], metadata: { name: 'Account 1', keyring: { type: 'HD Key Tree' }, diff --git a/packages/user-operation-controller/CHANGELOG.md b/packages/user-operation-controller/CHANGELOG.md index 71d2bc56cf3..d623e396baf 100644 --- a/packages/user-operation-controller/CHANGELOG.md +++ b/packages/user-operation-controller/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [23.0.0] + +### Changed + +- **BREAKING:** Bump `@metamask/transaction-controller` peer dependency from `^43.0.0` to `^44.0.0` ([#5218](https://github.com/MetaMask/core/pull/5218)) + ## [22.0.0] ### Changed @@ -314,7 +320,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial Release ([#3749](https://github.com/MetaMask/core/pull/3749)) -[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@22.0.0...HEAD +[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@23.0.0...HEAD +[23.0.0]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@22.0.0...@metamask/user-operation-controller@23.0.0 [22.0.0]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@21.0.0...@metamask/user-operation-controller@22.0.0 [21.0.0]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@20.0.1...@metamask/user-operation-controller@21.0.0 [20.0.1]: https://github.com/MetaMask/core/compare/@metamask/user-operation-controller@20.0.0...@metamask/user-operation-controller@20.0.1 diff --git a/packages/user-operation-controller/package.json b/packages/user-operation-controller/package.json index ec454de9816..a261b2b7850 100644 --- a/packages/user-operation-controller/package.json +++ b/packages/user-operation-controller/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/user-operation-controller", - "version": "22.0.0", + "version": "23.0.0", "description": "Creates user operations and manages their life cycle", "keywords": [ "MetaMask", @@ -65,9 +65,9 @@ "@metamask/auto-changelog": "^3.4.4", "@metamask/eth-block-tracker": "^11.0.3", "@metamask/gas-fee-controller": "^22.0.2", - "@metamask/keyring-controller": "^19.0.4", + "@metamask/keyring-controller": "^19.0.5", "@metamask/network-controller": "^22.1.1", - "@metamask/transaction-controller": "^43.0.0", + "@metamask/transaction-controller": "^44.0.0", "@types/jest": "^27.4.1", "deepmerge": "^4.2.2", "jest": "^27.5.1", @@ -82,7 +82,7 @@ "@metamask/gas-fee-controller": "^22.0.0", "@metamask/keyring-controller": "^19.0.0", "@metamask/network-controller": "^22.0.0", - "@metamask/transaction-controller": "^43.0.0" + "@metamask/transaction-controller": "^44.0.0" }, "engines": { "node": "^18.18 || >=20" diff --git a/yarn.lock b/yarn.lock index 40d8c3058be..917392f859f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2300,21 +2300,21 @@ __metadata: languageName: node linkType: hard -"@metamask/accounts-controller@npm:^21.0.2, @metamask/accounts-controller@workspace:packages/accounts-controller": +"@metamask/accounts-controller@npm:^22.0.0, @metamask/accounts-controller@workspace:packages/accounts-controller": version: 0.0.0-use.local resolution: "@metamask/accounts-controller@workspace:packages/accounts-controller" dependencies: "@ethereumjs/util": "npm:^8.1.0" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" - "@metamask/eth-snap-keyring": "npm:^9.0.0" - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-controller": "npm:^19.0.4" - "@metamask/keyring-internal-api": "npm:^3.0.0" + "@metamask/eth-snap-keyring": "npm:^9.1.1" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-controller": "npm:^19.0.5" + "@metamask/keyring-internal-api": "npm:^4.0.1" "@metamask/providers": "npm:^18.1.1" "@metamask/snaps-controllers": "npm:^9.10.0" - "@metamask/snaps-sdk": "npm:^6.7.0" - "@metamask/snaps-utils": "npm:^8.3.0" + "@metamask/snaps-sdk": "npm:^6.16.0" + "@metamask/snaps-utils": "npm:^8.9.0" "@metamask/utils": "npm:^11.0.1" "@types/jest": "npm:^27.4.1" "@types/readable-stream": "npm:^2.3.0" @@ -2420,7 +2420,7 @@ __metadata: "@ethersproject/contracts": "npm:^5.7.0" "@ethersproject/providers": "npm:^5.7.0" "@metamask/abi-utils": "npm:^2.0.3" - "@metamask/accounts-controller": "npm:^21.0.2" + "@metamask/accounts-controller": "npm:^22.0.0" "@metamask/approval-controller": "npm:^7.1.2" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" @@ -2428,10 +2428,10 @@ __metadata: "@metamask/controller-utils": "npm:^11.4.5" "@metamask/eth-query": "npm:^4.0.0" "@metamask/ethjs-provider-http": "npm:^0.3.0" - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-controller": "npm:^19.0.4" - "@metamask/keyring-internal-api": "npm:^3.0.0" - "@metamask/keyring-snap-client": "npm:^3.0.1" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-controller": "npm:^19.0.5" + "@metamask/keyring-internal-api": "npm:^4.0.1" + "@metamask/keyring-snap-client": "npm:^3.0.3" "@metamask/metamask-eth-abis": "npm:^3.1.1" "@metamask/network-controller": "npm:^22.1.1" "@metamask/polling-controller": "npm:^12.0.2" @@ -2439,8 +2439,8 @@ __metadata: "@metamask/providers": "npm:^18.1.1" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/snaps-controllers": "npm:^9.10.0" - "@metamask/snaps-sdk": "npm:^6.7.0" - "@metamask/snaps-utils": "npm:^8.3.0" + "@metamask/snaps-sdk": "npm:^6.16.0" + "@metamask/snaps-utils": "npm:^8.9.0" "@metamask/utils": "npm:^11.0.1" "@types/bn.js": "npm:^5.1.5" "@types/jest": "npm:^27.4.1" @@ -2466,7 +2466,7 @@ __metadata: uuid: "npm:^8.3.2" webextension-polyfill: "npm:^0.12.0" peerDependencies: - "@metamask/accounts-controller": ^21.0.0 + "@metamask/accounts-controller": ^22.0.0 "@metamask/approval-controller": ^7.0.0 "@metamask/keyring-controller": ^19.0.0 "@metamask/network-controller": ^22.0.0 @@ -2507,7 +2507,7 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^7.0.2, @metamask/base-controller@npm:^7.1.1, @metamask/base-controller@workspace:packages/base-controller": +"@metamask/base-controller@npm:^7.0.2, @metamask/base-controller@npm:^7.0.3, @metamask/base-controller@npm:^7.1.1, @metamask/base-controller@workspace:packages/base-controller": version: 0.0.0-use.local resolution: "@metamask/base-controller@workspace:packages/base-controller" dependencies: @@ -2922,24 +2922,24 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-snap-keyring@npm:^9.0.0": - version: 9.0.0 - resolution: "@metamask/eth-snap-keyring@npm:9.0.0" +"@metamask/eth-snap-keyring@npm:^9.1.1": + version: 9.1.1 + resolution: "@metamask/eth-snap-keyring@npm:9.1.1" dependencies: "@ethereumjs/tx": "npm:^4.2.0" "@metamask/base-controller": "npm:^7.1.1" "@metamask/eth-sig-util": "npm:^8.1.2" - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-internal-api": "npm:^3.0.0" - "@metamask/keyring-internal-snap-client": "npm:^3.0.1" - "@metamask/keyring-utils": "npm:^1.3.0" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-internal-api": "npm:^4.0.1" + "@metamask/keyring-internal-snap-client": "npm:^3.0.3" + "@metamask/keyring-utils": "npm:^2.0.0" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^11.0.1" + "@metamask/utils": "npm:^11.1.0" "@types/uuid": "npm:^9.0.8" uuid: "npm:^9.0.1" peerDependencies: - "@metamask/keyring-api": ^15.0.0 - checksum: 10/9232a2188340fd20bdc76f041c86296ea8f15dfca473b631d1e82383bafa65371bf0893c85cb8c83120d97dfd73b007b8b63110db0d7dadf279056083fba6251 + "@metamask/keyring-api": ^16.1.0 + checksum: 10/6f3da706c8ceb5d62f84d5d19631e8d8c95d754ee27ed8013b75b3c32db3d1af9538a22c4e75e8ffa23eb6202891f407545ba99b74a335402a9a3a8f036cc872 languageName: node linkType: hard @@ -3160,7 +3160,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/json-rpc-middleware-stream@npm:^8.0.5, @metamask/json-rpc-middleware-stream@workspace:packages/json-rpc-middleware-stream": +"@metamask/json-rpc-middleware-stream@npm:^8.0.5, @metamask/json-rpc-middleware-stream@npm:^8.0.6, @metamask/json-rpc-middleware-stream@workspace:packages/json-rpc-middleware-stream": version: 0.0.0-use.local resolution: "@metamask/json-rpc-middleware-stream@workspace:packages/json-rpc-middleware-stream" dependencies: @@ -3183,6 +3183,19 @@ __metadata: languageName: unknown linkType: soft +"@metamask/key-tree@npm:^10.0.2": + version: 10.0.2 + resolution: "@metamask/key-tree@npm:10.0.2" + dependencies: + "@metamask/scure-bip39": "npm:^2.1.1" + "@metamask/utils": "npm:^11.0.1" + "@noble/curves": "npm:^1.2.0" + "@noble/hashes": "npm:^1.3.2" + "@scure/base": "npm:^1.0.0" + checksum: 10/fd2e445c75dc3cd3976fdc38a5029ee71a6f4afcbbf5c9a17152bba70cf35df8095caa853ae62eef90a51b43f23eeb9546fc6eb7d93a099d82effe8dc7592259 + languageName: node + linkType: hard + "@metamask/key-tree@npm:^9.1.2": version: 9.1.2 resolution: "@metamask/key-tree@npm:9.1.2" @@ -3196,19 +3209,19 @@ __metadata: languageName: node linkType: hard -"@metamask/keyring-api@npm:^15.0.0": - version: 15.0.0 - resolution: "@metamask/keyring-api@npm:15.0.0" +"@metamask/keyring-api@npm:^16.1.0": + version: 16.1.0 + resolution: "@metamask/keyring-api@npm:16.1.0" dependencies: - "@metamask/keyring-utils": "npm:^1.3.0" + "@metamask/keyring-utils": "npm:^2.0.0" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^11.0.1" + "@metamask/utils": "npm:^11.1.0" bech32: "npm:^2.0.0" - checksum: 10/d05ed1171b718dd762b8cfc69ae77ea345bef45d94a728ab296d10d2c93afeb514c8534457f97bbb2ca2d3d28c65ade6c07e569ce89753b31e7d031996f9802e + checksum: 10/6a3877e8e70b02728d4dc056a0eab5d961dd3089236539827ffb4194a3acdc9c71436cc3248ed1d6bf62d3dc0b6e69e2379177db6d690af1a77d4698767324fd languageName: node linkType: hard -"@metamask/keyring-controller@npm:^19.0.4, @metamask/keyring-controller@workspace:packages/keyring-controller": +"@metamask/keyring-controller@npm:^19.0.5, @metamask/keyring-controller@workspace:packages/keyring-controller": version: 0.0.0-use.local resolution: "@metamask/keyring-controller@workspace:packages/keyring-controller" dependencies: @@ -3225,8 +3238,8 @@ __metadata: "@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/keyring-api": "npm:^15.0.0" - "@metamask/keyring-internal-api": "npm:^3.0.0" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-internal-api": "npm:^4.0.1" "@metamask/message-manager": "npm:^12.0.0" "@metamask/scure-bip39": "npm:^2.1.1" "@metamask/utils": "npm:^11.0.1" @@ -3246,54 +3259,54 @@ __metadata: languageName: unknown linkType: soft -"@metamask/keyring-internal-api@npm:^3.0.0": - version: 3.0.0 - resolution: "@metamask/keyring-internal-api@npm:3.0.0" +"@metamask/keyring-internal-api@npm:^4.0.1": + version: 4.0.1 + resolution: "@metamask/keyring-internal-api@npm:4.0.1" dependencies: - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-utils": "npm:^1.3.0" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-utils": "npm:^2.0.0" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^11.0.1" - checksum: 10/9b98dfeec06157f014a5d0f8f7f09006140b47cc0c7ab09c7006eb937b51af2f47d1d44e4cda2984cf3922c93f49d5ee2a43629faeb8f98da8e582a8ced3d3f8 + "@metamask/utils": "npm:^11.1.0" + checksum: 10/f55ffb3031a0fc43abf7e259b698901f50d5ce2b791cc8923156f8d8e8cc421e9ec278446a43f4ae333731728dbe5585f4beea7e1e44fcf1735d794286353caa languageName: node linkType: hard -"@metamask/keyring-internal-snap-client@npm:^3.0.1": - version: 3.0.1 - resolution: "@metamask/keyring-internal-snap-client@npm:3.0.1" +"@metamask/keyring-internal-snap-client@npm:^3.0.3": + version: 3.0.3 + resolution: "@metamask/keyring-internal-snap-client@npm:3.0.3" dependencies: "@metamask/base-controller": "npm:^7.1.1" - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-snap-client": "npm:^3.0.1" - "@metamask/keyring-utils": "npm:^1.3.0" - checksum: 10/7548a48a60f70a5fc42bc3063db5819ae6e68896dcd73daafd99667964420ff8a483d09a3debb3386a622696fa77c5b141d5d1e80687142acee0448415b10b57 + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-snap-client": "npm:^3.0.3" + "@metamask/keyring-utils": "npm:^2.0.0" + checksum: 10/7d5a4733940e68ff437a2b164eef9ea7d1986745e177d96a17d98aef9c7adb7237d2545370c7ad3241cd3a69cf84fb6ba77bc771d5d806650a3103bc5d436b63 languageName: node linkType: hard -"@metamask/keyring-snap-client@npm:^3.0.1": - version: 3.0.1 - resolution: "@metamask/keyring-snap-client@npm:3.0.1" +"@metamask/keyring-snap-client@npm:^3.0.3": + version: 3.0.3 + resolution: "@metamask/keyring-snap-client@npm:3.0.3" dependencies: - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-utils": "npm:^1.3.0" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-utils": "npm:^2.0.0" "@metamask/superstruct": "npm:^3.1.0" "@types/uuid": "npm:^9.0.8" uuid: "npm:^9.0.1" webextension-polyfill: "npm:^0.12.0" peerDependencies: "@metamask/providers": ^18.3.1 - checksum: 10/6b3eaf3743c49a3b60af36a91a01037ee669da75c1baf2bbae63342004f5abed444f5300a318c31da896393ff27677f3527000102272e1b421c4ef068b91a3a9 + checksum: 10/f408b587380216b77ca0ff4d6f37c64d933392c6bac950c77a9df4a858dbc61c981a41b2cf3870b9041cb210566087e83398f3e7bbc82f39c0eb952eb990a3c8 languageName: node linkType: hard -"@metamask/keyring-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "@metamask/keyring-utils@npm:1.3.0" +"@metamask/keyring-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/keyring-utils@npm:2.0.0" dependencies: "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^11.0.1" + "@metamask/utils": "npm:^11.1.0" bitcoin-address-validation: "npm:^2.2.3" - checksum: 10/b2789e9870e5c83653de7631b641fef1f7718d5cedb16e88ea04ab77cca29d077325be2d67b53b01e3eaddcb09c7d03ead15dd0f52dfef72cab6b19f27e76dc0 + checksum: 10/f7514821fb3bd5f5be575e0d74d5cf8becbdeac35a3e13dcd9e8bf789ba34aa2072783bdc3d0ddac479b97c986bcb54d77cdccedf5945d1c33ef310790e90efb languageName: node linkType: hard @@ -3348,17 +3361,17 @@ __metadata: version: 0.0.0-use.local resolution: "@metamask/multichain-transactions-controller@workspace:packages/multichain-transactions-controller" dependencies: - "@metamask/accounts-controller": "npm:^21.0.2" + "@metamask/accounts-controller": "npm:^22.0.0" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-controller": "npm:^19.0.4" - "@metamask/keyring-internal-api": "npm:^3.0.0" - "@metamask/keyring-snap-client": "npm:^3.0.1" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-controller": "npm:^19.0.5" + "@metamask/keyring-internal-api": "npm:^4.0.1" + "@metamask/keyring-snap-client": "npm:^3.0.3" "@metamask/polling-controller": "npm:^12.0.2" "@metamask/snaps-controllers": "npm:^9.10.0" - "@metamask/snaps-sdk": "npm:^6.7.0" - "@metamask/snaps-utils": "npm:^8.3.0" + "@metamask/snaps-sdk": "npm:^6.16.0" + "@metamask/snaps-utils": "npm:^8.9.0" "@metamask/utils": "npm:^11.0.1" "@types/jest": "npm:^27.4.1" "@types/uuid": "npm:^8.3.0" @@ -3371,7 +3384,7 @@ __metadata: typescript: "npm:~5.2.2" uuid: "npm:^8.3.2" peerDependencies: - "@metamask/accounts-controller": ^21.0.0 + "@metamask/accounts-controller": ^22.0.0 "@metamask/snaps-controllers": ^9.10.0 languageName: unknown linkType: soft @@ -3488,8 +3501,8 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" "@metamask/controller-utils": "npm:^11.4.5" - "@metamask/keyring-controller": "npm:^19.0.4" - "@metamask/profile-sync-controller": "npm:^4.1.1" + "@metamask/keyring-controller": "npm:^19.0.5" + "@metamask/profile-sync-controller": "npm:^5.0.0" "@metamask/utils": "npm:^11.0.1" "@types/jest": "npm:^27.4.1" "@types/readable-stream": "npm:^2.3.0" @@ -3508,7 +3521,7 @@ __metadata: uuid: "npm:^8.3.2" peerDependencies: "@metamask/keyring-controller": ^19.0.0 - "@metamask/profile-sync-controller": ^4.0.0 + "@metamask/profile-sync-controller": ^5.0.0 languageName: unknown linkType: soft @@ -3656,7 +3669,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" "@metamask/controller-utils": "npm:^11.4.5" - "@metamask/keyring-controller": "npm:^19.0.4" + "@metamask/keyring-controller": "npm:^19.0.5" "@types/jest": "npm:^27.4.1" deepmerge: "npm:^4.2.2" jest: "npm:^27.5.1" @@ -3670,23 +3683,23 @@ __metadata: languageName: unknown linkType: soft -"@metamask/profile-sync-controller@npm:^4.1.1, @metamask/profile-sync-controller@workspace:packages/profile-sync-controller": +"@metamask/profile-sync-controller@npm:^5.0.0, @metamask/profile-sync-controller@workspace:packages/profile-sync-controller": version: 0.0.0-use.local resolution: "@metamask/profile-sync-controller@workspace:packages/profile-sync-controller" dependencies: "@lavamoat/allow-scripts": "npm:^3.0.4" "@lavamoat/preinstall-always-fail": "npm:^2.1.0" - "@metamask/accounts-controller": "npm:^21.0.2" + "@metamask/accounts-controller": "npm:^22.0.0" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" - "@metamask/keyring-api": "npm:^15.0.0" - "@metamask/keyring-controller": "npm:^19.0.4" - "@metamask/keyring-internal-api": "npm:^3.0.0" + "@metamask/keyring-api": "npm:^16.1.0" + "@metamask/keyring-controller": "npm:^19.0.5" + "@metamask/keyring-internal-api": "npm:^4.0.1" "@metamask/network-controller": "npm:^22.1.1" "@metamask/providers": "npm:^18.1.1" "@metamask/snaps-controllers": "npm:^9.10.0" - "@metamask/snaps-sdk": "npm:^6.7.0" - "@metamask/snaps-utils": "npm:^8.3.0" + "@metamask/snaps-sdk": "npm:^6.16.0" + "@metamask/snaps-utils": "npm:^8.9.0" "@noble/ciphers": "npm:^0.5.2" "@noble/hashes": "npm:^1.4.0" "@types/jest": "npm:^27.4.1" @@ -3704,7 +3717,7 @@ __metadata: typescript: "npm:~5.2.2" webextension-polyfill: "npm:^0.12.0" peerDependencies: - "@metamask/accounts-controller": ^21.0.0 + "@metamask/accounts-controller": ^22.0.0 "@metamask/keyring-controller": ^19.0.0 "@metamask/network-controller": ^22.0.0 "@metamask/providers": ^18.1.0 @@ -3713,16 +3726,16 @@ __metadata: languageName: unknown linkType: soft -"@metamask/providers@npm:^18.1.1": - version: 18.1.1 - resolution: "@metamask/providers@npm:18.1.1" +"@metamask/providers@npm:^18.1.1, @metamask/providers@npm:^18.3.1": + version: 18.3.1 + resolution: "@metamask/providers@npm:18.3.1" dependencies: - "@metamask/json-rpc-engine": "npm:^10.0.1" - "@metamask/json-rpc-middleware-stream": "npm:^8.0.5" + "@metamask/json-rpc-engine": "npm:^10.0.2" + "@metamask/json-rpc-middleware-stream": "npm:^8.0.6" "@metamask/object-multiplex": "npm:^2.0.0" - "@metamask/rpc-errors": "npm:^7.0.1" + "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/safe-event-emitter": "npm:^3.1.1" - "@metamask/utils": "npm:^10.0.0" + "@metamask/utils": "npm:^11.0.1" detect-browser: "npm:^5.2.0" extension-port-stream: "npm:^4.1.0" fast-deep-equal: "npm:^3.1.3" @@ -3730,7 +3743,7 @@ __metadata: readable-stream: "npm:^3.6.2" peerDependencies: webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 - checksum: 10/dca428d84e490343d85921d4fb09216a0b64be59a036d7b4f7b5ca4e2581c29a4106d58ff9dfe0650dc2b9387dd2adad508fc61073a9fda8ebde8ee3a5137abe + checksum: 10/0e21ba9cce926a49dedbfe30fc964cd2349ee6bf9156f525fb894dcbc147a3ae480384884131a6b1a0a508989b547d8c8d2aeb3d10e11f67a8ee5230c45631a8 languageName: node linkType: hard @@ -3867,7 +3880,7 @@ __metadata: "@metamask/base-controller": "npm:^7.1.1" "@metamask/controller-utils": "npm:^11.4.5" "@metamask/eth-sig-util": "npm:^8.0.0" - "@metamask/keyring-controller": "npm:^19.0.4" + "@metamask/keyring-controller": "npm:^19.0.5" "@metamask/logging-controller": "npm:^6.0.3" "@metamask/network-controller": "npm:^22.1.1" "@metamask/utils": "npm:^11.0.1" @@ -3889,10 +3902,10 @@ __metadata: languageName: unknown linkType: soft -"@metamask/slip44@npm:^4.0.0": - version: 4.0.0 - resolution: "@metamask/slip44@npm:4.0.0" - checksum: 10/3e47e8834b0fbdabe1f126fd78665767847ddc1f9ccc8defb23007dd71fcd2e4899c8ca04857491be3630668a3765bad1e40fdfca9a61ef33236d8d08e51535e +"@metamask/slip44@npm:^4.1.0": + version: 4.1.0 + resolution: "@metamask/slip44@npm:4.1.0" + checksum: 10/4265254a1800a24915bd1de15f86f196737132f9af2a084c2efc885decfc5dd87ad8f0687269d90b35e2ec64d3ea4fbff0caa793bcea6e585b1f3a290952b750 languageName: node linkType: hard @@ -3934,15 +3947,15 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-registry@npm:^3.2.2": - version: 3.2.2 - resolution: "@metamask/snaps-registry@npm:3.2.2" +"@metamask/snaps-registry@npm:^3.2.2, @metamask/snaps-registry@npm:^3.2.3": + version: 3.2.3 + resolution: "@metamask/snaps-registry@npm:3.2.3" dependencies: "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^10.0.0" + "@metamask/utils": "npm:^11.0.1" "@noble/curves": "npm:^1.2.0" "@noble/hashes": "npm:^1.3.2" - checksum: 10/ca8239e838bbb913435e166136bbc9bd7222c4bd87b1525fa7ae3cdf2e0b868b5d4d90a67d1ed49633d566bdef9243abdbf5f5937b85a85d24184087f555813e + checksum: 10/37760f29b7aaa337d815cf0c11fa34af5093d87fdc60a3750c494cf8bae6293cd52da03e7694b467b79733052d75ec6e3781ab3590d7259a050784e5be347d12 languageName: node linkType: hard @@ -3962,34 +3975,34 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-sdk@npm:^6.10.0, @metamask/snaps-sdk@npm:^6.11.0, @metamask/snaps-sdk@npm:^6.7.0": - version: 6.11.0 - resolution: "@metamask/snaps-sdk@npm:6.11.0" +"@metamask/snaps-sdk@npm:^6.10.0, @metamask/snaps-sdk@npm:^6.11.0, @metamask/snaps-sdk@npm:^6.16.0": + version: 6.16.0 + resolution: "@metamask/snaps-sdk@npm:6.16.0" dependencies: - "@metamask/key-tree": "npm:^9.1.2" - "@metamask/providers": "npm:^18.1.1" - "@metamask/rpc-errors": "npm:^7.0.1" + "@metamask/key-tree": "npm:^10.0.2" + "@metamask/providers": "npm:^18.3.1" + "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^10.0.0" - checksum: 10/0f9b507139d1544b1b3d85ff8de81b800d543012d3ee9414c607c23abe9562e0dca48de089ed94be69f5ad981730a0f443371edfe6bc2d5ffb140b28e437bfd2 + "@metamask/utils": "npm:^11.0.1" + checksum: 10/eb76c00df13a845f2c19ec014b1439647adda1455486f4d4b0153e0690eccf7bc1ba0dc8a5472566f267eba722ef26bd99a15a49ed7c5273ff7b452f5d4b7600 languageName: node linkType: hard -"@metamask/snaps-utils@npm:^8.3.0, @metamask/snaps-utils@npm:^8.5.0, @metamask/snaps-utils@npm:^8.6.0": - version: 8.6.0 - resolution: "@metamask/snaps-utils@npm:8.6.0" +"@metamask/snaps-utils@npm:^8.5.0, @metamask/snaps-utils@npm:^8.6.0, @metamask/snaps-utils@npm:^8.9.0": + version: 8.9.1 + resolution: "@metamask/snaps-utils@npm:8.9.1" dependencies: "@babel/core": "npm:^7.23.2" "@babel/types": "npm:^7.23.0" - "@metamask/base-controller": "npm:^7.0.2" - "@metamask/key-tree": "npm:^9.1.2" - "@metamask/permission-controller": "npm:^11.0.3" - "@metamask/rpc-errors": "npm:^7.0.1" - "@metamask/slip44": "npm:^4.0.0" - "@metamask/snaps-registry": "npm:^3.2.2" - "@metamask/snaps-sdk": "npm:^6.11.0" + "@metamask/base-controller": "npm:^7.0.3" + "@metamask/key-tree": "npm:^10.0.2" + "@metamask/permission-controller": "npm:^11.0.5" + "@metamask/rpc-errors": "npm:^7.0.2" + "@metamask/slip44": "npm:^4.1.0" + "@metamask/snaps-registry": "npm:^3.2.3" + "@metamask/snaps-sdk": "npm:^6.16.0" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^10.0.0" + "@metamask/utils": "npm:^11.0.1" "@noble/hashes": "npm:^1.3.1" "@scure/base": "npm:^1.1.1" chalk: "npm:^4.1.2" @@ -4002,7 +4015,7 @@ __metadata: semver: "npm:^7.5.4" ses: "npm:^1.1.0" validate-npm-package-name: "npm:^5.0.0" - checksum: 10/c0f538f3f95e1875f6557b6ecc32f981bc4688d581af8cdc62c6c3ab8951c138286cd0b2d1cd82f769df24fcec10f71dcda67ae9a47edcff9ff73d52672df191 + checksum: 10/2917fbdccb23c831b613857c3a5738d34352697dae84173a3d24dbcb4c38edf23989fb089870187885dcf867a55ec731c1ac05e9809a7d6804dbe28c57e6da50 languageName: node linkType: hard @@ -4037,7 +4050,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/transaction-controller@npm:^43.0.0, @metamask/transaction-controller@workspace:packages/transaction-controller": +"@metamask/transaction-controller@npm:^44.0.0, @metamask/transaction-controller@workspace:packages/transaction-controller": version: 0.0.0-use.local resolution: "@metamask/transaction-controller@workspace:packages/transaction-controller" dependencies: @@ -4048,7 +4061,7 @@ __metadata: "@ethersproject/abi": "npm:^5.7.0" "@ethersproject/contracts": "npm:^5.7.0" "@ethersproject/providers": "npm:^5.7.0" - "@metamask/accounts-controller": "npm:^21.0.2" + "@metamask/accounts-controller": "npm:^22.0.0" "@metamask/approval-controller": "npm:^7.1.2" "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^7.1.1" @@ -4083,7 +4096,7 @@ __metadata: uuid: "npm:^8.3.2" peerDependencies: "@babel/runtime": ^7.0.0 - "@metamask/accounts-controller": ^21.0.0 + "@metamask/accounts-controller": ^22.0.0 "@metamask/approval-controller": ^7.0.0 "@metamask/eth-block-tracker": ">=9" "@metamask/gas-fee-controller": ^22.0.0 @@ -4102,12 +4115,12 @@ __metadata: "@metamask/eth-block-tracker": "npm:^11.0.3" "@metamask/eth-query": "npm:^4.0.0" "@metamask/gas-fee-controller": "npm:^22.0.2" - "@metamask/keyring-controller": "npm:^19.0.4" + "@metamask/keyring-controller": "npm:^19.0.5" "@metamask/network-controller": "npm:^22.1.1" "@metamask/polling-controller": "npm:^12.0.2" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/transaction-controller": "npm:^43.0.0" + "@metamask/transaction-controller": "npm:^44.0.0" "@metamask/utils": "npm:^11.0.1" "@types/jest": "npm:^27.4.1" bn.js: "npm:^5.2.1" @@ -4126,7 +4139,7 @@ __metadata: "@metamask/gas-fee-controller": ^22.0.0 "@metamask/keyring-controller": ^19.0.0 "@metamask/network-controller": ^22.0.0 - "@metamask/transaction-controller": ^43.0.0 + "@metamask/transaction-controller": ^44.0.0 languageName: unknown linkType: soft @@ -4147,9 +4160,9 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^11.0.1": - version: 11.0.1 - resolution: "@metamask/utils@npm:11.0.1" +"@metamask/utils@npm:^11.0.1, @metamask/utils@npm:^11.1.0": + version: 11.1.0 + resolution: "@metamask/utils@npm:11.1.0" dependencies: "@ethereumjs/tx": "npm:^4.2.0" "@metamask/superstruct": "npm:^3.1.0" @@ -4160,7 +4173,7 @@ __metadata: pony-cause: "npm:^2.1.10" semver: "npm:^7.5.4" uuid: "npm:^9.0.1" - checksum: 10/3949d16c8021bfb5f70e3b1c99f097ffaf43158116734197b039b32be6aabecb12178deb62c0b182e45295b0865618636324020059821c5b053029d8bdc90d70 + checksum: 10/756f13987881fe26adaa0a54354bc5af20cedee4dd228a736d481697dc634adb9e6e54d8f1dcc1d487b2376ab4ba8c576ecbb24beab2fb63aff721d0d5c0f5fe languageName: node linkType: hard