Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b0821d8
feat(assets-controller): resolve customAssets in AccountsAPI
Kriys94 Sep 3, 2026
9887e84
add rpcFallbackMiddleware in v6
Kriys94 Sep 4, 2026
e1241d6
Not fetching hidden tokens
Kriys94 Sep 7, 2026
ff6e6f3
fix bypassServerCache
Kriys94 Sep 7, 2026
2fd796e
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 16, 2026
f67925e
update test threshold
Kriys94 Sep 16, 2026
4d37b2f
clean code
Kriys94 Sep 21, 2026
7626b4f
clean code
Kriys94 Sep 21, 2026
e1ee003
clean code
Kriys94 Sep 21, 2026
9d2a9bd
clean code
Kriys94 Sep 21, 2026
db28790
update docs
Kriys94 Sep 21, 2026
d46fe52
update changelog
Kriys94 Sep 22, 2026
a4b51f1
update integration test
Kriys94 Sep 22, 2026
7682057
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 22, 2026
6d7ad33
fix RPCFallback v6
Kriys94 Sep 22, 2026
2a52b79
fix v6 force update skips RPC custom tokens
Kriys94 Sep 22, 2026
1e64d9d
fix Detection middleware runs twice on v5
Kriys94 Sep 22, 2026
fb48694
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 22, 2026
317ae9a
fix Scoped fetch drops other custom tokens
Kriys94 Sep 23, 2026
a72bafc
full snapshot updates
Kriys94 Sep 23, 2026
59c3d46
not deleting visibleAssets with full update
Kriys94 Sep 23, 2026
b84567a
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 23, 2026
fc622ce
fix code
Kriys94 Sep 23, 2026
b1e33e9
clean state access
Kriys94 Sep 23, 2026
a85b67d
clean code and update snap full
Kriys94 Sep 24, 2026
7ec053b
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 24, 2026
6ce6ca3
remove bypass tron FF
Kriys94 Sep 24, 2026
ff654fa
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 24, 2026
cce26ee
merge mode for partial result + clean
Kriys94 Sep 24, 2026
ee13c61
RPC partial failure but keep full update
Kriys94 Sep 24, 2026
014a06e
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 24, 2026
e91d5af
Snaps partial failure but keep full update
Kriys94 Sep 24, 2026
64019d5
update docs
Kriys94 Sep 24, 2026
33429d6
simplify CHANGELOG
Kriys94 Sep 24, 2026
2284bc5
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 25, 2026
cd3af5c
update stale scenarios
Kriys94 Sep 25, 2026
fd7adda
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 25, 2026
e06e487
lint
Kriys94 Sep 25, 2026
387e920
Merge remote-tracking branch 'origin/main' into fix/AddIncludeAssetsIds
Kriys94 Sep 25, 2026
d273088
clean RPC and lint
Kriys94 Sep 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 12 additions & 37 deletions oxlint-suppressions.json
Original file line number Diff line number Diff line change
Expand Up @@ -407,17 +407,17 @@
"count": 3
},
"typescript/no-unsafe-assignment": {
"count": 17
"count": 22
},
"typescript/no-unsafe-call": {
"count": 26
"count": 4
},
"typescript/no-unsafe-member-access": {
"count": 11
"count": 19
}
},
"packages/assets-controller/src/AssetsController.ts": {
"no-unused-vars": {
"typescript/no-unnecessary-type-assertion": {
"count": 1
},
"typescript/no-unsafe-assignment": {
Expand Down Expand Up @@ -472,10 +472,10 @@
"count": 2
},
"typescript/no-unsafe-assignment": {
"count": 6
"count": 13
},
"typescript/no-unsafe-member-access": {
"count": 8
"count": 14
},
"typescript/no-unsafe-return": {
"count": 2
Expand All @@ -493,30 +493,25 @@
"id-length": {
"count": 4
},
"no-unused-vars": {
"count": 1
},
"typescript/no-unsafe-assignment": {
"count": 14
"count": 12
},
"typescript/no-unsafe-member-access": {
"count": 15
}
},
"packages/assets-controller/src/data-sources/RpcDataSource.ts": {
"typescript/no-unsafe-assignment": {
"count": 3
}
},
"packages/assets-controller/src/data-sources/SnapDataSource.test.ts": {
"no-useless-return": {
"count": 1
},
"typescript/no-unsafe-assignment": {
"count": 4
"count": 6
},
"typescript/no-unsafe-member-access": {
"count": 3
"count": 1
},
"typescript/no-unsafe-return": {
"count": 1
}
},
"packages/assets-controller/src/data-sources/SnapDataSource.ts": {
Expand Down Expand Up @@ -615,26 +610,6 @@
"count": 2
}
},
"packages/assets-controller/src/middlewares/RpcFallbackMiddleware.test.ts": {
"no-unused-vars": {
"count": 1
},
"typescript/no-unsafe-argument": {
"count": 2
},
"typescript/no-unsafe-assignment": {
"count": 11
},
"typescript/no-unsafe-call": {
"count": 1
},
"typescript/no-unsafe-member-access": {
"count": 22
},
"typescript/no-unsafe-return": {
"count": 24
}
},
"packages/assets-controller/src/migrations/healAssetsInfoMetadata.test.ts": {
"typescript/no-unsafe-assignment": {
"count": 2
Expand Down
17 changes: 17 additions & 0 deletions packages/assets-controller/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Add `getZeroNativeAssetBalance` and `getZeroTokenAssetBalance` so Stellar native zeros include spendable/reserve metadata and Stellar token zeros include empty trustline metadata. `getZeroAssetBalance` picks between them with `isNativeAssetId`

### Changed

- **BREAKING:** Split asset fetching into two paths behind `assetsAccountsApiV6` ([#9651](https://github.com/MetaMask/core/pull/9651))
- **Architecture:** The v5 path keeps production behavior — the API decides the returned set, and results are merged. The v6 path has the client declare the visible set (`includeAssetIds` / `excludeAssetIds`) and write an authoritative `full` snapshot for covered chains. Visibility is computed from controller state and shared by Accounts API, Snap, RPC, and RPC fallback. The flag is read only in `AssetsController` and injected as `isBalanceV6Enabled`. Hide/unhide re-evaluates live subscriptions so the next poll uses the new set.
- **Why this is breaking:**
- `'update'` is removed from `AssetsUpdateMode`; use `'full'` or `'merge'`
- `getAssets` no longer accepts `updateMode`; the data source sets it on the response
- `getAssetsState` is removed from pipeline `Context`, `SubscriptionRequest`, and `PriceDataSource.fetch`; inject it on data-source and middleware constructors instead
- `getAssetsState` and `getAssetVisibility` are required on Accounts API, Snap, and RPC data sources
- `isBalanceV6Enabled` is required on `SnapDataSource`
- `unhideAsset` is now async and force-fetches the asset's chain, matching `addCustomAsset`
- Bump `@metamask/transaction-controller` from `^72.0.0` to `^72.0.1` ([#10462](https://github.com/MetaMask/core/pull/10462))

### Fixed

- Treat `assetsAccountsApiV6` as enabled when it is `true`, not a nested `{ value }` object ([#9651](https://github.com/MetaMask/core/pull/9651))

## [16.1.2]

### Changed
Expand Down
Loading
Loading