@metamask/transaction-controller 63.3.0 → 64.0.0

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 (162) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/dist/TransactionController.cjs +85 -103
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts.map +1 -1
  5. package/dist/TransactionController.d.mts.map +1 -1
  6. package/dist/TransactionController.mjs +86 -108
  7. package/dist/TransactionController.mjs.map +1 -1
  8. package/dist/gas-flows/LineaGasFeeFlow.cjs +22 -11
  9. package/dist/gas-flows/LineaGasFeeFlow.cjs.map +1 -1
  10. package/dist/gas-flows/LineaGasFeeFlow.d.cts.map +1 -1
  11. package/dist/gas-flows/LineaGasFeeFlow.d.mts.map +1 -1
  12. package/dist/gas-flows/LineaGasFeeFlow.mjs +23 -12
  13. package/dist/gas-flows/LineaGasFeeFlow.mjs.map +1 -1
  14. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +2 -2
  15. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
  16. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
  17. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
  18. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +1 -1
  19. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
  20. package/dist/helpers/GasFeePoller.cjs +5 -19
  21. package/dist/helpers/GasFeePoller.cjs.map +1 -1
  22. package/dist/helpers/GasFeePoller.d.cts +1 -6
  23. package/dist/helpers/GasFeePoller.d.cts.map +1 -1
  24. package/dist/helpers/GasFeePoller.d.mts +1 -6
  25. package/dist/helpers/GasFeePoller.d.mts.map +1 -1
  26. package/dist/helpers/GasFeePoller.mjs +5 -26
  27. package/dist/helpers/GasFeePoller.mjs.map +1 -1
  28. package/dist/helpers/MethodDataHelper.cjs +10 -6
  29. package/dist/helpers/MethodDataHelper.cjs.map +1 -1
  30. package/dist/helpers/MethodDataHelper.d.cts +4 -4
  31. package/dist/helpers/MethodDataHelper.d.cts.map +1 -1
  32. package/dist/helpers/MethodDataHelper.d.mts +4 -4
  33. package/dist/helpers/MethodDataHelper.d.mts.map +1 -1
  34. package/dist/helpers/MethodDataHelper.mjs +10 -6
  35. package/dist/helpers/MethodDataHelper.mjs.map +1 -1
  36. package/dist/helpers/MultichainTrackingHelper.cjs +0 -2
  37. package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
  38. package/dist/helpers/MultichainTrackingHelper.d.cts +0 -2
  39. package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
  40. package/dist/helpers/MultichainTrackingHelper.d.mts +0 -2
  41. package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
  42. package/dist/helpers/MultichainTrackingHelper.mjs +0 -2
  43. package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
  44. package/dist/helpers/PendingTransactionTracker.cjs +38 -24
  45. package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
  46. package/dist/helpers/PendingTransactionTracker.d.cts +3 -7
  47. package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
  48. package/dist/helpers/PendingTransactionTracker.d.mts +3 -7
  49. package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
  50. package/dist/helpers/PendingTransactionTracker.mjs +38 -24
  51. package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
  52. package/dist/hooks/SequentialPublishBatchHook.cjs +4 -6
  53. package/dist/hooks/SequentialPublishBatchHook.cjs.map +1 -1
  54. package/dist/hooks/SequentialPublishBatchHook.d.cts +2 -4
  55. package/dist/hooks/SequentialPublishBatchHook.d.cts.map +1 -1
  56. package/dist/hooks/SequentialPublishBatchHook.d.mts +2 -4
  57. package/dist/hooks/SequentialPublishBatchHook.d.mts.map +1 -1
  58. package/dist/hooks/SequentialPublishBatchHook.mjs +4 -6
  59. package/dist/hooks/SequentialPublishBatchHook.mjs.map +1 -1
  60. package/dist/index.cjs +1 -3
  61. package/dist/index.cjs.map +1 -1
  62. package/dist/index.d.cts +0 -1
  63. package/dist/index.d.cts.map +1 -1
  64. package/dist/index.d.mts +0 -1
  65. package/dist/index.d.mts.map +1 -1
  66. package/dist/index.mjs +0 -1
  67. package/dist/index.mjs.map +1 -1
  68. package/dist/types.cjs.map +1 -1
  69. package/dist/types.d.cts +14 -3
  70. package/dist/types.d.cts.map +1 -1
  71. package/dist/types.d.mts +14 -3
  72. package/dist/types.d.mts.map +1 -1
  73. package/dist/types.mjs.map +1 -1
  74. package/dist/utils/balance-changes.cjs +2 -2
  75. package/dist/utils/balance-changes.cjs.map +1 -1
  76. package/dist/utils/balance-changes.d.cts +4 -2
  77. package/dist/utils/balance-changes.d.cts.map +1 -1
  78. package/dist/utils/balance-changes.d.mts +4 -2
  79. package/dist/utils/balance-changes.d.mts.map +1 -1
  80. package/dist/utils/balance-changes.mjs +2 -2
  81. package/dist/utils/balance-changes.mjs.map +1 -1
  82. package/dist/utils/balance.cjs +14 -10
  83. package/dist/utils/balance.cjs.map +1 -1
  84. package/dist/utils/balance.d.cts +8 -5
  85. package/dist/utils/balance.d.cts.map +1 -1
  86. package/dist/utils/balance.d.mts +8 -5
  87. package/dist/utils/balance.d.mts.map +1 -1
  88. package/dist/utils/balance.mjs +14 -10
  89. package/dist/utils/balance.mjs.map +1 -1
  90. package/dist/utils/batch.cjs +19 -19
  91. package/dist/utils/batch.cjs.map +1 -1
  92. package/dist/utils/batch.d.cts +1 -5
  93. package/dist/utils/batch.d.cts.map +1 -1
  94. package/dist/utils/batch.d.mts +1 -5
  95. package/dist/utils/batch.d.mts.map +1 -1
  96. package/dist/utils/batch.mjs +20 -20
  97. package/dist/utils/batch.mjs.map +1 -1
  98. package/dist/utils/eip7702.cjs +13 -6
  99. package/dist/utils/eip7702.cjs.map +1 -1
  100. package/dist/utils/eip7702.d.cts +6 -5
  101. package/dist/utils/eip7702.d.cts.map +1 -1
  102. package/dist/utils/eip7702.d.mts +6 -5
  103. package/dist/utils/eip7702.d.mts.map +1 -1
  104. package/dist/utils/eip7702.mjs +14 -7
  105. package/dist/utils/eip7702.mjs.map +1 -1
  106. package/dist/utils/gas-fee-tokens.cjs +4 -3
  107. package/dist/utils/gas-fee-tokens.cjs.map +1 -1
  108. package/dist/utils/gas-fee-tokens.d.cts +6 -4
  109. package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
  110. package/dist/utils/gas-fee-tokens.d.mts +6 -4
  111. package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
  112. package/dist/utils/gas-fee-tokens.mjs +4 -3
  113. package/dist/utils/gas-fee-tokens.mjs.map +1 -1
  114. package/dist/utils/gas-fees.cjs +8 -6
  115. package/dist/utils/gas-fees.cjs.map +1 -1
  116. package/dist/utils/gas-fees.d.cts +0 -2
  117. package/dist/utils/gas-fees.d.cts.map +1 -1
  118. package/dist/utils/gas-fees.d.mts +0 -2
  119. package/dist/utils/gas-fees.d.mts.map +1 -1
  120. package/dist/utils/gas-fees.mjs +9 -7
  121. package/dist/utils/gas-fees.mjs.map +1 -1
  122. package/dist/utils/gas.cjs +60 -34
  123. package/dist/utils/gas.cjs.map +1 -1
  124. package/dist/utils/gas.d.cts +6 -11
  125. package/dist/utils/gas.d.cts.map +1 -1
  126. package/dist/utils/gas.d.mts +6 -11
  127. package/dist/utils/gas.d.mts.map +1 -1
  128. package/dist/utils/gas.mjs +61 -35
  129. package/dist/utils/gas.mjs.map +1 -1
  130. package/dist/utils/layer1-gas-fee-flow.cjs +7 -3
  131. package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
  132. package/dist/utils/layer1-gas-fee-flow.d.cts +2 -5
  133. package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
  134. package/dist/utils/layer1-gas-fee-flow.d.mts +2 -5
  135. package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
  136. package/dist/utils/layer1-gas-fee-flow.mjs +7 -3
  137. package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
  138. package/dist/utils/provider.cjs +74 -0
  139. package/dist/utils/provider.cjs.map +1 -0
  140. package/dist/utils/provider.d.cts +65 -0
  141. package/dist/utils/provider.d.cts.map +1 -0
  142. package/dist/utils/provider.d.mts +65 -0
  143. package/dist/utils/provider.d.mts.map +1 -0
  144. package/dist/utils/provider.mjs +67 -0
  145. package/dist/utils/provider.mjs.map +1 -0
  146. package/dist/utils/swaps.cjs +11 -7
  147. package/dist/utils/swaps.cjs.map +1 -1
  148. package/dist/utils/swaps.d.cts +6 -4
  149. package/dist/utils/swaps.d.cts.map +1 -1
  150. package/dist/utils/swaps.d.mts +6 -4
  151. package/dist/utils/swaps.d.mts.map +1 -1
  152. package/dist/utils/swaps.mjs +11 -7
  153. package/dist/utils/swaps.mjs.map +1 -1
  154. package/dist/utils/transaction-type.cjs +17 -8
  155. package/dist/utils/transaction-type.cjs.map +1 -1
  156. package/dist/utils/transaction-type.d.cts +9 -3
  157. package/dist/utils/transaction-type.d.cts.map +1 -1
  158. package/dist/utils/transaction-type.d.mts +9 -3
  159. package/dist/utils/transaction-type.d.mts.map +1 -1
  160. package/dist/utils/transaction-type.mjs +17 -8
  161. package/dist/utils/transaction-type.mjs.map +1 -1
  162. package/package.json +13 -13
@@ -9,17 +9,9 @@ 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 _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens;
13
- function $importDefault(module) {
14
- if (module?.__esModule) {
15
- return module.default;
16
- }
17
- return module;
18
- }
12
+ var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens;
19
13
  import { BaseController } from "@metamask/base-controller";
20
- import { query, ApprovalType, ORIGIN_METAMASK, convertHexToDecimal } from "@metamask/controller-utils";
21
- import $EthQuery from "@metamask/eth-query";
22
- const EthQuery = $importDefault($EthQuery);
14
+ import { ApprovalType, ORIGIN_METAMASK, convertHexToDecimal } from "@metamask/controller-utils";
23
15
  import { NetworkClientType } from "@metamask/network-controller";
24
16
  import { NonceTracker } from "@metamask/nonce-tracker";
25
17
  import { errorCodes, rpcErrors, providerErrors, JsonRpcError } from "@metamask/rpc-errors";
@@ -59,6 +51,7 @@ import { getGasFeeFlow } from "./utils/gas-flow.mjs";
59
51
  import { getTransactionLayer1GasFee, updateTransactionLayer1GasFee } from "./utils/layer1-gas-fee-flow.mjs";
60
52
  import { getAndFormatTransactionsForNonceTracker, getNextNonce } from "./utils/nonce.mjs";
61
53
  import { prepareTransaction, serializeTransaction } from "./utils/prepare.mjs";
54
+ import { getChainId, getNetworkClientId, rpcRequest } from "./utils/provider.mjs";
62
55
  import { getTransactionParamsWithIncreasedGasFee } from "./utils/retry.mjs";
63
56
  import { updatePostTransactionBalance, updateSwapsTransaction } from "./utils/swaps.mjs";
64
57
  import { determineTransactionType } from "./utils/transaction-type.mjs";
@@ -292,10 +285,8 @@ export class TransactionController extends BaseController {
292
285
  __classPrivateFieldSet(this, _TransactionController_gasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeFlows).call(this), "f");
293
286
  __classPrivateFieldSet(this, _TransactionController_layer1GasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getLayer1GasFeeFlows).call(this), "f");
294
287
  const gasFeePoller = new GasFeePoller({
295
- findNetworkClientIdByChainId,
296
288
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
297
289
  getGasFeeControllerEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
298
- getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
299
290
  getTransactions: () => this.state.transactions,
300
291
  getTransactionBatches: () => this.state.transactionBatches,
301
292
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
@@ -307,7 +298,7 @@ export class TransactionController extends BaseController {
307
298
  gasFeePoller.hub.on('transaction-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionUpdate).bind(this));
308
299
  gasFeePoller.hub.on('transaction-batch-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionBatchUpdate).bind(this));
309
300
  __classPrivateFieldSet(this, _TransactionController_methodDataHelper, new MethodDataHelper({
310
- getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
301
+ messenger: this.messenger,
311
302
  getState: () => this.state.methodData,
312
303
  }), "f");
313
304
  __classPrivateFieldGet(this, _TransactionController_methodDataHelper, "f").hub.on('update', ({ fourBytePrefix, methodData }) => {
@@ -369,15 +360,11 @@ export class TransactionController extends BaseController {
369
360
  return await addTransactionBatch({
370
361
  addTransaction: this.addTransaction.bind(this),
371
362
  estimateGas: this.estimateGas.bind(this),
372
- getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
373
- getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
374
363
  getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
375
364
  getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
376
365
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").bind(this),
377
366
  getPendingTransactionTracker: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).call(this, {
378
- provider: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
379
367
  blockTracker,
380
- chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
381
368
  networkClientId,
382
369
  }),
383
370
  getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
@@ -385,7 +372,7 @@ export class TransactionController extends BaseController {
385
372
  messenger: this.messenger,
386
373
  publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
387
374
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
388
- publishTransaction: (ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta),
375
+ publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta),
389
376
  request,
390
377
  signTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).bind(this),
391
378
  update: this.update.bind(this),
@@ -401,7 +388,6 @@ export class TransactionController extends BaseController {
401
388
  async isAtomicBatchSupported(request) {
402
389
  return isAtomicBatchSupported({
403
390
  ...request,
404
- getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
405
391
  messenger: this.messenger,
406
392
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
407
393
  });
@@ -417,16 +403,13 @@ export class TransactionController extends BaseController {
417
403
  */
418
404
  async addTransaction(txParams, options) {
419
405
  log('Adding transaction', txParams, options);
420
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
406
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, excludeNativeTokenForFee, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
421
407
  // eslint-disable-next-line no-param-reassign
422
408
  txParams = normalizeTransactionParams(txParams);
423
409
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
424
410
  throw new Error(`Network client not found - ${networkClientId}`);
425
411
  }
426
- const chainId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId);
427
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
428
- networkClientId,
429
- });
412
+ const chainId = getChainId({ messenger: this.messenger, networkClientId });
430
413
  const permittedAddresses = origin === undefined
431
414
  ? undefined
432
415
  : await __classPrivateFieldGet(this, _TransactionController_getPermittedAccounts, "f")?.call(this, origin);
@@ -440,7 +423,7 @@ export class TransactionController extends BaseController {
440
423
  txParams,
441
424
  type,
442
425
  });
443
- const delegationAddressPromise = getDelegationAddress(txParams.from, ethQuery).catch(() => undefined);
426
+ const delegationAddressPromise = getDelegationAddress(txParams.from, this.messenger, networkClientId).catch(() => undefined);
444
427
  const isEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, networkClientId);
445
428
  validateTxParams(txParams, isEIP1559Compatible, chainId);
446
429
  if (!txParams.type) {
@@ -453,7 +436,17 @@ export class TransactionController extends BaseController {
453
436
  throw new JsonRpcError(ErrorCode.DuplicateBundleId, 'Batch ID already exists');
454
437
  }
455
438
  const dappSuggestedGasFees = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_generateDappSuggestedGasFees).call(this, txParams, origin);
456
- const transactionType = type ?? (await determineTransactionType(txParams, ethQuery)).type;
439
+ const transactionType = type ??
440
+ (await determineTransactionType(txParams, {
441
+ messenger: this.messenger,
442
+ networkClientId,
443
+ })).type;
444
+ /**
445
+ * Original behavior was that this was set to 'true' whenever a gasFeeToken was passed.
446
+ * 'excludeNativeTokenForFee' optionally overrides this behavior to prevent native token from
447
+ * being used when another gasFeeToken is set.
448
+ */
449
+ const isGasFeeTokenIgnoredIfBalance = Boolean(gasFeeToken) && !excludeNativeTokenForFee;
457
450
  let addedTransactionMeta = {
458
451
  actionId,
459
452
  assetsFiatValues,
@@ -463,9 +456,13 @@ export class TransactionController extends BaseController {
463
456
  deviceConfirmedOn,
464
457
  disableGasBuffer,
465
458
  id: random(),
466
- isGasFeeTokenIgnoredIfBalance: Boolean(gasFeeToken),
459
+ isGasFeeTokenIgnoredIfBalance,
467
460
  isGasFeeIncluded,
468
461
  isGasFeeSponsored,
462
+ // To avoid the property to be set as undefined.
463
+ ...(excludeNativeTokenForFee === undefined
464
+ ? {}
465
+ : { excludeNativeTokenForFee }),
469
466
  isFirstTimeInteraction: undefined,
470
467
  isStateOnly,
471
468
  nestedTransactions,
@@ -657,16 +654,12 @@ export class TransactionController extends BaseController {
657
654
  * @returns The gas and gas price.
658
655
  */
659
656
  async estimateGas(transaction, networkClientId, { ignoreDelegationSignatures, } = {}) {
660
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
661
- networkClientId,
662
- });
663
657
  const { estimatedGas, simulationFails } = await estimateGas({
664
- chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
665
- ethQuery,
666
658
  ignoreDelegationSignatures,
667
659
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
668
660
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
669
661
  messenger: this.messenger,
662
+ networkClientId,
670
663
  txParams: transaction,
671
664
  });
672
665
  return { gas: estimatedGas, simulationFails };
@@ -681,16 +674,15 @@ export class TransactionController extends BaseController {
681
674
  * @returns Object containing the gas limit.
682
675
  */
683
676
  async estimateGasBatch({ chainId, from, transactions, }) {
684
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
685
- chainId,
686
- });
687
677
  return estimateGasBatch({
688
- chainId,
689
- ethQuery,
690
678
  from,
691
679
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
692
680
  isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
693
681
  messenger: this.messenger,
682
+ networkClientId: getNetworkClientId({
683
+ messenger: this.messenger,
684
+ chainId,
685
+ }),
694
686
  transactions,
695
687
  });
696
688
  }
@@ -703,15 +695,11 @@ export class TransactionController extends BaseController {
703
695
  * @returns The buffered estimated gas and whether the estimation failed.
704
696
  */
705
697
  async estimateGasBuffered(transaction, multiplier, networkClientId) {
706
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
707
- networkClientId,
708
- });
709
698
  const { blockGasLimit, estimatedGas, simulationFails } = await estimateGas({
710
- chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
711
- ethQuery,
712
699
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
713
700
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
714
701
  messenger: this.messenger,
702
+ networkClientId,
715
703
  txParams: transaction,
716
704
  });
717
705
  const gas = addGasBuffer(estimatedGas, blockGasLimit, multiplier);
@@ -991,10 +979,11 @@ export class TransactionController extends BaseController {
991
979
  editableParams.txParams = pickBy(editableParams.txParams);
992
980
  const updatedTransaction = merge({}, transactionMeta, editableParams);
993
981
  const { networkClientId } = transactionMeta;
994
- const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
995
- const ethQuery = new EthQuery(provider);
996
982
  if (updateType !== false) {
997
- const { type } = await determineTransactionType(updatedTransaction.txParams, ethQuery);
983
+ const { type } = await determineTransactionType(updatedTransaction.txParams, {
984
+ messenger: this.messenger,
985
+ networkClientId,
986
+ });
998
987
  updatedTransaction.type = type;
999
988
  }
1000
989
  if (containerTypes) {
@@ -1003,7 +992,6 @@ export class TransactionController extends BaseController {
1003
992
  await updateTransactionLayer1GasFee({
1004
993
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1005
994
  messenger: this.messenger,
1006
- provider,
1007
995
  transactionMeta: updatedTransaction,
1008
996
  });
1009
997
  this.updateTransaction(updatedTransaction, `Update Editable Params for ${txId}`);
@@ -1045,7 +1033,10 @@ export class TransactionController extends BaseController {
1045
1033
  }
1046
1034
  const initialTx = listOfTxParams[0];
1047
1035
  const { chainId } = initialTx;
1048
- const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1036
+ const networkClientId = getNetworkClientId({
1037
+ messenger: this.messenger,
1038
+ chainId,
1039
+ });
1049
1040
  const initialTxAsEthTx = prepareTransaction(chainId, initialTx);
1050
1041
  const initialTxAsSerializedHex = serializeTransaction(initialTxAsEthTx);
1051
1042
  if (__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").has(initialTxAsSerializedHex)) {
@@ -1224,7 +1215,7 @@ export class TransactionController extends BaseController {
1224
1215
  * @returns A promise that resolves to the estimated gas fee response.
1225
1216
  */
1226
1217
  async estimateGasFee({ transactionParams, chainId, networkClientId: requestNetworkClientId, }) {
1227
- const { id: networkClientId, provider } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1218
+ const { id: networkClientId } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1228
1219
  chainId,
1229
1220
  networkClientId: requestNetworkClientId,
1230
1221
  });
@@ -1235,12 +1226,10 @@ export class TransactionController extends BaseController {
1235
1226
  };
1236
1227
  // Guaranteed as the default gas fee flow matches all transactions.
1237
1228
  const gasFeeFlow = getGasFeeFlow(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
1238
- const ethQuery = new EthQuery(provider);
1239
1229
  const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
1240
1230
  networkClientId,
1241
1231
  });
1242
1232
  return gasFeeFlow.getGasFees({
1243
- ethQuery,
1244
1233
  gasFeeControllerData,
1245
1234
  messenger: this.messenger,
1246
1235
  transactionMeta,
@@ -1256,17 +1245,18 @@ export class TransactionController extends BaseController {
1256
1245
  * @returns The layer 1 gas fee.
1257
1246
  */
1258
1247
  async getLayer1GasFee({ transactionParams, chainId, networkClientId, }) {
1259
- const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, {
1248
+ const resolvedNetworkClientId = getNetworkClientId({
1249
+ messenger: this.messenger,
1260
1250
  chainId,
1261
1251
  networkClientId,
1262
1252
  });
1263
1253
  return await getTransactionLayer1GasFee({
1264
1254
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1265
1255
  messenger: this.messenger,
1266
- provider,
1267
1256
  transactionMeta: {
1268
1257
  txParams: transactionParams,
1269
1258
  chainId,
1259
+ networkClientId: resolvedNetworkClientId,
1270
1260
  },
1271
1261
  });
1272
1262
  }
@@ -1443,8 +1433,11 @@ export class TransactionController extends BaseController {
1443
1433
  */
1444
1434
  async getGasFeeTokens(request) {
1445
1435
  const { chainId, data, from, to, value } = request;
1446
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId });
1447
- const delegationAddress = await getDelegationAddress(from, ethQuery);
1436
+ const networkClientId = getNetworkClientId({
1437
+ messenger: this.messenger,
1438
+ chainId,
1439
+ });
1440
+ const delegationAddress = await getDelegationAddress(from, this.messenger, networkClientId);
1448
1441
  const transaction = {
1449
1442
  chainId,
1450
1443
  delegationAddress,
@@ -1492,8 +1485,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1492
1485
  newFee,
1493
1486
  txParams: newTxParams,
1494
1487
  });
1495
- const { networkClientId } = transactionMeta;
1496
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1497
1488
  const newTransactionMeta = {
1498
1489
  ...transactionMetaWithRsv,
1499
1490
  actionId,
@@ -1506,7 +1497,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1506
1497
  txParams: newTxParams,
1507
1498
  type: transactionType,
1508
1499
  };
1509
- const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, ethQuery, {
1500
+ const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, {
1510
1501
  ...newTransactionMeta,
1511
1502
  origin: label,
1512
1503
  });
@@ -1552,15 +1543,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1552
1543
  }, _TransactionController_updateGasProperties = async function _TransactionController_updateGasProperties(transactionMeta, { traceContext } = {}) {
1553
1544
  const isEIP1559Compatible = transactionMeta.txParams.type !== TransactionEnvelopeType.legacy &&
1554
1545
  (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, transactionMeta.networkClientId));
1555
- const { networkClientId } = transactionMeta;
1556
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1557
- const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
1558
1546
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas', parentContext: traceContext }, async () => {
1559
1547
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, transactionMeta);
1560
1548
  });
1561
1549
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await updateGasFees({
1562
1550
  eip1559: isEIP1559Compatible,
1563
- ethQuery,
1564
1551
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
1565
1552
  getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
1566
1553
  getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
@@ -1570,7 +1557,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1570
1557
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Layer 1 Gas Fees', parentContext: traceContext }, async () => await updateTransactionLayer1GasFee({
1571
1558
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1572
1559
  messenger: this.messenger,
1573
- provider,
1574
1560
  transactionMeta,
1575
1561
  }));
1576
1562
  }, _TransactionController_onBootCleanup = function _TransactionController_onBootCleanup() {
@@ -1711,7 +1697,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1711
1697
  __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
1712
1698
  clearApprovingTransactionId = () => __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").delete(transactionId);
1713
1699
  const { networkClientId } = transactionMeta;
1714
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1715
1700
  const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
1716
1701
  clearNonceLock = releaseNonce;
1717
1702
  // eslint-disable-next-line require-atomic-updates
@@ -1744,15 +1729,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1744
1729
  const shouldUpdatePreTxBalance = transactionMeta.type === TransactionType.swap;
1745
1730
  if (shouldUpdatePreTxBalance) {
1746
1731
  log('Determining pre-transaction balance');
1747
- preTxBalance = await query(ethQuery, 'getBalance', [
1748
- transactionMeta.txParams.from,
1749
- ]);
1732
+ preTxBalance = (await rpcRequest({
1733
+ messenger: this.messenger,
1734
+ networkClientId,
1735
+ method: 'eth_getBalance',
1736
+ params: [transactionMeta.txParams.from, 'latest'],
1737
+ }));
1750
1738
  }
1751
1739
  log('Publishing transaction', transactionMeta.txParams);
1752
1740
  clearNonceLock?.();
1753
1741
  clearNonceLock = undefined;
1754
1742
  let publishHook = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_defaultPublishHook).bind(this, {
1755
- ethQuery,
1743
+ networkClientId,
1756
1744
  publishHookOverride,
1757
1745
  traceContext,
1758
1746
  });
@@ -1796,11 +1784,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1796
1784
  clearApprovingTransactionId?.();
1797
1785
  clearNonceLock?.();
1798
1786
  }
1799
- }, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
1787
+ }, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(transactionMeta, { skipSubmitHistory } = {}) {
1800
1788
  try {
1801
- const transactionHash = await query(ethQuery, 'sendRawTransaction', [
1802
- transactionMeta.rawTx,
1803
- ]);
1789
+ const { networkClientId, rawTx } = transactionMeta;
1790
+ if (!rawTx) {
1791
+ throw new Error('Missing raw transaction');
1792
+ }
1793
+ const transactionHash = (await rpcRequest({
1794
+ messenger: this.messenger,
1795
+ networkClientId,
1796
+ method: 'eth_sendRawTransaction',
1797
+ params: [rawTx],
1798
+ }));
1804
1799
  if (skipSubmitHistory !== true) {
1805
1800
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
1806
1801
  }
@@ -1898,23 +1893,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1898
1893
  }
1899
1894
  const isCompleted = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isLocalFinalState).call(this, transaction.status);
1900
1895
  return { meta: transaction, isCompleted };
1901
- }, _TransactionController_getChainId = function _TransactionController_getChainId(networkClientId) {
1902
- return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
1903
- .configuration.chainId;
1904
- }, _TransactionController_getNetworkClientId = function _TransactionController_getNetworkClientId({ chainId, networkClientId, }) {
1905
- if (networkClientId) {
1906
- return networkClientId;
1907
- }
1908
- return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1909
- chainId,
1910
- }).id;
1911
- }, _TransactionController_getEthQuery = function _TransactionController_getEthQuery({ chainId, networkClientId, }) {
1912
- return new EthQuery(__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { chainId, networkClientId }));
1913
- }, _TransactionController_getProvider = function _TransactionController_getProvider({ chainId, networkClientId, }) {
1914
- return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1915
- chainId,
1916
- networkClientId,
1917
- }).provider;
1918
1896
  }, _TransactionController_onIncomingTransactions = function _TransactionController_onIncomingTransactions(transactions) {
1919
1897
  if (!transactions.length) {
1920
1898
  return;
@@ -1923,7 +1901,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1923
1901
  for (const tx of transactions) {
1924
1902
  const { chainId } = tx;
1925
1903
  try {
1926
- const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1904
+ const networkClientId = getNetworkClientId({
1905
+ messenger: this.messenger,
1906
+ chainId,
1907
+ });
1927
1908
  finalTransactions.push({
1928
1909
  ...tx,
1929
1910
  networkClientId,
@@ -2059,9 +2040,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2059
2040
  }
2060
2041
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
2061
2042
  const { networkClientId } = transactionMeta;
2062
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2063
2043
  await checkGasFeeTokenBeforePublish({
2064
- ethQuery,
2044
+ messenger: this.messenger,
2045
+ networkClientId,
2065
2046
  fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
2066
2047
  transaction: transactionMeta,
2067
2048
  updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
@@ -2139,9 +2120,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2139
2120
  if (type !== TransactionType.swap) {
2140
2121
  return;
2141
2122
  }
2142
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2143
2123
  const { updatedTransactionMeta, approvalTransactionMeta } = await updatePostTransactionBalance(transactionMeta, {
2144
- ethQuery,
2124
+ messenger: this.messenger,
2125
+ networkClientId,
2145
2126
  getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
2146
2127
  updateTransaction: this.updateTransaction.bind(this),
2147
2128
  });
@@ -2164,16 +2145,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2164
2145
  getPendingTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerPendingTransactions).bind(this, chainId),
2165
2146
  getConfirmedTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerTransactions).bind(this, [TransactionStatus.confirmed], chainId),
2166
2147
  });
2167
- }, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ provider, blockTracker, chainId, networkClientId, }) {
2168
- const ethQuery = new EthQuery(provider);
2148
+ }, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ blockTracker, networkClientId, }) {
2149
+ const chainId = getChainId({ messenger: this.messenger, networkClientId });
2169
2150
  const pendingTransactionTracker = new PendingTransactionTracker({
2170
2151
  blockTracker,
2171
- getChainId: () => chainId,
2172
- getEthQuery: () => ethQuery,
2173
2152
  getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
2174
2153
  chainId,
2175
2154
  }),
2176
- getNetworkClientId: () => networkClientId,
2177
2155
  getTransactions: () => this.state.transactions,
2178
2156
  hooks: {
2179
2157
  beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
@@ -2181,7 +2159,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2181
2159
  isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2182
2160
  isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2183
2161
  messenger: this.messenger,
2184
- publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
2162
+ networkClientId,
2163
+ publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta, {
2185
2164
  skipSubmitHistory: true,
2186
2165
  }),
2187
2166
  });
@@ -2209,9 +2188,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2209
2188
  ], address, chainId);
2210
2189
  const externalPendingTransactions = __classPrivateFieldGet(this, _TransactionController_getExternalPendingTransactions, "f").call(this, address, chainId);
2211
2190
  return [...standardPendingTransactions, ...externalPendingTransactions];
2212
- }, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(ethQuery, transactionMeta) {
2191
+ }, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(transactionMeta) {
2213
2192
  try {
2214
- return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta);
2193
+ return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta);
2215
2194
  }
2216
2195
  catch (error) {
2217
2196
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionAlreadyConfirmedError).call(this, error)) {
@@ -2279,7 +2258,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2279
2258
  const balanceChangesResult = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => getBalanceChanges({
2280
2259
  blockTime,
2281
2260
  chainId,
2282
- ethQuery: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
2261
+ messenger: this.messenger,
2262
+ networkClientId,
2283
2263
  getSimulationConfig: (url, opts) => {
2284
2264
  return __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").call(this, url, {
2285
2265
  txMeta: transactionMeta,
@@ -2380,13 +2360,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2380
2360
  submitHistory.unshift(submitHistoryEntry);
2381
2361
  });
2382
2362
  }, _TransactionController_updateGasEstimate = async function _TransactionController_updateGasEstimate(transactionMeta) {
2383
- const { chainId, networkClientId } = transactionMeta;
2363
+ const { networkClientId } = transactionMeta;
2384
2364
  const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
2385
2365
  .configuration.type === NetworkClientType.Custom;
2386
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2387
2366
  await updateGas({
2388
- chainId,
2389
- ethQuery,
2390
2367
  isCustomNetwork,
2391
2368
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
2392
2369
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
@@ -2465,14 +2442,15 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2465
2442
  updateTransaction(txMeta);
2466
2443
  });
2467
2444
  log('Updated transaction with afterSimulate data', updatedTransactionMeta);
2468
- }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ ethQuery, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2445
+ }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ networkClientId, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2469
2446
  let transactionHash;
2470
2447
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
2471
2448
  const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
2472
2449
  ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2473
2450
  // eslint-disable-next-line require-atomic-updates
2474
- transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2451
+ transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, {
2475
2452
  ...transactionMeta,
2453
+ networkClientId,
2476
2454
  rawTx: signedTx,
2477
2455
  }));
2478
2456
  });