Skip to content

chore: bump dependents to @metamask/utils@^12.0.0 - #10192

Merged
cryptodev-2s merged 8 commits into
mainfrom
chore/utils-bump-dependents
Sep 11, 2026
Merged

cryptodev-2s merged 8 commits into
mainfrom
chore/utils-bump-dependents

Conversation

@cryptodev-2s

@cryptodev-2s cryptodev-2s commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Explanation

Follow up to #10185, which moved @metamask/utils into packages/. This bumps its dependents to the local version.

  • @metamask/utils bumped from ^11.12.0 to ^12.0.0 in 79 packages and the root
  • Removes the temporary @metamask/utils entry from ALLOWED_INCONSISTENT_DEPENDENCIES in yarn.config.cjs, which chore: integrate @metamask/utils into packages/ #10185 added so that constraints would pass while the dependents were still on the published version
  • Changelog entries recorded for the bump, plus the lockfile dedupe and README dependency graph that follow from it

These two PRs are meant to land together, so the intermediate state where dependents still resolve the published copy never reaches main.

Splitting it this way keeps #10185 reviewable: the move, the config rewiring and the type test change are separate from 79 mechanical version bumps.

References

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
A major-version bump of a shared utility touches most packages; runtime risk is low if v12 is compatible, but consumers and lingering v11 transitive deps (keyring) can cause type or duplicate-package issues until fully aligned.

Overview
This PR aligns the monorepo with the in-repo @metamask/utils v12 after it was moved into packages/ (follow-up to #10185). 79 packages plus the root bump the dependency from ^11.12.0 to ^12.0.0, with matching Unreleased changelog entries and an updated README dependency graph.

Tooling is cleaned up so builds use the workspace package instead of the published copy: tsconfig.packages.json now maps @metamask/utils to local source (the temporary node_modules override is removed), and yarn.config.cjs drops the ALLOWED_INCONSISTENT_DEPENDENCIES exception for @metamask/utils.

There are small TypeScript follow-ups from the version split: network-controller removes a stale @ts-expect-error on Infura middleware now that types match v12, while keyring-controller adds a documented @ts-expect-error when casting legacy keyrings until @metamask/keyring-utils also depends on v12.

Reviewed by Cursor Bugbot for commit 8bd8970. Bugbot is set up for automated code reviews on this repo. Configure here.

@cryptodev-2s
cryptodev-2s added this pull request to stack #10193 September 11, 2026 10:55
@cryptodev-2s
cryptodev-2s force-pushed the chore/utils-bump-dependents branch from f275644 to a439c10 Compare September 11, 2026 11:03
@cryptodev-2s
cryptodev-2s marked this pull request as ready for review September 11, 2026 11:04
@cryptodev-2s
cryptodev-2s requested review from a team as code owners September 11, 2026 11:04
@cryptodev-2s
cryptodev-2s deployed to default-branch September 11, 2026 11:04 — with GitHub Actions Active
@cryptodev-2s
cryptodev-2s force-pushed the chore/utils-bump-dependents branch from a439c10 to 4b34e4d Compare September 11, 2026 11:12
@cryptodev-2s
cryptodev-2s requested a review from a team as a code owner September 11, 2026 11:20
@cryptodev-2s
cryptodev-2s force-pushed the chore/utils-bump-dependents branch from 4b34e4d to 9ecc84e Compare September 11, 2026 11:20
mcmire
mcmire previously approved these changes Sep 11, 2026

@mcmire mcmire left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM.

@cryptodev-2s
cryptodev-2s added this pull request to the merge queue Sep 11, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Sep 11, 2026
@cryptodev-2s
cryptodev-2s added this pull request to the merge queue Sep 11, 2026
Base automatically changed from chore/utils-integrate to main September 11, 2026 14:15
Merged via the queue into main with commit 2720940 Sep 11, 2026
338 checks passed
@cryptodev-2s
cryptodev-2s deleted the chore/utils-bump-dependents branch September 11, 2026 14:21
cryptodev-2s added a commit to MetaMask/utils that referenced this pull request Sep 11, 2026
Step D-3 of the [package migration
process](https://github.com/MetaMask/core/blob/main/docs/processes/package-migration-process-guide.md).

`@metamask/utils` now lives in the core monorepo
([MetaMask/core#10185](MetaMask/core#10185)
moved it,
[MetaMask/core#10192](MetaMask/core#10192)
bumped the dependents), so this swaps the "migration in progress" notice
for the archived one from the guide.

Open issues have been transferred to core and the remaining open PRs are
commented and locked. Archiving the repo is the next step.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only README change with no runtime or dependency impact.
> 
> **Overview**
> Updates the **README** migration banner for package migration step
D-3: it no longer warns that migration is in progress or asks
contributors to reopen PRs in **core**, and instead states that
**`@metamask/utils`** has moved to the
[**MetaMask/core**](https://github.com/MetaMask/core) monorepo, **this
repo is archived**, and all future work should happen in **core**.
> 
> The notice is also reformatted from a single-line HTML table into a
multi-line layout; installation and API content are unchanged.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
13e0cdd. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
pull Bot pushed a commit to Reality2byte/core that referenced this pull request Sep 11, 2026
## Explanation

Phase C of migrating `@metamask/utils`, following [the package migration
process
guide](https://github.com/MetaMask/core/blob/main/docs/processes/package-migration-process-guide.md).
This moves the package from `merged-packages/` into `packages/` and
wires it into the monorepo.

- `merged-packages/utils` → `packages/utils`, registered as a workspace
- Reference paths added to the root `tsconfig.json`,
`tsconfig.build.json` and `tsconfig.lint.json`
- The version bump for dependents is split into a follow up (MetaMask#10192) to
keep this diff reviewable. This PR adds a temporary `@metamask/utils`
entry to `ALLOWED_INCONSISTENT_DEPENDENCIES` in `yarn.config.cjs` so
constraints pass while dependents are still on the published version;
MetaMask#10192 removes it. The two are meant to land together.
- Downstream tsconfig references added via `yarn lint:tsconfigs:fix:all`
(174 files). Without them `yarn lint:tsc` reported 536 errors; it is now
clean
- `yarn constraints --fix` applied, which split the test scripts into
`test:unit` and `test:types`
- CODEOWNERS entry added through `codeowners.ts` and `teams.json`,
assigning the package to `@MetaMask/core-platform` as with the other
foundational packages
- README package list and dependency graph regenerated with `yarn
readme-content:update`

### Type tests moved from `tsd` to `tstyche`

The package's type tests import from source (`./index.js`, `./misc.js`),
so they never needed built declarations. `tsd` requires a typings file
as a structural precondition regardless, which forced a build purely to
satisfy the tool. `tstyche` type checks source directly and is already
used by `@metamask/messenger`, so the four `*.test-d.ts` files are now
`*.tst.ts`, with all 120 assertions preserved.

That removed three workarounds: a `composite: false` override for `tsd`,
a `--typings` flag, and the `*.test-d.ts` exclusion in
`tsconfig.lint.json`. That last one existed because `tsd`'s own types
pull in `lib="esnext"`, widening built in types like `ReadonlySet` past
this package's target. With that gone the type tests are covered by
`lint:tsc` rather than excluded from it, and `tsd` leaves the lockfile
entirely.

### Root tooling now resolves the package from source

Nine files at the repository root import `@metamask/utils`, which
previously arrived prebuilt from npm. As a workspace its `dist` does not
exist until something builds it, and the lint jobs do not build, so
`constraints`, `lint:teams` and `lint:tsconfigs:all` all failed on a
fresh checkout.

Adding a `paths` entry to the root `tsconfig.json` fixes the scripts.
`yarn.config.cjs` is the exception, since Yarn loads it as plain
CommonJS where `paths` do not apply and a `.ts` file cannot be required.
It only used `hasProperty`, whose runtime body is a single expression,
so it now calls `Object.hasOwn` directly. That is available on every
supported Node version.

All of the following pass with no build artifacts present:
`constraints`, `lint:teams`, `lint:tsconfigs:all`,
`readme-content:check`, `codeowners:check`, `lint:tsc`,
`lint:misc:check`, and the package's own tests.

### Inherited lint findings

86 pre-existing findings in the package, mostly `no-explicit-any` in
tests, are recorded in `eslint-suppressions.json` rather than fixed
here, matching how this repo tracks that debt. They came from rules the
package's own ESLint config had disabled before the migration.

## References

- Follows MetaMask#10175, MetaMask#10178, MetaMask#10179, MetaMask#10180, MetaMask#10181 and MetaMask#10182
- Migration process guide:
`docs/processes/package-migration-process-guide.md`

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [ ] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [ ] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Wide monorepo integration touches build graphs and resolution for a
foundational dependency; temporary dual resolution (workspace v12 vs
published v11) must land with the follow-up bump to avoid inconsistent
runtime/types.
> 
> **Overview**
> **`@metamask/utils` is now a workspace package at `packages/utils`
(v12.0.0)** instead of living under `merged-packages/` or npm-only. Repo
metadata, CODEOWNERS/`teams.json`, README list/graph, and root
`tsconfig` project references are updated so the package builds and
lints with the rest of core.
> 
> **Monorepo wiring:** Jest and root/script `tsconfig` paths resolve
`@metamask/utils` (and `/node`) to **TypeScript source** so tests and
lint work without a prior build. Package `tsconfig` references to
`../utils` were added across dependents. **`tsconfig.packages.json`
still maps `@metamask/utils` to published v11 in `node_modules`** until
a follow-up bumps dependents; `yarn.config.cjs` temporarily allows that
version skew and drops the `@metamask/utils` import in favor of
**`Object.hasOwn`**.
> 
> **Package tooling:** Type tests move from **`tsd` (`*.test-d.ts`) to
`tstyche` (`*.tst.ts`)**; build excludes `*.tst.ts`. Unused
**`@metamask/utils` dependencies are removed** from a few packages (e.g.
messenger, ai-controllers). Pre-existing ESLint issues in
`packages/utils` are **recorded in `eslint-suppressions.json`**. Stale
**`merged-packages/utils`** type-test and lint config files are removed.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
dd04556. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@gauthierpetetin gauthierpetetin mentioned this pull request Sep 18, 2026
3 of 4 tasks
pull Bot pushed a commit to Reality2byte/core that referenced this pull request Sep 18, 2026
## Explanation

Creates monorepo release 1265.0.0 with one package release:

- `@metamask/analytics-controller` 3.1.0

This release ships independent marketing consent and purpose-aware event
classification. It adds `optedInToMarketing`, `optInToMarketing` /
`optOutOfMarketing` / `resetMarketingConsentDecision`, and a persisted
`eventsConfig` whose unlisted events default to product-only. Named
`track` and `view` payloads are delivered once with their allowed
purposes in `context.consent.categoryPreferences` and their capture-time
config version in `context.eventsConfigVersion`. Queues and fragments
retain capture-time purpose classification so config changes cannot
reclassify captured events. Mixed-purpose fragments classify each
declared lifecycle event independently.

Workspace dependents `@metamask/network-controller` and
`@metamask/wallet-cli` are aligned to `@metamask/analytics-controller`
`^3.1.0`.

The release also includes pending dependency bumps for `uuid` (`^8.3.2`
→ `^11.1.1`) and `@metamask/utils` (`^11.12.0` → `^12.0.0`).

## References

- MetaMask#10232
- MetaMask#10117
- MetaMask#10243
- MetaMask#10192

## Checklist

- [x] I've updated the test suite for new or updated code as appropriate
- [x] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [ ] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them

Made with [Cursor](https://cursor.com)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@ffmcgee725 ffmcgee725 mentioned this pull request Sep 28, 2026
FrederikBolding pushed a commit that referenced this pull request Sep 28, 2026
## @metamask/base-data-service

## [2.1.0]

### Added

- Add `executeMutation` protected method to `BaseDataService` to allow
for making server-state-mutating requests
([#9324](#9324))
  - These kinds of requests are never retried, unlike queries.
- To use this, create a method in your data service class which takes
whatever arguments you need, plus a optional final argument called
`globalId`; then call `executeMutation` with a `mutationKey`,
`globalId`, and `mutationFn`. See `ExampleDataService` in this package
for an example.
  - A `MutationKey` type is also available.
- Add protected `cancelQueries` so subclasses can abort in-flight reads
before a forced refresh
([#10454](#10454))

### Changed

- The payload for `:cacheUpdated` and `:cacheUpdated:${hash}` events now
includes an `objectType` property, which is either "query" or "mutation"
([#9324](#9324))
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0`
([#10192](#10192))
- Add `uuid` `^11.1.1` as a dependency
([#9324](#9324))
- Bump `@tanstack/query-core` from `^5.62.16` to `^5.89.0`
([#9324](#9324))
- Bump `cockatiel` from `^3.1.2` to `^3.2.1`
([#10436](#10436))
- Bump `lodash-es` from `^4.17.21` to `^4.18.1`
([#10447](#10447))

## @metamask/money-account-api-data-service

## [2.0.0]

### Added

- Add optional `fresh` option to `fetchPositions` that cancels in-flight
reads, fetches with a zero stale time, invalidates the result for
subsequent reads, and sends `Cache-Control: no-cache` so the Money API
skips its Nest response cache when supported
([#10455](#10455))
- Accept optional additive `musd_balance_updated_at` on the positions
`balance` summary
([#10455](#10455))
- Accept vault metadata on each position returned by `fetchPositions`:
`chain_id`, `vault_key`, `name`, `asset_symbol`, and `asset_decimals`
([#10500](#10500))
- Accept multi-asset balance fields `by_asset` and `total_balance_usd`
on the positions `balance` summary, and export `AssetBalance`
([#10500](#10500))

### Changed

- **BREAKING:** `effective_apy` on a vault position is now `string |
null`. `null` means the position has been invested for fewer than 28
days, and is distinct from a rate of zero
([#10500](#10500))
- Bump `@metamask/base-data-service` from `^2.0.0` to `^2.1.0`
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0`
([#10192](#10192))
- Bump `@tanstack/query-core` from `^5.62.16` to `^5.89.0`
([#9324](#9324))

## @metamask/money-account-balance-service

## [3.1.0]

### Added

- Surface Money API freshness on `fetchBalanceWithFallback` results
(`asOfBlock`, `asOfTimestamp`, `dataFreshness`, `indexerLagSeconds`,
`musdBalanceUpdatedAt`) when `source` is `api`
([#10455](#10455))
- Add optional `FetchBalanceWithFallbackOptions` (`minBlock`, `fresh`):
when the API `as_of_block` is behind `minBlock`, throw
`MoneyAccountBalanceStaleError` and fall back to RPC without reporting a
defect; `minBlock` implies a fresh positions read, and explicit `fresh`
is also forwarded to `fetchPositions`
([#10455](#10455))
- Export `MoneyAccountBalanceStaleError`
([#10455](#10455))

### Changed

- Bump `@metamask/money-account-api-data-service` from `^1.0.0` to
`^2.0.0`
- Bump `@metamask/base-data-service` from `^2.0.0` to `^2.1.0`
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0`
([#10192](#10192))
- Bump `@ethersproject/providers` from `^5.7.0` to `^5.8.0`
([#10482](#10482))

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> The release bundles Money balance/positions API behavior changes
including a breaking type change and post-tx staleness fallback logic,
even though this PR only cuts versions and dependency ranges.
> 
> **Overview**
> **Monorepo release 1294.0.0** that cuts new package versions and
aligns dependents—there are no application source edits in this diff,
only `package.json`, changelog, and lockfile updates.
> 
> **Version cuts:** `@metamask/base-data-service` **2.1.0**,
`@metamask/money-account-api-data-service` **2.0.0**, and
`@metamask/money-account-balance-service` **3.1.0**, with `[Unreleased]`
notes moved into those release sections. The root monorepo version moves
**1293.0.0 → 1294.0.0**.
> 
> **Dependency propagation:** Every listed consumer bumps
`@metamask/base-data-service` from `^2.0.0` to `^2.1.0`.
`@metamask/money-account-balance-service` picks up
`@metamask/money-account-api-data-service` **^2.0.0**;
`@metamask/subscription-controller` also bumps
`@metamask/money-account-balance-service` to **^3.1.0**.
> 
> **What ships in those releases (via changelog, not new code here):**
`BaseDataService` gains mutation/query-cancel plumbing and richer cache
events; Money API positions support forced refresh, richer
balance/position shapes, and a **breaking** `effective_apy: string |
null`; balance fallback exposes API freshness metadata and optional
`minBlock` / `fresh` behavior with `MoneyAccountBalanceStaleError`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
ee833b1. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
pull Bot pushed a commit to Reality2byte/core that referenced this pull request Sep 28, 2026
## @metamask/base-data-service

## [2.1.0]

### Added

- Add `executeMutation` protected method to `BaseDataService` to allow
for making server-state-mutating requests
([MetaMask#9324](MetaMask#9324))
  - These kinds of requests are never retried, unlike queries.
- To use this, create a method in your data service class which takes
whatever arguments you need, plus a optional final argument called
`globalId`; then call `executeMutation` with a `mutationKey`,
`globalId`, and `mutationFn`. See `ExampleDataService` in this package
for an example.
  - A `MutationKey` type is also available.
- Add protected `cancelQueries` so subclasses can abort in-flight reads
before a forced refresh
([MetaMask#10454](MetaMask#10454))

### Changed

- The payload for `:cacheUpdated` and `:cacheUpdated:${hash}` events now
includes an `objectType` property, which is either "query" or "mutation"
([MetaMask#9324](MetaMask#9324))
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0`
([MetaMask#10192](MetaMask#10192))
- Add `uuid` `^11.1.1` as a dependency
([MetaMask#9324](MetaMask#9324))
- Bump `@tanstack/query-core` from `^5.62.16` to `^5.89.0`
([MetaMask#9324](MetaMask#9324))
- Bump `cockatiel` from `^3.1.2` to `^3.2.1`
([MetaMask#10436](MetaMask#10436))
- Bump `lodash-es` from `^4.17.21` to `^4.18.1`
([MetaMask#10447](MetaMask#10447))

## @metamask/money-account-api-data-service

## [2.0.0]

### Added

- Add optional `fresh` option to `fetchPositions` that cancels in-flight
reads, fetches with a zero stale time, invalidates the result for
subsequent reads, and sends `Cache-Control: no-cache` so the Money API
skips its Nest response cache when supported
([MetaMask#10455](MetaMask#10455))
- Accept optional additive `musd_balance_updated_at` on the positions
`balance` summary
([MetaMask#10455](MetaMask#10455))
- Accept vault metadata on each position returned by `fetchPositions`:
`chain_id`, `vault_key`, `name`, `asset_symbol`, and `asset_decimals`
([MetaMask#10500](MetaMask#10500))
- Accept multi-asset balance fields `by_asset` and `total_balance_usd`
on the positions `balance` summary, and export `AssetBalance`
([MetaMask#10500](MetaMask#10500))

### Changed

- **BREAKING:** `effective_apy` on a vault position is now `string |
null`. `null` means the position has been invested for fewer than 28
days, and is distinct from a rate of zero
([MetaMask#10500](MetaMask#10500))
- Bump `@metamask/base-data-service` from `^2.0.0` to `^2.1.0`
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0`
([MetaMask#10192](MetaMask#10192))
- Bump `@tanstack/query-core` from `^5.62.16` to `^5.89.0`
([MetaMask#9324](MetaMask#9324))

## @metamask/money-account-balance-service

## [3.1.0]

### Added

- Surface Money API freshness on `fetchBalanceWithFallback` results
(`asOfBlock`, `asOfTimestamp`, `dataFreshness`, `indexerLagSeconds`,
`musdBalanceUpdatedAt`) when `source` is `api`
([MetaMask#10455](MetaMask#10455))
- Add optional `FetchBalanceWithFallbackOptions` (`minBlock`, `fresh`):
when the API `as_of_block` is behind `minBlock`, throw
`MoneyAccountBalanceStaleError` and fall back to RPC without reporting a
defect; `minBlock` implies a fresh positions read, and explicit `fresh`
is also forwarded to `fetchPositions`
([MetaMask#10455](MetaMask#10455))
- Export `MoneyAccountBalanceStaleError`
([MetaMask#10455](MetaMask#10455))

### Changed

- Bump `@metamask/money-account-api-data-service` from `^1.0.0` to
`^2.0.0`
- Bump `@metamask/base-data-service` from `^2.0.0` to `^2.1.0`
- Bump `@metamask/utils` from `^11.12.0` to `^12.0.0`
([MetaMask#10192](MetaMask#10192))
- Bump `@ethersproject/providers` from `^5.7.0` to `^5.8.0`
([MetaMask#10482](MetaMask#10482))

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> The release bundles Money balance/positions API behavior changes
including a breaking type change and post-tx staleness fallback logic,
even though this PR only cuts versions and dependency ranges.
> 
> **Overview**
> **Monorepo release 1294.0.0** that cuts new package versions and
aligns dependents—there are no application source edits in this diff,
only `package.json`, changelog, and lockfile updates.
> 
> **Version cuts:** `@metamask/base-data-service` **2.1.0**,
`@metamask/money-account-api-data-service` **2.0.0**, and
`@metamask/money-account-balance-service` **3.1.0**, with `[Unreleased]`
notes moved into those release sections. The root monorepo version moves
**1293.0.0 → 1294.0.0**.
> 
> **Dependency propagation:** Every listed consumer bumps
`@metamask/base-data-service` from `^2.0.0` to `^2.1.0`.
`@metamask/money-account-balance-service` picks up
`@metamask/money-account-api-data-service` **^2.0.0**;
`@metamask/subscription-controller` also bumps
`@metamask/money-account-balance-service` to **^3.1.0**.
> 
> **What ships in those releases (via changelog, not new code here):**
`BaseDataService` gains mutation/query-cancel plumbing and richer cache
events; Money API positions support forced refresh, richer
balance/position shapes, and a **breaking** `effective_apy: string |
null`; balance fallback exposes API freshness metadata and optional
`minBlock` / `fresh` behavior with `MoneyAccountBalanceStaleError`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
ee833b1. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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