@metamask-previews/assets-controllers 81.0.1-preview-e9856975 → 81.0.1-preview-83095132

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 (134) hide show
  1. package/CHANGELOG.md +2 -5
  2. package/dist/AccountTrackerController.cjs +146 -124
  3. package/dist/AccountTrackerController.cjs.map +1 -1
  4. package/dist/AccountTrackerController.d.cts +8 -8
  5. package/dist/AccountTrackerController.d.cts.map +1 -1
  6. package/dist/AccountTrackerController.d.mts +8 -8
  7. package/dist/AccountTrackerController.d.mts.map +1 -1
  8. package/dist/AccountTrackerController.mjs +146 -124
  9. package/dist/AccountTrackerController.mjs.map +1 -1
  10. package/dist/AssetsContractController.cjs.map +1 -1
  11. package/dist/AssetsContractController.d.cts +2 -2
  12. package/dist/AssetsContractController.d.cts.map +1 -1
  13. package/dist/AssetsContractController.d.mts +2 -2
  14. package/dist/AssetsContractController.d.mts.map +1 -1
  15. package/dist/AssetsContractController.mjs.map +1 -1
  16. package/dist/CurrencyRateController.cjs +3 -3
  17. package/dist/CurrencyRateController.cjs.map +1 -1
  18. package/dist/CurrencyRateController.d.cts +6 -7
  19. package/dist/CurrencyRateController.d.cts.map +1 -1
  20. package/dist/CurrencyRateController.d.mts +6 -7
  21. package/dist/CurrencyRateController.d.mts.map +1 -1
  22. package/dist/CurrencyRateController.mjs +3 -3
  23. package/dist/CurrencyRateController.mjs.map +1 -1
  24. package/dist/DeFiPositionsController/DeFiPositionsController.cjs +7 -7
  25. package/dist/DeFiPositionsController/DeFiPositionsController.cjs.map +1 -1
  26. package/dist/DeFiPositionsController/DeFiPositionsController.d.cts +5 -6
  27. package/dist/DeFiPositionsController/DeFiPositionsController.d.cts.map +1 -1
  28. package/dist/DeFiPositionsController/DeFiPositionsController.d.mts +5 -6
  29. package/dist/DeFiPositionsController/DeFiPositionsController.d.mts.map +1 -1
  30. package/dist/DeFiPositionsController/DeFiPositionsController.mjs +7 -7
  31. package/dist/DeFiPositionsController/DeFiPositionsController.mjs.map +1 -1
  32. package/dist/MultichainAssetsController/MultichainAssetsController.cjs +14 -14
  33. package/dist/MultichainAssetsController/MultichainAssetsController.cjs.map +1 -1
  34. package/dist/MultichainAssetsController/MultichainAssetsController.d.cts +2 -3
  35. package/dist/MultichainAssetsController/MultichainAssetsController.d.cts.map +1 -1
  36. package/dist/MultichainAssetsController/MultichainAssetsController.d.mts +2 -3
  37. package/dist/MultichainAssetsController/MultichainAssetsController.d.mts.map +1 -1
  38. package/dist/MultichainAssetsController/MultichainAssetsController.mjs +13 -13
  39. package/dist/MultichainAssetsController/MultichainAssetsController.mjs.map +1 -1
  40. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs +13 -13
  41. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs.map +1 -1
  42. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts +6 -7
  43. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts.map +1 -1
  44. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts +6 -7
  45. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts.map +1 -1
  46. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs +13 -13
  47. package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs.map +1 -1
  48. package/dist/MultichainBalancesController/MultichainBalancesController.cjs +11 -11
  49. package/dist/MultichainBalancesController/MultichainBalancesController.cjs.map +1 -1
  50. package/dist/MultichainBalancesController/MultichainBalancesController.d.cts +2 -3
  51. package/dist/MultichainBalancesController/MultichainBalancesController.d.cts.map +1 -1
  52. package/dist/MultichainBalancesController/MultichainBalancesController.d.mts +2 -3
  53. package/dist/MultichainBalancesController/MultichainBalancesController.d.mts.map +1 -1
  54. package/dist/MultichainBalancesController/MultichainBalancesController.mjs +10 -10
  55. package/dist/MultichainBalancesController/MultichainBalancesController.mjs.map +1 -1
  56. package/dist/NftController.cjs +27 -27
  57. package/dist/NftController.cjs.map +1 -1
  58. package/dist/NftController.d.cts +3 -3
  59. package/dist/NftController.d.cts.map +1 -1
  60. package/dist/NftController.d.mts +3 -3
  61. package/dist/NftController.d.mts.map +1 -1
  62. package/dist/NftController.mjs +26 -26
  63. package/dist/NftController.mjs.map +1 -1
  64. package/dist/NftDetectionController.cjs +8 -7
  65. package/dist/NftDetectionController.cjs.map +1 -1
  66. package/dist/NftDetectionController.d.cts +5 -5
  67. package/dist/NftDetectionController.d.cts.map +1 -1
  68. package/dist/NftDetectionController.d.mts +5 -5
  69. package/dist/NftDetectionController.d.mts.map +1 -1
  70. package/dist/NftDetectionController.mjs +7 -6
  71. package/dist/NftDetectionController.mjs.map +1 -1
  72. package/dist/RatesController/RatesController.cjs +7 -7
  73. package/dist/RatesController/RatesController.cjs.map +1 -1
  74. package/dist/RatesController/RatesController.d.cts +1 -1
  75. package/dist/RatesController/RatesController.d.cts.map +1 -1
  76. package/dist/RatesController/RatesController.d.mts +1 -1
  77. package/dist/RatesController/RatesController.d.mts.map +1 -1
  78. package/dist/RatesController/RatesController.mjs +6 -6
  79. package/dist/RatesController/RatesController.mjs.map +1 -1
  80. package/dist/RatesController/types.cjs.map +1 -1
  81. package/dist/RatesController/types.d.cts +2 -3
  82. package/dist/RatesController/types.d.cts.map +1 -1
  83. package/dist/RatesController/types.d.mts +2 -3
  84. package/dist/RatesController/types.d.mts.map +1 -1
  85. package/dist/RatesController/types.mjs.map +1 -1
  86. package/dist/TokenBalancesController.cjs +22 -22
  87. package/dist/TokenBalancesController.cjs.map +1 -1
  88. package/dist/TokenBalancesController.d.cts +5 -6
  89. package/dist/TokenBalancesController.d.cts.map +1 -1
  90. package/dist/TokenBalancesController.d.mts +5 -6
  91. package/dist/TokenBalancesController.d.mts.map +1 -1
  92. package/dist/TokenBalancesController.mjs +22 -22
  93. package/dist/TokenBalancesController.mjs.map +1 -1
  94. package/dist/TokenDetectionController.cjs +24 -24
  95. package/dist/TokenDetectionController.cjs.map +1 -1
  96. package/dist/TokenDetectionController.d.cts +6 -7
  97. package/dist/TokenDetectionController.d.cts.map +1 -1
  98. package/dist/TokenDetectionController.d.mts +6 -7
  99. package/dist/TokenDetectionController.d.mts.map +1 -1
  100. package/dist/TokenDetectionController.mjs +24 -24
  101. package/dist/TokenDetectionController.mjs.map +1 -1
  102. package/dist/TokenListController.cjs +4 -4
  103. package/dist/TokenListController.cjs.map +1 -1
  104. package/dist/TokenListController.d.cts +5 -6
  105. package/dist/TokenListController.d.cts.map +1 -1
  106. package/dist/TokenListController.d.mts +5 -6
  107. package/dist/TokenListController.d.mts.map +1 -1
  108. package/dist/TokenListController.mjs +4 -4
  109. package/dist/TokenListController.mjs.map +1 -1
  110. package/dist/TokenRatesController.cjs +6 -6
  111. package/dist/TokenRatesController.cjs.map +1 -1
  112. package/dist/TokenRatesController.d.cts +5 -6
  113. package/dist/TokenRatesController.d.cts.map +1 -1
  114. package/dist/TokenRatesController.d.mts +5 -6
  115. package/dist/TokenRatesController.d.mts.map +1 -1
  116. package/dist/TokenRatesController.mjs +6 -6
  117. package/dist/TokenRatesController.mjs.map +1 -1
  118. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.cjs +6 -6
  119. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.cjs.map +1 -1
  120. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.cts +2 -3
  121. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.cts.map +1 -1
  122. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.mts +2 -3
  123. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.mts.map +1 -1
  124. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.mjs +5 -5
  125. package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.mjs.map +1 -1
  126. package/dist/TokensController.cjs +19 -19
  127. package/dist/TokensController.cjs.map +1 -1
  128. package/dist/TokensController.d.cts +3 -4
  129. package/dist/TokensController.d.cts.map +1 -1
  130. package/dist/TokensController.d.mts +3 -4
  131. package/dist/TokensController.d.mts.map +1 -1
  132. package/dist/TokensController.mjs +18 -18
  133. package/dist/TokensController.mjs.map +1 -1
  134. package/package.json +1 -2
@@ -1,8 +1,8 @@
1
1
  import type { AccountsControllerSelectedEvmAccountChangeEvent, AccountsControllerGetSelectedAccountAction, AccountsControllerListAccountsAction, AccountsControllerSelectedAccountChangeEvent } from "@metamask/accounts-controller";
2
- import type { ControllerStateChangeEvent, ControllerGetStateAction } from "@metamask/base-controller/next";
3
- import type { Messenger } from "@metamask/messenger";
2
+ import type { ControllerStateChangeEvent, ControllerGetStateAction, RestrictedMessenger } from "@metamask/base-controller";
4
3
  import type { NetworkClientId, NetworkControllerGetNetworkClientByIdAction, NetworkControllerGetStateAction } from "@metamask/network-controller";
5
4
  import type { PreferencesControllerGetStateAction } from "@metamask/preferences-controller";
5
+ import type { TransactionControllerTransactionConfirmedEvent, TransactionControllerUnapprovedTransactionAddedEvent } from "@metamask/transaction-controller";
6
6
  import { type Hex } from "@metamask/utils";
7
7
  import { type AssetsContractController, type StakedBalance } from "./AssetsContractController.cjs";
8
8
  /**
@@ -73,19 +73,19 @@ export type AccountTrackerControllerEvents = AccountTrackerControllerStateChange
73
73
  /**
74
74
  * The external events available to the {@link AccountTrackerController}.
75
75
  */
76
- export type AllowedEvents = AccountsControllerSelectedEvmAccountChangeEvent | AccountsControllerSelectedAccountChangeEvent;
76
+ export type AllowedEvents = AccountsControllerSelectedEvmAccountChangeEvent | AccountsControllerSelectedAccountChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent;
77
77
  /**
78
78
  * The messenger of the {@link AccountTrackerController}.
79
79
  */
80
- export type AccountTrackerControllerMessenger = Messenger<typeof controllerName, AccountTrackerControllerActions | AllowedActions, AccountTrackerControllerEvents | AllowedEvents>;
80
+ export type AccountTrackerControllerMessenger = RestrictedMessenger<typeof controllerName, AccountTrackerControllerActions | AllowedActions, AccountTrackerControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
81
81
  /** The input to start polling for the {@link AccountTrackerController} */
82
82
  type AccountTrackerPollingInput = {
83
83
  networkClientIds: NetworkClientId[];
84
84
  queryAllAccounts?: boolean;
85
85
  };
86
86
  declare const AccountTrackerController_base: (abstract new (...args: any[]) => {
87
- readonly "__#13@#intervalIds": Record<string, NodeJS.Timeout>;
88
- "__#13@#intervalLength": number | undefined;
87
+ readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
88
+ "__#14@#intervalLength": number | undefined;
89
89
  setIntervalLength(intervalLength: number): void;
90
90
  getIntervalLength(): number | undefined;
91
91
  _startPolling(input: AccountTrackerPollingInput): void;
@@ -97,7 +97,7 @@ declare const AccountTrackerController_base: (abstract new (...args: any[]) => {
97
97
  stopAllPolling(): void;
98
98
  stopPollingByPollingToken(pollingToken: string): void;
99
99
  onPollingComplete(input: AccountTrackerPollingInput, callback: (input: AccountTrackerPollingInput) => void): void;
100
- }) & typeof import("@metamask/base-controller/next").BaseController;
100
+ }) & typeof import("@metamask/base-controller").BaseController;
101
101
  /**
102
102
  * Controller that tracks the network balances for all user accounts.
103
103
  */
@@ -109,7 +109,7 @@ export declare class AccountTrackerController extends AccountTrackerController_b
109
109
  * @param options - The controller options.
110
110
  * @param options.interval - Polling interval used to fetch new account balances.
111
111
  * @param options.state - Initial state to set on this controller.
112
- * @param options.messenger - The controller messenger.
112
+ * @param options.messenger - The controller messaging system.
113
113
  * @param options.getStakedBalanceForChain - The function to get the staked native asset balance for a chain.
114
114
  * @param options.includeStakedAssets - Whether to include staked assets in the account balances.
115
115
  * @param options.accountsApiChainIds - Function that returns array of chainIds that should use Accounts-API strategy (if supported by API).
@@ -1 +1 @@
1
- {"version":3,"file":"AccountTrackerController.d.cts","sourceRoot":"","sources":["../src/AccountTrackerController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountTrackerController.d.cts","sourceRoot":"","sources":["../src/AccountTrackerController.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { AccountsControllerSelectedEvmAccountChangeEvent, AccountsControllerGetSelectedAccountAction, AccountsControllerListAccountsAction, AccountsControllerSelectedAccountChangeEvent } from "@metamask/accounts-controller";
2
- import type { ControllerStateChangeEvent, ControllerGetStateAction } from "@metamask/base-controller/next";
3
- import type { Messenger } from "@metamask/messenger";
2
+ import type { ControllerStateChangeEvent, ControllerGetStateAction, RestrictedMessenger } from "@metamask/base-controller";
4
3
  import type { NetworkClientId, NetworkControllerGetNetworkClientByIdAction, NetworkControllerGetStateAction } from "@metamask/network-controller";
5
4
  import type { PreferencesControllerGetStateAction } from "@metamask/preferences-controller";
5
+ import type { TransactionControllerTransactionConfirmedEvent, TransactionControllerUnapprovedTransactionAddedEvent } from "@metamask/transaction-controller";
6
6
  import { type Hex } from "@metamask/utils";
7
7
  import { type AssetsContractController, type StakedBalance } from "./AssetsContractController.mjs";
8
8
  /**
@@ -73,19 +73,19 @@ export type AccountTrackerControllerEvents = AccountTrackerControllerStateChange
73
73
  /**
74
74
  * The external events available to the {@link AccountTrackerController}.
75
75
  */
76
- export type AllowedEvents = AccountsControllerSelectedEvmAccountChangeEvent | AccountsControllerSelectedAccountChangeEvent;
76
+ export type AllowedEvents = AccountsControllerSelectedEvmAccountChangeEvent | AccountsControllerSelectedAccountChangeEvent | TransactionControllerUnapprovedTransactionAddedEvent | TransactionControllerTransactionConfirmedEvent;
77
77
  /**
78
78
  * The messenger of the {@link AccountTrackerController}.
79
79
  */
80
- export type AccountTrackerControllerMessenger = Messenger<typeof controllerName, AccountTrackerControllerActions | AllowedActions, AccountTrackerControllerEvents | AllowedEvents>;
80
+ export type AccountTrackerControllerMessenger = RestrictedMessenger<typeof controllerName, AccountTrackerControllerActions | AllowedActions, AccountTrackerControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
81
81
  /** The input to start polling for the {@link AccountTrackerController} */
82
82
  type AccountTrackerPollingInput = {
83
83
  networkClientIds: NetworkClientId[];
84
84
  queryAllAccounts?: boolean;
85
85
  };
86
86
  declare const AccountTrackerController_base: (abstract new (...args: any[]) => {
87
- readonly "__#13@#intervalIds": Record<string, NodeJS.Timeout>;
88
- "__#13@#intervalLength": number | undefined;
87
+ readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
88
+ "__#14@#intervalLength": number | undefined;
89
89
  setIntervalLength(intervalLength: number): void;
90
90
  getIntervalLength(): number | undefined;
91
91
  _startPolling(input: AccountTrackerPollingInput): void;
@@ -97,7 +97,7 @@ declare const AccountTrackerController_base: (abstract new (...args: any[]) => {
97
97
  stopAllPolling(): void;
98
98
  stopPollingByPollingToken(pollingToken: string): void;
99
99
  onPollingComplete(input: AccountTrackerPollingInput, callback: (input: AccountTrackerPollingInput) => void): void;
100
- }) & typeof import("@metamask/base-controller/next").BaseController;
100
+ }) & typeof import("@metamask/base-controller").BaseController;
101
101
  /**
102
102
  * Controller that tracks the network balances for all user accounts.
103
103
  */
@@ -109,7 +109,7 @@ export declare class AccountTrackerController extends AccountTrackerController_b
109
109
  * @param options - The controller options.
110
110
  * @param options.interval - Polling interval used to fetch new account balances.
111
111
  * @param options.state - Initial state to set on this controller.
112
- * @param options.messenger - The controller messenger.
112
+ * @param options.messenger - The controller messaging system.
113
113
  * @param options.getStakedBalanceForChain - The function to get the staked native asset balance for a chain.
114
114
  * @param options.includeStakedAssets - Whether to include staked assets in the account balances.
115
115
  * @param options.accountsApiChainIds - Function that returns array of chainIds that should use Accounts-API strategy (if supported by API).
@@ -1 +1 @@
1
- {"version":3,"file":"AccountTrackerController.d.mts","sourceRoot":"","sources":["../src/AccountTrackerController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountTrackerController.d.mts","sourceRoot":"","sources":["../src/AccountTrackerController.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _AccountTrackerController_instances, _AccountTrackerController_refreshMutex, _AccountTrackerController_includeStakedAssets, _AccountTrackerController_accountsApiChainIds, _AccountTrackerController_getStakedBalanceForChain, _AccountTrackerController_balanceFetchers, _AccountTrackerController_getProvider, _AccountTrackerController_getNetworkClient, _AccountTrackerController_createAccountsApiFetcher, _AccountTrackerController_getCorrectNetworkClient, _AccountTrackerController_getNetworkClientIds, _AccountTrackerController_registerMessageHandlers;
12
+ var _AccountTrackerController_instances, _AccountTrackerController_refreshMutex, _AccountTrackerController_includeStakedAssets, _AccountTrackerController_accountsApiChainIds, _AccountTrackerController_getStakedBalanceForChain, _AccountTrackerController_balanceFetchers, _AccountTrackerController_getProvider, _AccountTrackerController_getNetworkClient, _AccountTrackerController_createAccountsApiFetcher, _AccountTrackerController_getCorrectNetworkClient, _AccountTrackerController_getNetworkClientIds, _AccountTrackerController_refreshAddress, _AccountTrackerController_refreshAccounts, _AccountTrackerController_registerMessageHandlers;
13
13
  function $importDefault(module) {
14
14
  if (module?.__esModule) {
15
15
  return module.default;
@@ -68,7 +68,7 @@ const accountTrackerMetadata = {
68
68
  accountsByChainId: {
69
69
  includeInStateLogs: false,
70
70
  persist: true,
71
- includeInDebugSnapshot: false,
71
+ anonymous: false,
72
72
  usedInUi: true,
73
73
  },
74
74
  };
@@ -82,7 +82,7 @@ export class AccountTrackerController extends StaticIntervalPollingController()
82
82
  * @param options - The controller options.
83
83
  * @param options.interval - Polling interval used to fetch new account balances.
84
84
  * @param options.state - Initial state to set on this controller.
85
- * @param options.messenger - The controller messenger.
85
+ * @param options.messenger - The controller messaging system.
86
86
  * @param options.getStakedBalanceForChain - The function to get the staked native asset balance for a chain.
87
87
  * @param options.includeStakedAssets - Whether to include staked assets in the account balances.
88
88
  * @param options.accountsApiChainIds - Function that returns array of chainIds that should use Accounts-API strategy (if supported by API).
@@ -109,17 +109,17 @@ export class AccountTrackerController extends StaticIntervalPollingController()
109
109
  _AccountTrackerController_getStakedBalanceForChain.set(this, void 0);
110
110
  _AccountTrackerController_balanceFetchers.set(this, void 0);
111
111
  _AccountTrackerController_getProvider.set(this, (chainId) => {
112
- const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
112
+ const { networkConfigurationsByChainId } = this.messagingSystem.call('NetworkController:getState');
113
113
  const cfg = networkConfigurationsByChainId[chainId];
114
114
  const { networkClientId } = cfg.rpcEndpoints[cfg.defaultRpcEndpointIndex];
115
- const client = this.messenger.call('NetworkController:getNetworkClientById', networkClientId);
115
+ const client = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId);
116
116
  return new Web3Provider(client.provider);
117
117
  });
118
118
  _AccountTrackerController_getNetworkClient.set(this, (chainId) => {
119
- const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
119
+ const { networkConfigurationsByChainId } = this.messagingSystem.call('NetworkController:getState');
120
120
  const cfg = networkConfigurationsByChainId[chainId];
121
121
  const { networkClientId } = cfg.rpcEndpoints[cfg.defaultRpcEndpointIndex];
122
- return this.messenger.call('NetworkController:getNetworkClientById', networkClientId);
122
+ return this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId);
123
123
  });
124
124
  /**
125
125
  * Creates an AccountsApiBalanceFetcher that only supports chains in the accountsApiChainIds array
@@ -150,19 +150,25 @@ export class AccountTrackerController extends StaticIntervalPollingController()
150
150
  createAccountTrackerRpcBalanceFetcher(__classPrivateFieldGet(this, _AccountTrackerController_getProvider, "f"), __classPrivateFieldGet(this, _AccountTrackerController_getNetworkClient, "f"), __classPrivateFieldGet(this, _AccountTrackerController_includeStakedAssets, "f")),
151
151
  ], "f");
152
152
  this.setIntervalLength(interval);
153
- this.messenger.subscribe('AccountsController:selectedEvmAccountChange', (newAddress, prevAddress) => {
153
+ this.messagingSystem.subscribe('AccountsController:selectedEvmAccountChange', (newAddress, prevAddress) => {
154
154
  if (newAddress !== prevAddress) {
155
155
  // Making an async call for this new event
156
156
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
157
157
  this.refresh(__classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_getNetworkClientIds).call(this));
158
158
  }
159
159
  }, (event) => event.address);
160
+ this.messagingSystem.subscribe('TransactionController:unapprovedTransactionAdded', async (transactionMeta) => {
161
+ await __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_refreshAddress).call(this, [transactionMeta.networkClientId], transactionMeta.txParams.from);
162
+ });
163
+ this.messagingSystem.subscribe('TransactionController:transactionConfirmed', async (transactionMeta) => {
164
+ await __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_refreshAddress).call(this, [transactionMeta.networkClientId], transactionMeta.txParams.from);
165
+ });
160
166
  __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_registerMessageHandlers).call(this);
161
167
  }
162
168
  syncAccounts(newChainIds) {
163
169
  const accountsByChainId = cloneDeep(this.state.accountsByChainId);
164
- const { selectedNetworkClientId } = this.messenger.call('NetworkController:getState');
165
- const { configuration: { chainId: currentChainId }, } = this.messenger.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
170
+ const { selectedNetworkClientId } = this.messagingSystem.call('NetworkController:getState');
171
+ const { configuration: { chainId: currentChainId }, } = this.messagingSystem.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
166
172
  const existing = Object.keys(accountsByChainId?.[currentChainId] ?? {});
167
173
  // Initialize new chain IDs if they don't exist
168
174
  newChainIds.forEach((newChainId) => {
@@ -175,7 +181,7 @@ export class AccountTrackerController extends StaticIntervalPollingController()
175
181
  });
176
182
  // Note: The address from the preferences controller are checksummed
177
183
  // The addresses from the accounts controller are lowercased
178
- const addresses = Object.values(this.messenger
184
+ const addresses = Object.values(this.messagingSystem
179
185
  .call('AccountsController:listAccounts')
180
186
  .map((internalAccount) => toChecksumHexAddress(internalAccount.address)));
181
187
  const newAddresses = addresses.filter((address) => !existing.includes(address));
@@ -219,114 +225,15 @@ export class AccountTrackerController extends StaticIntervalPollingController()
219
225
  * @param queryAllAccounts - Whether to query all accounts or just the selected account
220
226
  */
221
227
  async refresh(networkClientIds, queryAllAccounts = false) {
222
- const selectedAccount = this.messenger.call('AccountsController:getSelectedAccount');
223
- const allAccounts = this.messenger.call('AccountsController:listAccounts');
224
- const { isMultiAccountBalancesEnabled } = this.messenger.call('PreferencesController:getState');
225
- const releaseLock = await __classPrivateFieldGet(this, _AccountTrackerController_refreshMutex, "f").acquire();
226
- try {
227
- const chainIds = networkClientIds.map((networkClientId) => {
228
- const { chainId } = __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_getCorrectNetworkClient).call(this, networkClientId);
229
- return chainId;
230
- });
231
- this.syncAccounts(chainIds);
232
- // Use balance fetchers with fallback strategy
233
- const aggregated = [];
234
- let remainingChains = [...chainIds];
235
- // Try each fetcher in order, removing successfully processed chains
236
- for (const fetcher of __classPrivateFieldGet(this, _AccountTrackerController_balanceFetchers, "f")) {
237
- const supportedChains = remainingChains.filter((c) => fetcher.supports(c));
238
- if (!supportedChains.length) {
239
- continue;
240
- }
241
- try {
242
- const balances = await fetcher.fetch({
243
- chainIds: supportedChains,
244
- queryAllAccounts: queryAllAccounts ?? isMultiAccountBalancesEnabled,
245
- selectedAccount: toChecksumHexAddress(selectedAccount.address),
246
- allAccounts,
247
- });
248
- if (balances && balances.length > 0) {
249
- aggregated.push(...balances);
250
- // Remove chains that were successfully processed
251
- const processedChains = new Set(balances.map((b) => b.chainId));
252
- remainingChains = remainingChains.filter((chain) => !processedChains.has(chain));
253
- }
254
- }
255
- catch (error) {
256
- console.warn(`Balance fetcher failed for chains ${supportedChains.join(', ')}: ${String(error)}`);
257
- // Continue to next fetcher (fallback)
258
- }
259
- // If all chains have been processed, break early
260
- if (remainingChains.length === 0) {
261
- break;
262
- }
263
- }
264
- // Build a _copy_ of the current state and track whether anything changed
265
- const nextAccountsByChainId = cloneDeep(this.state.accountsByChainId);
266
- let hasChanges = false;
267
- // Process the aggregated balance results
268
- const stakedBalancesByChainAndAddress = {};
269
- aggregated.forEach(({ success, value, account, token, chainId }) => {
270
- if (success && value !== undefined) {
271
- const checksumAddress = toChecksumHexAddress(account);
272
- const hexValue = `0x${value.toString(16)}`;
273
- if (token === ZERO_ADDRESS) {
274
- // Native balance
275
- // Ensure the account entry exists before accessing it
276
- if (!nextAccountsByChainId[chainId]) {
277
- nextAccountsByChainId[chainId] = {};
278
- }
279
- if (!nextAccountsByChainId[chainId][checksumAddress]) {
280
- nextAccountsByChainId[chainId][checksumAddress] = {
281
- balance: '0x0',
282
- };
283
- }
284
- if (nextAccountsByChainId[chainId][checksumAddress].balance !==
285
- hexValue) {
286
- nextAccountsByChainId[chainId][checksumAddress].balance =
287
- hexValue;
288
- hasChanges = true;
289
- }
290
- }
291
- else if (STAKING_CONTRACT_ADDRESS_BY_CHAINID[chainId]?.toLowerCase() ===
292
- token.toLowerCase()) {
293
- // Staked balance (from staking contract address)
294
- if (!stakedBalancesByChainAndAddress[chainId]) {
295
- stakedBalancesByChainAndAddress[chainId] = {};
296
- }
297
- stakedBalancesByChainAndAddress[chainId][checksumAddress] =
298
- hexValue;
299
- }
300
- }
301
- });
302
- // Apply staked balances
303
- Object.entries(stakedBalancesByChainAndAddress).forEach(([chainId, balancesByAddress]) => {
304
- Object.entries(balancesByAddress).forEach(([address, stakedBalance]) => {
305
- // Ensure account structure exists
306
- if (!nextAccountsByChainId[chainId]) {
307
- nextAccountsByChainId[chainId] = {};
308
- }
309
- if (!nextAccountsByChainId[chainId][address]) {
310
- nextAccountsByChainId[chainId][address] = { balance: '0x0' };
311
- }
312
- if (nextAccountsByChainId[chainId][address].stakedBalance !==
313
- stakedBalance) {
314
- nextAccountsByChainId[chainId][address].stakedBalance =
315
- stakedBalance;
316
- hasChanges = true;
317
- }
318
- });
319
- });
320
- // Only update state if something changed
321
- if (hasChanges) {
322
- this.update((state) => {
323
- state.accountsByChainId = nextAccountsByChainId;
324
- });
325
- }
326
- }
327
- finally {
328
- releaseLock();
329
- }
228
+ const selectedAccount = this.messagingSystem.call('AccountsController:getSelectedAccount');
229
+ const allAccounts = this.messagingSystem.call('AccountsController:listAccounts');
230
+ const { isMultiAccountBalancesEnabled } = this.messagingSystem.call('PreferencesController:getState');
231
+ await __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_refreshAccounts).call(this, {
232
+ networkClientIds,
233
+ queryAllAccounts: queryAllAccounts ?? isMultiAccountBalancesEnabled,
234
+ selectedAccount: toChecksumHexAddress(selectedAccount.address),
235
+ allAccounts,
236
+ });
330
237
  }
331
238
  /**
332
239
  * Sync accounts balances with some additional addresses.
@@ -448,8 +355,9 @@ export class AccountTrackerController extends StaticIntervalPollingController()
448
355
  }
449
356
  _AccountTrackerController_refreshMutex = new WeakMap(), _AccountTrackerController_includeStakedAssets = new WeakMap(), _AccountTrackerController_accountsApiChainIds = new WeakMap(), _AccountTrackerController_getStakedBalanceForChain = new WeakMap(), _AccountTrackerController_balanceFetchers = new WeakMap(), _AccountTrackerController_getProvider = new WeakMap(), _AccountTrackerController_getNetworkClient = new WeakMap(), _AccountTrackerController_createAccountsApiFetcher = new WeakMap(), _AccountTrackerController_instances = new WeakSet(), _AccountTrackerController_getCorrectNetworkClient = function _AccountTrackerController_getCorrectNetworkClient(networkClientId) {
450
357
  const selectedNetworkClientId = networkClientId ??
451
- this.messenger.call('NetworkController:getState').selectedNetworkClientId;
452
- const { configuration: { chainId }, provider, blockTracker, } = this.messenger.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
358
+ this.messagingSystem.call('NetworkController:getState')
359
+ .selectedNetworkClientId;
360
+ const { configuration: { chainId }, provider, blockTracker, } = this.messagingSystem.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
453
361
  return {
454
362
  chainId,
455
363
  provider,
@@ -457,11 +365,125 @@ _AccountTrackerController_refreshMutex = new WeakMap(), _AccountTrackerControlle
457
365
  blockTracker,
458
366
  };
459
367
  }, _AccountTrackerController_getNetworkClientIds = function _AccountTrackerController_getNetworkClientIds() {
460
- const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
368
+ const { networkConfigurationsByChainId } = this.messagingSystem.call('NetworkController:getState');
461
369
  return Object.values(networkConfigurationsByChainId).flatMap((networkConfiguration) => networkConfiguration.rpcEndpoints.map((rpcEndpoint) => rpcEndpoint.networkClientId));
370
+ }, _AccountTrackerController_refreshAddress = async function _AccountTrackerController_refreshAddress(networkClientIds, address) {
371
+ const checksumAddress = toChecksumHexAddress(address);
372
+ await __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_refreshAccounts).call(this, {
373
+ networkClientIds,
374
+ queryAllAccounts: false,
375
+ selectedAccount: checksumAddress,
376
+ allAccounts: [],
377
+ });
378
+ }, _AccountTrackerController_refreshAccounts = async function _AccountTrackerController_refreshAccounts({ networkClientIds, queryAllAccounts, selectedAccount, allAccounts, }) {
379
+ const releaseLock = await __classPrivateFieldGet(this, _AccountTrackerController_refreshMutex, "f").acquire();
380
+ try {
381
+ const chainIds = networkClientIds.map((networkClientId) => {
382
+ const { chainId } = __classPrivateFieldGet(this, _AccountTrackerController_instances, "m", _AccountTrackerController_getCorrectNetworkClient).call(this, networkClientId);
383
+ return chainId;
384
+ });
385
+ this.syncAccounts(chainIds);
386
+ // Use balance fetchers with fallback strategy
387
+ const aggregated = [];
388
+ let remainingChains = [...chainIds];
389
+ // Try each fetcher in order, removing successfully processed chains
390
+ for (const fetcher of __classPrivateFieldGet(this, _AccountTrackerController_balanceFetchers, "f")) {
391
+ const supportedChains = remainingChains.filter((c) => fetcher.supports(c));
392
+ if (!supportedChains.length) {
393
+ continue;
394
+ }
395
+ try {
396
+ const balances = await fetcher.fetch({
397
+ chainIds: supportedChains,
398
+ queryAllAccounts,
399
+ selectedAccount,
400
+ allAccounts,
401
+ });
402
+ if (balances && balances.length > 0) {
403
+ aggregated.push(...balances);
404
+ // Remove chains that were successfully processed
405
+ const processedChains = new Set(balances.map((b) => b.chainId));
406
+ remainingChains = remainingChains.filter((chain) => !processedChains.has(chain));
407
+ }
408
+ }
409
+ catch (error) {
410
+ console.warn(`Balance fetcher failed for chains ${supportedChains.join(', ')}: ${String(error)}`);
411
+ // Continue to next fetcher (fallback)
412
+ }
413
+ // If all chains have been processed, break early
414
+ if (remainingChains.length === 0) {
415
+ break;
416
+ }
417
+ }
418
+ // Build a _copy_ of the current state and track whether anything changed
419
+ const nextAccountsByChainId = cloneDeep(this.state.accountsByChainId);
420
+ let hasChanges = false;
421
+ // Process the aggregated balance results
422
+ const stakedBalancesByChainAndAddress = {};
423
+ aggregated.forEach(({ success, value, account, token, chainId }) => {
424
+ if (success && value !== undefined) {
425
+ const checksumAddress = toChecksumHexAddress(account);
426
+ const hexValue = `0x${value.toString(16)}`;
427
+ if (token === ZERO_ADDRESS) {
428
+ // Native balance
429
+ // Ensure the account entry exists before accessing it
430
+ if (!nextAccountsByChainId[chainId]) {
431
+ nextAccountsByChainId[chainId] = {};
432
+ }
433
+ if (!nextAccountsByChainId[chainId][checksumAddress]) {
434
+ nextAccountsByChainId[chainId][checksumAddress] = {
435
+ balance: '0x0',
436
+ };
437
+ }
438
+ if (nextAccountsByChainId[chainId][checksumAddress].balance !==
439
+ hexValue) {
440
+ nextAccountsByChainId[chainId][checksumAddress].balance =
441
+ hexValue;
442
+ hasChanges = true;
443
+ }
444
+ }
445
+ else if (STAKING_CONTRACT_ADDRESS_BY_CHAINID[chainId]?.toLowerCase() ===
446
+ token.toLowerCase()) {
447
+ // Staked balance (from staking contract address)
448
+ if (!stakedBalancesByChainAndAddress[chainId]) {
449
+ stakedBalancesByChainAndAddress[chainId] = {};
450
+ }
451
+ stakedBalancesByChainAndAddress[chainId][checksumAddress] =
452
+ hexValue;
453
+ }
454
+ }
455
+ });
456
+ // Apply staked balances
457
+ Object.entries(stakedBalancesByChainAndAddress).forEach(([chainId, balancesByAddress]) => {
458
+ Object.entries(balancesByAddress).forEach(([address, stakedBalance]) => {
459
+ // Ensure account structure exists
460
+ if (!nextAccountsByChainId[chainId]) {
461
+ nextAccountsByChainId[chainId] = {};
462
+ }
463
+ if (!nextAccountsByChainId[chainId][address]) {
464
+ nextAccountsByChainId[chainId][address] = { balance: '0x0' };
465
+ }
466
+ if (nextAccountsByChainId[chainId][address].stakedBalance !==
467
+ stakedBalance) {
468
+ nextAccountsByChainId[chainId][address].stakedBalance =
469
+ stakedBalance;
470
+ hasChanges = true;
471
+ }
472
+ });
473
+ });
474
+ // Only update state if something changed
475
+ if (hasChanges) {
476
+ this.update((state) => {
477
+ state.accountsByChainId = nextAccountsByChainId;
478
+ });
479
+ }
480
+ }
481
+ finally {
482
+ releaseLock();
483
+ }
462
484
  }, _AccountTrackerController_registerMessageHandlers = function _AccountTrackerController_registerMessageHandlers() {
463
- this.messenger.registerActionHandler(`${controllerName}:updateNativeBalances`, this.updateNativeBalances.bind(this));
464
- this.messenger.registerActionHandler(`${controllerName}:updateStakedBalances`, this.updateStakedBalances.bind(this));
485
+ this.messagingSystem.registerActionHandler(`${controllerName}:updateNativeBalances`, this.updateNativeBalances.bind(this));
486
+ this.messagingSystem.registerActionHandler(`${controllerName}:updateStakedBalances`, this.updateStakedBalances.bind(this));
465
487
  };
466
488
  export default AccountTrackerController;
467
489
  //# sourceMappingURL=AccountTrackerController.mjs.map