@metamask-previews/assets-controller 3.1.1-preview-dbd93752f → 3.1.1-preview-55f19615e

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.
@@ -53,6 +53,16 @@ const MESSENGER_EXPOSED_METHODS = [
53
53
  ];
54
54
  /** Default polling interval hint for data sources (30 seconds) */
55
55
  const DEFAULT_POLLING_INTERVAL_MS = 30000;
56
+ // ============================================================================
57
+ // TRACE NAMES — used in Sentry spans (search these strings in Discover)
58
+ // ============================================================================
59
+ const TRACE_FIRST_INIT_FETCH = 'AssetsController First Init Fetch';
60
+ const TRACE_FULL_FETCH = 'Assets Full Fetch';
61
+ const TRACE_DATA_SOURCE_TIMING = 'Assets Data Source Timing';
62
+ const TRACE_DATA_SOURCE_ERROR = 'Assets Data Source Error';
63
+ const TRACE_UPDATE_PIPELINE = 'Assets Update Pipeline';
64
+ const TRACE_SUBSCRIPTION_ERROR = 'Assets Subscription Error';
65
+ const TRACE_STATE_SIZE = 'Assets State Size';
56
66
  const log = (0, logger_1.createModuleLogger)(logger_1.projectLogger, CONTROLLER_NAME);
57
67
  /**
58
68
  * Returns the default state for AssetsController.
@@ -373,7 +383,7 @@ class AssetsController extends base_controller_1.BaseController {
373
383
  await __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_updateState).call(this, { ...response, updateMode });
374
384
  const durationMs = Date.now() - startTime;
375
385
  // Emit trace for every full fetch (Assets Health dashboard)
376
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'Assets Full Fetch', {
386
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_FULL_FETCH, {
377
387
  duration_ms: durationMs,
378
388
  chain_count: chainIds.length,
379
389
  account_count: accounts.length,
@@ -388,7 +398,7 @@ class AssetsController extends base_controller_1.BaseController {
388
398
  });
389
399
  if (!__classPrivateFieldGet(this, _AssetsController_firstInitFetchReported, "f")) {
390
400
  __classPrivateFieldSet(this, _AssetsController_firstInitFetchReported, true, "f");
391
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'AssetsController First Init Fetch', {
401
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_FIRST_INIT_FETCH, {
392
402
  duration_ms: durationMs,
393
403
  chain_ids: JSON.stringify(chainIds),
394
404
  ...durationByDataSource,
@@ -738,7 +748,7 @@ class AssetsController extends base_controller_1.BaseController {
738
748
  dataTypes: ['balance', 'metadata', 'price'],
739
749
  }, response);
740
750
  await __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_updateState).call(this, enrichedResponse);
741
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'Assets Update Pipeline', {
751
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_UPDATE_PIPELINE, {
742
752
  source: sourceId,
743
753
  duration_ms: Date.now() - updateStart,
744
754
  has_balance: Boolean(response.assetsBalance),
@@ -814,7 +824,7 @@ _AssetsController_isEnabled = new WeakMap(), _AssetsController_isBasicFunctional
814
824
  customAssetEntries += ids.length;
815
825
  }
816
826
  }
817
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'Assets State Size', {
827
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_STATE_SIZE, {
818
828
  balance_entries: balanceEntries,
819
829
  balance_accounts: Object.keys(balances).length,
820
830
  metadata_entries: Object.keys(assetsInfo).length,
@@ -984,7 +994,7 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
984
994
  }
985
995
  // Emit per-source timing traces for the Assets Health dashboard
986
996
  for (const [sourceName, durationMs] of Object.entries(durationByDataSource)) {
987
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'Assets Data Source Timing', {
997
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_DATA_SOURCE_TIMING, {
988
998
  source: sourceName,
989
999
  duration_ms: durationMs,
990
1000
  chain_count: request.chainIds.length,
@@ -993,7 +1003,7 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
993
1003
  }
994
1004
  // Emit error traces for failed middlewares
995
1005
  if (middlewareErrors.length > 0) {
996
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'Assets Data Source Error', {
1006
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_DATA_SOURCE_ERROR, {
997
1007
  failed_sources: middlewareErrors.join(','),
998
1008
  error_count: middlewareErrors.length,
999
1009
  chain_count: request.chainIds.length,
@@ -1405,7 +1415,7 @@ async function _AssetsController_executeMiddlewares(sources, request, initialRes
1405
1415
  };
1406
1416
  source.subscribe(subscribeReq).catch((error) => {
1407
1417
  console.error(`[AssetsController] Failed to subscribe to '${sourceId}':`, error);
1408
- __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, 'Assets Subscription Error', {
1418
+ __classPrivateFieldGet(this, _AssetsController_instances, "m", _AssetsController_emitTrace).call(this, TRACE_SUBSCRIPTION_ERROR, {
1409
1419
  source: sourceId,
1410
1420
  error_message: String(error),
1411
1421
  });