Skip to content

Inline networkStore to avoid having too many event listeners#7854

Merged
whymarrh merged 1 commit intoMetaMask:developfrom
whymarrh:fix-TransactionController-test-output
Jan 17, 2020
Merged

Inline networkStore to avoid having too many event listeners#7854
whymarrh merged 1 commit intoMetaMask:developfrom
whymarrh:fix-TransactionController-test-output

Conversation

@whymarrh
Copy link
Copy Markdown
Contributor

This PR inlines the networkStore obs store to avoid having too many listeners attached to it (that is, each test was constructing a new tx controller that was attaching to the same store).

Before:

$ yarn test:unit
yarn run v1.19.2
$ cross-env METAMASK_ENV=test mocha --exit --require test/setup.js --recursive "test/unit/**/*.js" "ui/app/**/*.test.js"


  Transaction Controller
    #getState
      ✓ should return a state object with the right keys and datat types
    #getUnapprovedTxCount
      ✓ should return the number of unapproved txs
    #getPendingTxCount
      ✓ should return the number of pending txs
    #getConfirmedTransactions
      ✓ should return the number of confirmed txs
    #newUnapprovedTransaction
      ✓ should resolve when finished and status is submitted and resolve with the hash
      ✓ should reject when finished and status is rejected
    #addUnapprovedTransaction
      ✓ should add an unapproved transaction and return a valid txMeta (77ms)
      ✓ should emit newUnapprovedTx event and pass txMeta as the first argument
      ✓ should fail if recipient is public
      ✓ should fail if the from address isn't the selected address
{ MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 update listeners added. Use emitter.setMaxListeners() to increase limit
    at _addListener (/metamask-extension/node_modules/events/events.js:206:15)
    at ObservableStore.addListener (/metamask-extension/node_modules/events/events.js:222:10)
    at ObservableStore.on [as subscribe] (/metamask-extension/node_modules/obs-store/index.js:39:10)
    at new subscribe (/metamask-extension/app/scripts/controllers/transactions/index.js:118:23)
    at Context.<anonymous> (/metamask-extension/test/unit/app/controllers/transactions/tx-controller-test.js:39:20)
    at callFn (/metamask-extension/node_modules/mocha/lib/runnable.js:354:21)
    at Hook.Runnable.run (/metamask-extension/node_modules/mocha/lib/runnable.js:346:7)
    at next (/metamask-extension/node_modules/mocha/lib/runner.js:304:10)
    at Immediate._onImmediate (/metamask-extension/node_modules/mocha/lib/runner.js:334:5)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)
  name: 'MaxListenersExceededWarning',
  emitter:
   ObservableStore {
     _events: [Object: null prototype] { update: [Array] },
     _eventsCount: 1,
     _maxListeners: undefined,
     _state: 42 },
  type: 'update',
  count: 11 }
      ✓ should not fail if recipient is public but not on mainnet
      ✓ should fail if netId is loading
    #addTxGasDefaults
      ✓ should add the tx defaults if their are none
    #addTx
      ✓ should emit updates
    #approveTransaction
      ✓ does not overwrite set values
    #sign replay-protected tx
      ✓ prepares a tx with the chainId set
    #updateAndApproveTransaction
      ✓ should update and approve transactions (67ms)
    #getChainId
      ✓ returns 0 when the chainId is NaN
    #cancelTransaction
      ✓ should emit a status change to rejected
    #createSpeedUpTransaction
      ✓ should call this.addTx and this.approveTransaction with the expected args (49ms)
      ✓ should call this.approveTransaction with the id of the returned tx
      ✓ should return the expected txMeta
    #publishTransaction
      ✓ should publish a tx, updates the rawTx when provided a one
      ✓ should ignore the error "Transaction Failed: known transaction" and be as usual
    #retryTransaction
      ✓ should create a new txMeta with the same txParams as the original one but with a higher gasPrice
    #_markNonceDuplicatesDropped
      ✓ should mark all nonce duplicates as dropped without marking the confirmed transaction as dropped
    #_determineTransactionCategory
      ✓ should return a simple send transactionCategory when to is truthy but data is falsey
      ✓ should return a token transfer transactionCategory when data is for the respective method call
      ✓ should return a token approve transactionCategory when data is for the respective method call
      ✓ should return a contract deployment transactionCategory when to is falsey and there is data
      ✓ should return a simple send transactionCategory with a 0x getCodeResponse when there is data and but the to address is not a contract address
      ✓ should return a simple send transactionCategory with a null getCodeResponse when to is truthy and there is data and but getCode returns an error
      ✓ should return a contract interaction transactionCategory with the correct getCodeResponse when to is truthy and there is data and it is not a token transaction
      ✓ should return a contract interaction transactionCategory with the correct getCodeResponse when to is a contract address and data is falsey
    #getPendingTransactions
      ✓ should show only submitted and approved transactions as pending transasction


  35 passing (1s)

✨  Done in 20.05s.

After:

$ yarn test:unit
yarn run v1.19.2
$ cross-env METAMASK_ENV=test mocha --exit --require test/setup.js --recursive "test/unit/**/*.js" "ui/app/**/*.test.js"


  Transaction Controller
    #getState
      ✓ should return a state object with the right keys and datat types
    #getUnapprovedTxCount
      ✓ should return the number of unapproved txs
    #getPendingTxCount
      ✓ should return the number of pending txs
    #getConfirmedTransactions
      ✓ should return the number of confirmed txs
    #newUnapprovedTransaction
      ✓ should resolve when finished and status is submitted and resolve with the hash
      ✓ should reject when finished and status is rejected
    #addUnapprovedTransaction
      ✓ should add an unapproved transaction and return a valid txMeta (70ms)
      ✓ should emit newUnapprovedTx event and pass txMeta as the first argument
      ✓ should fail if recipient is public
      ✓ should fail if the from address isn't the selected address
      ✓ should not fail if recipient is public but not on mainnet
      ✓ should fail if netId is loading
    #addTxGasDefaults
      ✓ should add the tx defaults if their are none
    #addTx
      ✓ should emit updates
    #approveTransaction
      ✓ does not overwrite set values
    #sign replay-protected tx
      ✓ prepares a tx with the chainId set
    #updateAndApproveTransaction
      ✓ should update and approve transactions (75ms)
    #getChainId
      ✓ returns 0 when the chainId is NaN
    #cancelTransaction
      ✓ should emit a status change to rejected
    #createSpeedUpTransaction
      ✓ should call this.addTx and this.approveTransaction with the expected args (49ms)
      ✓ should call this.approveTransaction with the id of the returned tx
      ✓ should return the expected txMeta
    #publishTransaction
      ✓ should publish a tx, updates the rawTx when provided a one
      ✓ should ignore the error "Transaction Failed: known transaction" and be as usual
    #retryTransaction
      ✓ should create a new txMeta with the same txParams as the original one but with a higher gasPrice
    #_markNonceDuplicatesDropped
      ✓ should mark all nonce duplicates as dropped without marking the confirmed transaction as dropped
    #_determineTransactionCategory
      ✓ should return a simple send transactionCategory when to is truthy but data is falsey
      ✓ should return a token transfer transactionCategory when data is for the respective method call
      ✓ should return a token approve transactionCategory when data is for the respective method call
      ✓ should return a contract deployment transactionCategory when to is falsey and there is data
      ✓ should return a simple send transactionCategory with a 0x getCodeResponse when there is data and but the to address is not a contract address
      ✓ should return a simple send transactionCategory with a null getCodeResponse when to is truthy and there is data and but getCode returns an error
      ✓ should return a contract interaction transactionCategory with the correct getCodeResponse when to is truthy and there is data and it is not a token transaction
      ✓ should return a contract interaction transactionCategory with the correct getCodeResponse when to is a contract address and data is falsey
    #getPendingTransactions
      ✓ should show only submitted and approved transactions as pending transasction


  35 passing (1s)

✨  Done in 17.19s.

Copy link
Copy Markdown
Member

@Gudahtt Gudahtt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@whymarrh whymarrh merged commit 1728d9a into MetaMask:develop Jan 17, 2020
@whymarrh whymarrh deleted the fix-TransactionController-test-output branch January 17, 2020 21:58
yqrashawn pushed a commit to yqrashawn/conflux-portal that referenced this pull request Jan 19, 2020
yqrashawn pushed a commit to Conflux-Chain/conflux-portal that referenced this pull request Jan 19, 2020
github-merge-queue bot pushed a commit that referenced this pull request Feb 11, 2026
…3.18.0 (#39887)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
[skip-e2e]
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
This PR bump `@metamask/assets-controllers` from `^99.0.0` to `^99.3.1`.
The current resolved version in the `yarn.lock` is `99.1.0`, which
includes a change that introduces a bug with Tempo native balances. A
fix has been released in `99.3.1`, so we need to bump to that version to
get the fix.

The cherry-pick into `13.18.0` is necessary as it includes the affected
version of `@metamask/assets-controllers`, and we don't want it to reach
production.

```markdown
## [99.3.1]

### Fixed

- Remove `Tempo Testnet` multicall address ([#7858](MetaMask/core#7858)).

## [99.3.0]

### Added

- Add optional `rwaData` support when adding tokens in `TokensController` ([#7804](MetaMask/core#7804)).

### Changed

- Lock `@metamask/core-backend` to `5.0.0` ([#7852](MetaMask/core#7852))
- Bump `@metamask/profile-sync-controller` from `^27.0.0` to `^27.1.0` ([#7849](MetaMask/core#7849))
- Fix trending tokens showing incorrect market cap values by adding `usePriceApiData` parameter (defaults to `true`) to use price API data for accurate market data ([#7829](MetaMask/core#7829))
- Bump `@metamask/transaction-controller` from `^62.13.0` to `^62.15.0` ([#7832](MetaMask/core#7832), [#7854](MetaMask/core#7854))

## [99.2.0]

### Added

- Add `HYPEREVM` support ([#7790](MetaMask/core#7790))
  - Add `HYPEREVM` in `SupportedTokenDetectionNetworks`
  - Add `HYPEREVM` in `SUPPORTED_NETWORKS_ACCOUNTS_API_V4`

### Changed

- Simplify TokenListController initialization ([#7740](MetaMask/core#7740))
- Bump `@metamask/storage-service` from `^0.0.1` to `^1.0.0` ([#7797](MetaMask/core#7797))
- Bump `@metamask/transaction-controller` from `^62.11.0` to `^62.13.0` ([#7775](MetaMask/core#7775), [#7802](MetaMask/core#7802))
- Bump `@metamask/preferences-controller` from `^22.0.0` to `^22.1.0` ([#7802](MetaMask/core#7802))

### Removed

- Removed token-search-discovery-controller package ([#7789](MetaMask/core#7789))
```

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/39887?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Dependency upgrade in a core controllers package can change
token/balance behavior and introduces transitive version shifts; risk is
mitigated by being a targeted bump intended to pick up a bugfix release.
> 
> **Overview**
> Bumps `@metamask/assets-controllers` from `^99.0.0` to `^99.3.1` and
refreshes `yarn.lock` to resolve to `99.3.1`.
> 
> Removes the Yarn patch previously applied to
`@metamask/assets-controllers@93.1.0` (and its patched exchange-rate
precision changes), relying on upstream package fixes instead; lockfile
also reflects updated transitive constraints (e.g., pinning
`@metamask/core-backend` to `5.0.0` and newer controller deps).
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7457931. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Prithpal Sooriya <prithpal.sooriya@consensys.net>
runway-github bot added a commit that referenced this pull request Feb 11, 2026
… cp-13.18.0 (#39887)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
[skip-e2e]
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
This PR bump `@metamask/assets-controllers` from `^99.0.0` to `^99.3.1`.
The current resolved version in the `yarn.lock` is `99.1.0`, which
includes a change that introduces a bug with Tempo native balances. A
fix has been released in `99.3.1`, so we need to bump to that version to
get the fix.

The cherry-pick into `13.18.0` is necessary as it includes the affected
version of `@metamask/assets-controllers`, and we don't want it to reach
production.

```markdown
## [99.3.1]

### Fixed

- Remove `Tempo Testnet` multicall address ([#7858](MetaMask/core#7858)).

## [99.3.0]

### Added

- Add optional `rwaData` support when adding tokens in `TokensController` ([#7804](MetaMask/core#7804)).

### Changed

- Lock `@metamask/core-backend` to `5.0.0` ([#7852](MetaMask/core#7852))
- Bump `@metamask/profile-sync-controller` from `^27.0.0` to `^27.1.0` ([#7849](MetaMask/core#7849))
- Fix trending tokens showing incorrect market cap values by adding `usePriceApiData` parameter (defaults to `true`) to use price API data for accurate market data ([#7829](MetaMask/core#7829))
- Bump `@metamask/transaction-controller` from `^62.13.0` to `^62.15.0` ([#7832](MetaMask/core#7832), [#7854](MetaMask/core#7854))

## [99.2.0]

### Added

- Add `HYPEREVM` support ([#7790](MetaMask/core#7790))
  - Add `HYPEREVM` in `SupportedTokenDetectionNetworks`
  - Add `HYPEREVM` in `SUPPORTED_NETWORKS_ACCOUNTS_API_V4`

### Changed

- Simplify TokenListController initialization ([#7740](MetaMask/core#7740))
- Bump `@metamask/storage-service` from `^0.0.1` to `^1.0.0` ([#7797](MetaMask/core#7797))
- Bump `@metamask/transaction-controller` from `^62.11.0` to `^62.13.0` ([#7775](MetaMask/core#7775), [#7802](MetaMask/core#7802))
- Bump `@metamask/preferences-controller` from `^22.0.0` to `^22.1.0` ([#7802](MetaMask/core#7802))

### Removed

- Removed token-search-discovery-controller package ([#7789](MetaMask/core#7789))
```

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/39887?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Dependency upgrade in a core controllers package can change
token/balance behavior and introduces transitive version shifts; risk is
mitigated by being a targeted bump intended to pick up a bugfix release.
> 
> **Overview**
> Bumps `@metamask/assets-controllers` from `^99.0.0` to `^99.3.1` and
refreshes `yarn.lock` to resolve to `99.3.1`.
> 
> Removes the Yarn patch previously applied to
`@metamask/assets-controllers@93.1.0` (and its patched exchange-rate
precision changes), relying on upstream package fixes instead; lockfile
also reflects updated transitive constraints (e.g., pinning
`@metamask/core-backend` to `5.0.0` and newer controller deps).
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7457931. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Prithpal Sooriya <prithpal.sooriya@consensys.net>
Prithpal-Sooriya added a commit that referenced this pull request Feb 11, 2026
…3.18.0 (#39887)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
[skip-e2e]
-->

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
This PR bump `@metamask/assets-controllers` from `^99.0.0` to `^99.3.1`.
The current resolved version in the `yarn.lock` is `99.1.0`, which
includes a change that introduces a bug with Tempo native balances. A
fix has been released in `99.3.1`, so we need to bump to that version to
get the fix.

The cherry-pick into `13.18.0` is necessary as it includes the affected
version of `@metamask/assets-controllers`, and we don't want it to reach
production.

```markdown

- Remove `Tempo Testnet` multicall address ([#7858](MetaMask/core#7858)).

- Add optional `rwaData` support when adding tokens in `TokensController` ([#7804](MetaMask/core#7804)).

- Lock `@metamask/core-backend` to `5.0.0` ([#7852](MetaMask/core#7852))
- Bump `@metamask/profile-sync-controller` from `^27.0.0` to `^27.1.0` ([#7849](MetaMask/core#7849))
- Fix trending tokens showing incorrect market cap values by adding `usePriceApiData` parameter (defaults to `true`) to use price API data for accurate market data ([#7829](MetaMask/core#7829))
- Bump `@metamask/transaction-controller` from `^62.13.0` to `^62.15.0` ([#7832](MetaMask/core#7832), [#7854](MetaMask/core#7854))

- Add `HYPEREVM` support ([#7790](MetaMask/core#7790))
  - Add `HYPEREVM` in `SupportedTokenDetectionNetworks`
  - Add `HYPEREVM` in `SUPPORTED_NETWORKS_ACCOUNTS_API_V4`

- Simplify TokenListController initialization ([#7740](MetaMask/core#7740))
- Bump `@metamask/storage-service` from `^0.0.1` to `^1.0.0` ([#7797](MetaMask/core#7797))
- Bump `@metamask/transaction-controller` from `^62.11.0` to `^62.13.0` ([#7775](MetaMask/core#7775), [#7802](MetaMask/core#7802))
- Bump `@metamask/preferences-controller` from `^22.0.0` to `^22.1.0` ([#7802](MetaMask/core#7802))

- Removed token-search-discovery-controller package ([#7789](MetaMask/core#7789))
```

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/39887?quickstart=1)

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

Fixes:

1. Go to this page...
2.
3.

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

<!-- [screenshots/recordings] -->

<!-- [screenshots/recordings] -->

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Dependency upgrade in a core controllers package can change
token/balance behavior and introduces transitive version shifts; risk is
mitigated by being a targeted bump intended to pick up a bugfix release.
>
> **Overview**
> Bumps `@metamask/assets-controllers` from `^99.0.0` to `^99.3.1` and
refreshes `yarn.lock` to resolve to `99.3.1`.
>
> Removes the Yarn patch previously applied to
`@metamask/assets-controllers@93.1.0` (and its patched exchange-rate
precision changes), relying on upstream package fixes instead; lockfile
also reflects updated transitive constraints (e.g., pinning
`@metamask/core-backend` to `5.0.0` and newer controller deps).
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
7457931. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Prithpal Sooriya <prithpal.sooriya@consensys.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants