@metamask-previews/assets-controller 4.0.0-preview-8fff4f2dc → 4.0.0-preview-54abb25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/AssetsController.cjs +9 -1
  3. package/dist/AssetsController.cjs.map +1 -1
  4. package/dist/AssetsController.d.cts +1 -2
  5. package/dist/AssetsController.d.cts.map +1 -1
  6. package/dist/AssetsController.d.mts +1 -2
  7. package/dist/AssetsController.d.mts.map +1 -1
  8. package/dist/AssetsController.mjs +9 -1
  9. package/dist/AssetsController.mjs.map +1 -1
  10. package/dist/data-sources/RpcDataSource.cjs +26 -59
  11. package/dist/data-sources/RpcDataSource.cjs.map +1 -1
  12. package/dist/data-sources/RpcDataSource.d.cts +1 -2
  13. package/dist/data-sources/RpcDataSource.d.cts.map +1 -1
  14. package/dist/data-sources/RpcDataSource.d.mts +1 -2
  15. package/dist/data-sources/RpcDataSource.d.mts.map +1 -1
  16. package/dist/data-sources/RpcDataSource.mjs +28 -61
  17. package/dist/data-sources/RpcDataSource.mjs.map +1 -1
  18. package/dist/data-sources/StakedBalanceDataSource.cjs +9 -2
  19. package/dist/data-sources/StakedBalanceDataSource.cjs.map +1 -1
  20. package/dist/data-sources/StakedBalanceDataSource.d.cts.map +1 -1
  21. package/dist/data-sources/StakedBalanceDataSource.d.mts.map +1 -1
  22. package/dist/data-sources/StakedBalanceDataSource.mjs +9 -2
  23. package/dist/data-sources/StakedBalanceDataSource.mjs.map +1 -1
  24. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.cjs +67 -0
  25. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.cjs.map +1 -0
  26. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.cts +23 -0
  27. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.cts.map +1 -0
  28. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.mts +23 -0
  29. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.d.mts.map +1 -0
  30. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.mjs +63 -0
  31. package/dist/data-sources/evm-rpc-services/clients/TokensApiClient.mjs.map +1 -0
  32. package/dist/data-sources/evm-rpc-services/clients/index.cjs +3 -1
  33. package/dist/data-sources/evm-rpc-services/clients/index.cjs.map +1 -1
  34. package/dist/data-sources/evm-rpc-services/clients/index.d.cts +1 -0
  35. package/dist/data-sources/evm-rpc-services/clients/index.d.cts.map +1 -1
  36. package/dist/data-sources/evm-rpc-services/clients/index.d.mts +1 -0
  37. package/dist/data-sources/evm-rpc-services/clients/index.d.mts.map +1 -1
  38. package/dist/data-sources/evm-rpc-services/clients/index.mjs +1 -0
  39. package/dist/data-sources/evm-rpc-services/clients/index.mjs.map +1 -1
  40. package/dist/data-sources/evm-rpc-services/index.cjs +2 -1
  41. package/dist/data-sources/evm-rpc-services/index.cjs.map +1 -1
  42. package/dist/data-sources/evm-rpc-services/index.d.cts +1 -1
  43. package/dist/data-sources/evm-rpc-services/index.d.cts.map +1 -1
  44. package/dist/data-sources/evm-rpc-services/index.d.mts +1 -1
  45. package/dist/data-sources/evm-rpc-services/index.d.mts.map +1 -1
  46. package/dist/data-sources/evm-rpc-services/index.mjs +1 -1
  47. package/dist/data-sources/evm-rpc-services/index.mjs.map +1 -1
  48. package/dist/data-sources/evm-rpc-services/services/TokenDetector.cjs +47 -50
  49. package/dist/data-sources/evm-rpc-services/services/TokenDetector.cjs.map +1 -1
  50. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts +12 -9
  51. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.cts.map +1 -1
  52. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts +12 -9
  53. package/dist/data-sources/evm-rpc-services/services/TokenDetector.d.mts.map +1 -1
  54. package/dist/data-sources/evm-rpc-services/services/TokenDetector.mjs +47 -50
  55. package/dist/data-sources/evm-rpc-services/services/TokenDetector.mjs.map +1 -1
  56. package/dist/data-sources/evm-rpc-services/services/index.cjs.map +1 -1
  57. package/dist/data-sources/evm-rpc-services/services/index.d.cts +1 -1
  58. package/dist/data-sources/evm-rpc-services/services/index.d.cts.map +1 -1
  59. package/dist/data-sources/evm-rpc-services/services/index.d.mts +1 -1
  60. package/dist/data-sources/evm-rpc-services/services/index.d.mts.map +1 -1
  61. package/dist/data-sources/evm-rpc-services/services/index.mjs.map +1 -1
  62. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Changed
11
11
 
12
+ - `TokenDetector` now fetches the token list directly from the Tokens API (`/v3/chains/{chain}/assets`) via a new `TokensApiClient` instead of reading from `TokenListController:getState` ([#8385](https://github.com/MetaMask/core/pull/8385))
13
+ - `TokenDetectorMessenger` type has been removed; `TokenDetector` constructor now takes a `TokensApiClient` instance as its second argument
14
+ - `RpcDataSource` no longer requires `TokenListController:getState` — `GetTokenListState` has been removed from `RpcDataSourceAllowedActions` and `AssetsControllerAllowedActions`
15
+ - Unknown ERC-20 metadata is no longer looked up from the token list as a fallback in `RpcDataSource`; `TokenDataSource` handles enrichment downstream
12
16
  - Split `getAssets` fetch pipeline into a fast awaited path and a parallel fire-and-forget background path to reduce perceived latency on unlock and onboarding ([#8383](https://github.com/MetaMask/core/pull/8383))
13
17
  - Fast pipeline: AccountsApi + StakedBalance → Detection → Token + Price (awaited, committed to state immediately)
14
18
  - Background pipeline: Snap + RPC run in parallel → Detection → Token + Price when basic functionality is enabled; when disabled (RPC-only mode), Token + Price are omitted (fire-and-forget merge)
@@ -263,7 +263,15 @@ class AssetsController extends base_controller_1.BaseController {
263
263
  __classPrivateFieldSet(this, _AssetsController_trace, trace, "f");
264
264
  const rpcConfig = rpcDataSourceConfig ?? {};
265
265
  __classPrivateFieldSet(this, _AssetsController_onActiveChainsUpdated, (dataSourceName, chains, previousChains) => {
266
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_handleActiveChainsUpdate).call(this, dataSourceName, chains, previousChains);
266
+ try {
267
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_handleActiveChainsUpdate).call(this, dataSourceName, chains, previousChains);
268
+ }
269
+ catch (error) {
270
+ log('Failed to handle active chains update', {
271
+ dataSourceName,
272
+ error,
273
+ });
274
+ }
267
275
  }, "f");
268
276
  __classPrivateFieldSet(this, _AssetsController_backendWebsocketDataSource, new BackendWebsocketDataSource_1.BackendWebsocketDataSource({
269
277
  messenger: this.messenger,