@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
package/CHANGELOG.md CHANGED
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [64.0.0]
11
+
12
+ ### Changed
13
+
14
+ - Add extra parameters in types and change `addTransaction` behavior ([#8052](https://github.com/MetaMask/core/pull/8052))
15
+ - Add optional `excludeNativeTokenForFee` in `TransactionMeta` type.
16
+ - Add optional `excludeNativeTokenForFee` in `TransactionBatchRequest` type.
17
+ - Add optional `excludeNativeTokenForFee` to `AddTransactionOptions` type.
18
+ - Changed `isGasFeeTokenIgnoredIfBalance` to be false if `excludeNativeTokenForFee` is passed in `addTransaction`.
19
+ - Bump `@metamask/accounts-controller` from `^37.1.0` to `^37.1.1` ([#8325](https://github.com/MetaMask/core/pull/8325))
20
+ - Bump `@metamask/controller-utils` from `^11.19.0` to `^11.20.0` ([#8344](https://github.com/MetaMask/core/pull/8344))
21
+
22
+ ### Removed
23
+
24
+ - **BREAKING:** Remove `@metamask/eth-query` dependency and all `EthQuery` usage in favour of messenger-based provider utilities ([#8273](https://github.com/MetaMask/core/pull/8273))
25
+ - Remove `determineTransactionType` from exported functions.
26
+
27
+ ## [63.3.1]
28
+
29
+ ### Changed
30
+
31
+ - Bump `@metamask/accounts-controller` from `^37.0.0` to `^37.1.0` ([#8317](https://github.com/MetaMask/core/pull/8317))
32
+ - Bump `@metamask/approval-controller` from `^9.0.0` to `^9.0.1` ([#8317](https://github.com/MetaMask/core/pull/8317))
33
+ - Bump `@metamask/base-controller` from `^9.0.0` to `^9.0.1` ([#8317](https://github.com/MetaMask/core/pull/8317))
34
+ - Bump `@metamask/core-backend` from `^6.2.0` to `^6.2.1` ([#8317](https://github.com/MetaMask/core/pull/8317))
35
+ - Bump `@metamask/gas-fee-controller` from `^26.1.0` to `^26.1.1` ([#8317](https://github.com/MetaMask/core/pull/8317))
36
+ - Bump `@metamask/messenger` from `^0.3.0` to `^1.0.0` ([#8317](https://github.com/MetaMask/core/pull/8317))
37
+ - Bump `@metamask/network-controller` from `^30.0.0` to `^30.0.1` ([#8317](https://github.com/MetaMask/core/pull/8317))
38
+ - Bump `@metamask/remote-feature-flag-controller` from `^4.1.0` to `^4.2.0` ([#8317](https://github.com/MetaMask/core/pull/8317))
39
+
10
40
  ## [63.3.0]
11
41
 
12
42
  ### Added
@@ -2277,7 +2307,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2277
2307
 
2278
2308
  All changes listed after this point were applied to this package following the monorepo conversion.
2279
2309
 
2280
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@63.3.0...HEAD
2310
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@64.0.0...HEAD
2311
+ [64.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@63.3.1...@metamask/transaction-controller@64.0.0
2312
+ [63.3.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@63.3.0...@metamask/transaction-controller@63.3.1
2281
2313
  [63.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@63.2.0...@metamask/transaction-controller@63.3.0
2282
2314
  [63.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@63.1.0...@metamask/transaction-controller@63.2.0
2283
2315
  [63.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@63.0.0...@metamask/transaction-controller@63.1.0
@@ -10,15 +10,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  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");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- 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
+ 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;
17
14
  Object.defineProperty(exports, "__esModule", { value: true });
18
15
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
19
16
  const base_controller_1 = require("@metamask/base-controller");
20
17
  const controller_utils_1 = require("@metamask/controller-utils");
21
- const eth_query_1 = __importDefault(require("@metamask/eth-query"));
22
18
  const network_controller_1 = require("@metamask/network-controller");
23
19
  const nonce_tracker_1 = require("@metamask/nonce-tracker");
24
20
  const rpc_errors_1 = require("@metamask/rpc-errors");
@@ -57,6 +53,7 @@ const gas_flow_1 = require("./utils/gas-flow.cjs");
57
53
  const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
58
54
  const nonce_1 = require("./utils/nonce.cjs");
59
55
  const prepare_1 = require("./utils/prepare.cjs");
56
+ const provider_1 = require("./utils/provider.cjs");
60
57
  const retry_1 = require("./utils/retry.cjs");
61
58
  const swaps_1 = require("./utils/swaps.cjs");
62
59
  const transaction_type_1 = require("./utils/transaction-type.cjs");
@@ -290,10 +287,8 @@ class TransactionController extends base_controller_1.BaseController {
290
287
  __classPrivateFieldSet(this, _TransactionController_gasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeFlows).call(this), "f");
291
288
  __classPrivateFieldSet(this, _TransactionController_layer1GasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getLayer1GasFeeFlows).call(this), "f");
292
289
  const gasFeePoller = new GasFeePoller_1.GasFeePoller({
293
- findNetworkClientIdByChainId,
294
290
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
295
291
  getGasFeeControllerEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
296
- getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
297
292
  getTransactions: () => this.state.transactions,
298
293
  getTransactionBatches: () => this.state.transactionBatches,
299
294
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
@@ -305,7 +300,7 @@ class TransactionController extends base_controller_1.BaseController {
305
300
  gasFeePoller.hub.on('transaction-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionUpdate).bind(this));
306
301
  gasFeePoller.hub.on('transaction-batch-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionBatchUpdate).bind(this));
307
302
  __classPrivateFieldSet(this, _TransactionController_methodDataHelper, new MethodDataHelper_1.MethodDataHelper({
308
- getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
303
+ messenger: this.messenger,
309
304
  getState: () => this.state.methodData,
310
305
  }), "f");
311
306
  __classPrivateFieldGet(this, _TransactionController_methodDataHelper, "f").hub.on('update', ({ fourBytePrefix, methodData }) => {
@@ -367,15 +362,11 @@ class TransactionController extends base_controller_1.BaseController {
367
362
  return await (0, batch_1.addTransactionBatch)({
368
363
  addTransaction: this.addTransaction.bind(this),
369
364
  estimateGas: this.estimateGas.bind(this),
370
- getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
371
- getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
372
365
  getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
373
366
  getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
374
367
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").bind(this),
375
368
  getPendingTransactionTracker: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).call(this, {
376
- provider: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
377
369
  blockTracker,
378
- chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
379
370
  networkClientId,
380
371
  }),
381
372
  getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
@@ -383,7 +374,7 @@ class TransactionController extends base_controller_1.BaseController {
383
374
  messenger: this.messenger,
384
375
  publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
385
376
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
386
- publishTransaction: (ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta),
377
+ publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta),
387
378
  request,
388
379
  signTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).bind(this),
389
380
  update: this.update.bind(this),
@@ -399,7 +390,6 @@ class TransactionController extends base_controller_1.BaseController {
399
390
  async isAtomicBatchSupported(request) {
400
391
  return (0, batch_1.isAtomicBatchSupported)({
401
392
  ...request,
402
- getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
403
393
  messenger: this.messenger,
404
394
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
405
395
  });
@@ -415,16 +405,13 @@ class TransactionController extends base_controller_1.BaseController {
415
405
  */
416
406
  async addTransaction(txParams, options) {
417
407
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
418
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
408
+ 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;
419
409
  // eslint-disable-next-line no-param-reassign
420
410
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
421
411
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
422
412
  throw new Error(`Network client not found - ${networkClientId}`);
423
413
  }
424
- const chainId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId);
425
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
426
- networkClientId,
427
- });
414
+ const chainId = (0, provider_1.getChainId)({ messenger: this.messenger, networkClientId });
428
415
  const permittedAddresses = origin === undefined
429
416
  ? undefined
430
417
  : await __classPrivateFieldGet(this, _TransactionController_getPermittedAccounts, "f")?.call(this, origin);
@@ -438,7 +425,7 @@ class TransactionController extends base_controller_1.BaseController {
438
425
  txParams,
439
426
  type,
440
427
  });
441
- const delegationAddressPromise = (0, eip7702_1.getDelegationAddress)(txParams.from, ethQuery).catch(() => undefined);
428
+ const delegationAddressPromise = (0, eip7702_1.getDelegationAddress)(txParams.from, this.messenger, networkClientId).catch(() => undefined);
442
429
  const isEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, networkClientId);
443
430
  (0, validation_1.validateTxParams)(txParams, isEIP1559Compatible, chainId);
444
431
  if (!txParams.type) {
@@ -451,7 +438,17 @@ class TransactionController extends base_controller_1.BaseController {
451
438
  throw new rpc_errors_1.JsonRpcError(validation_1.ErrorCode.DuplicateBundleId, 'Batch ID already exists');
452
439
  }
453
440
  const dappSuggestedGasFees = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_generateDappSuggestedGasFees).call(this, txParams, origin);
454
- const transactionType = type ?? (await (0, transaction_type_1.determineTransactionType)(txParams, ethQuery)).type;
441
+ const transactionType = type ??
442
+ (await (0, transaction_type_1.determineTransactionType)(txParams, {
443
+ messenger: this.messenger,
444
+ networkClientId,
445
+ })).type;
446
+ /**
447
+ * Original behavior was that this was set to 'true' whenever a gasFeeToken was passed.
448
+ * 'excludeNativeTokenForFee' optionally overrides this behavior to prevent native token from
449
+ * being used when another gasFeeToken is set.
450
+ */
451
+ const isGasFeeTokenIgnoredIfBalance = Boolean(gasFeeToken) && !excludeNativeTokenForFee;
455
452
  let addedTransactionMeta = {
456
453
  actionId,
457
454
  assetsFiatValues,
@@ -461,9 +458,13 @@ class TransactionController extends base_controller_1.BaseController {
461
458
  deviceConfirmedOn,
462
459
  disableGasBuffer,
463
460
  id: (0, uuid_1.v1)(),
464
- isGasFeeTokenIgnoredIfBalance: Boolean(gasFeeToken),
461
+ isGasFeeTokenIgnoredIfBalance,
465
462
  isGasFeeIncluded,
466
463
  isGasFeeSponsored,
464
+ // To avoid the property to be set as undefined.
465
+ ...(excludeNativeTokenForFee === undefined
466
+ ? {}
467
+ : { excludeNativeTokenForFee }),
467
468
  isFirstTimeInteraction: undefined,
468
469
  isStateOnly,
469
470
  nestedTransactions,
@@ -655,16 +656,12 @@ class TransactionController extends base_controller_1.BaseController {
655
656
  * @returns The gas and gas price.
656
657
  */
657
658
  async estimateGas(transaction, networkClientId, { ignoreDelegationSignatures, } = {}) {
658
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
659
- networkClientId,
660
- });
661
659
  const { estimatedGas, simulationFails } = await (0, gas_1.estimateGas)({
662
- chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
663
- ethQuery,
664
660
  ignoreDelegationSignatures,
665
661
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
666
662
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
667
663
  messenger: this.messenger,
664
+ networkClientId,
668
665
  txParams: transaction,
669
666
  });
670
667
  return { gas: estimatedGas, simulationFails };
@@ -679,16 +676,15 @@ class TransactionController extends base_controller_1.BaseController {
679
676
  * @returns Object containing the gas limit.
680
677
  */
681
678
  async estimateGasBatch({ chainId, from, transactions, }) {
682
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
683
- chainId,
684
- });
685
679
  return (0, gas_1.estimateGasBatch)({
686
- chainId,
687
- ethQuery,
688
680
  from,
689
681
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
690
682
  isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
691
683
  messenger: this.messenger,
684
+ networkClientId: (0, provider_1.getNetworkClientId)({
685
+ messenger: this.messenger,
686
+ chainId,
687
+ }),
692
688
  transactions,
693
689
  });
694
690
  }
@@ -701,15 +697,11 @@ class TransactionController extends base_controller_1.BaseController {
701
697
  * @returns The buffered estimated gas and whether the estimation failed.
702
698
  */
703
699
  async estimateGasBuffered(transaction, multiplier, networkClientId) {
704
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
705
- networkClientId,
706
- });
707
700
  const { blockGasLimit, estimatedGas, simulationFails } = await (0, gas_1.estimateGas)({
708
- chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
709
- ethQuery,
710
701
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
711
702
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
712
703
  messenger: this.messenger,
704
+ networkClientId,
713
705
  txParams: transaction,
714
706
  });
715
707
  const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
@@ -989,10 +981,11 @@ class TransactionController extends base_controller_1.BaseController {
989
981
  editableParams.txParams = (0, lodash_1.pickBy)(editableParams.txParams);
990
982
  const updatedTransaction = (0, lodash_1.merge)({}, transactionMeta, editableParams);
991
983
  const { networkClientId } = transactionMeta;
992
- const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
993
- const ethQuery = new eth_query_1.default(provider);
994
984
  if (updateType !== false) {
995
- const { type } = await (0, transaction_type_1.determineTransactionType)(updatedTransaction.txParams, ethQuery);
985
+ const { type } = await (0, transaction_type_1.determineTransactionType)(updatedTransaction.txParams, {
986
+ messenger: this.messenger,
987
+ networkClientId,
988
+ });
996
989
  updatedTransaction.type = type;
997
990
  }
998
991
  if (containerTypes) {
@@ -1001,7 +994,6 @@ class TransactionController extends base_controller_1.BaseController {
1001
994
  await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
1002
995
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1003
996
  messenger: this.messenger,
1004
- provider,
1005
997
  transactionMeta: updatedTransaction,
1006
998
  });
1007
999
  this.updateTransaction(updatedTransaction, `Update Editable Params for ${txId}`);
@@ -1043,7 +1035,10 @@ class TransactionController extends base_controller_1.BaseController {
1043
1035
  }
1044
1036
  const initialTx = listOfTxParams[0];
1045
1037
  const { chainId } = initialTx;
1046
- const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1038
+ const networkClientId = (0, provider_1.getNetworkClientId)({
1039
+ messenger: this.messenger,
1040
+ chainId,
1041
+ });
1047
1042
  const initialTxAsEthTx = (0, prepare_1.prepareTransaction)(chainId, initialTx);
1048
1043
  const initialTxAsSerializedHex = (0, prepare_1.serializeTransaction)(initialTxAsEthTx);
1049
1044
  if (__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").has(initialTxAsSerializedHex)) {
@@ -1222,7 +1217,7 @@ class TransactionController extends base_controller_1.BaseController {
1222
1217
  * @returns A promise that resolves to the estimated gas fee response.
1223
1218
  */
1224
1219
  async estimateGasFee({ transactionParams, chainId, networkClientId: requestNetworkClientId, }) {
1225
- const { id: networkClientId, provider } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1220
+ const { id: networkClientId } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1226
1221
  chainId,
1227
1222
  networkClientId: requestNetworkClientId,
1228
1223
  });
@@ -1233,12 +1228,10 @@ class TransactionController extends base_controller_1.BaseController {
1233
1228
  };
1234
1229
  // Guaranteed as the default gas fee flow matches all transactions.
1235
1230
  const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
1236
- const ethQuery = new eth_query_1.default(provider);
1237
1231
  const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
1238
1232
  networkClientId,
1239
1233
  });
1240
1234
  return gasFeeFlow.getGasFees({
1241
- ethQuery,
1242
1235
  gasFeeControllerData,
1243
1236
  messenger: this.messenger,
1244
1237
  transactionMeta,
@@ -1254,17 +1247,18 @@ class TransactionController extends base_controller_1.BaseController {
1254
1247
  * @returns The layer 1 gas fee.
1255
1248
  */
1256
1249
  async getLayer1GasFee({ transactionParams, chainId, networkClientId, }) {
1257
- const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, {
1250
+ const resolvedNetworkClientId = (0, provider_1.getNetworkClientId)({
1251
+ messenger: this.messenger,
1258
1252
  chainId,
1259
1253
  networkClientId,
1260
1254
  });
1261
1255
  return await (0, layer1_gas_fee_flow_1.getTransactionLayer1GasFee)({
1262
1256
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1263
1257
  messenger: this.messenger,
1264
- provider,
1265
1258
  transactionMeta: {
1266
1259
  txParams: transactionParams,
1267
1260
  chainId,
1261
+ networkClientId: resolvedNetworkClientId,
1268
1262
  },
1269
1263
  });
1270
1264
  }
@@ -1441,8 +1435,11 @@ class TransactionController extends base_controller_1.BaseController {
1441
1435
  */
1442
1436
  async getGasFeeTokens(request) {
1443
1437
  const { chainId, data, from, to, value } = request;
1444
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId });
1445
- const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, ethQuery);
1438
+ const networkClientId = (0, provider_1.getNetworkClientId)({
1439
+ messenger: this.messenger,
1440
+ chainId,
1441
+ });
1442
+ const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, this.messenger, networkClientId);
1446
1443
  const transaction = {
1447
1444
  chainId,
1448
1445
  delegationAddress,
@@ -1491,8 +1488,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1491
1488
  newFee,
1492
1489
  txParams: newTxParams,
1493
1490
  });
1494
- const { networkClientId } = transactionMeta;
1495
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1496
1491
  const newTransactionMeta = {
1497
1492
  ...transactionMetaWithRsv,
1498
1493
  actionId,
@@ -1505,7 +1500,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1505
1500
  txParams: newTxParams,
1506
1501
  type: transactionType,
1507
1502
  };
1508
- const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, ethQuery, {
1503
+ const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, {
1509
1504
  ...newTransactionMeta,
1510
1505
  origin: label,
1511
1506
  });
@@ -1551,15 +1546,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1551
1546
  }, _TransactionController_updateGasProperties = async function _TransactionController_updateGasProperties(transactionMeta, { traceContext } = {}) {
1552
1547
  const isEIP1559Compatible = transactionMeta.txParams.type !== types_1.TransactionEnvelopeType.legacy &&
1553
1548
  (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, transactionMeta.networkClientId));
1554
- const { networkClientId } = transactionMeta;
1555
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1556
- const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
1557
1549
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas', parentContext: traceContext }, async () => {
1558
1550
  await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, transactionMeta);
1559
1551
  });
1560
1552
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await (0, gas_fees_1.updateGasFees)({
1561
1553
  eip1559: isEIP1559Compatible,
1562
- ethQuery,
1563
1554
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
1564
1555
  getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
1565
1556
  getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
@@ -1569,7 +1560,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1569
1560
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Layer 1 Gas Fees', parentContext: traceContext }, async () => await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
1570
1561
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
1571
1562
  messenger: this.messenger,
1572
- provider,
1573
1563
  transactionMeta,
1574
1564
  }));
1575
1565
  }, _TransactionController_onBootCleanup = function _TransactionController_onBootCleanup() {
@@ -1710,7 +1700,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1710
1700
  __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
1711
1701
  clearApprovingTransactionId = () => __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").delete(transactionId);
1712
1702
  const { networkClientId } = transactionMeta;
1713
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1714
1703
  const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
1715
1704
  clearNonceLock = releaseNonce;
1716
1705
  // eslint-disable-next-line require-atomic-updates
@@ -1743,15 +1732,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1743
1732
  const shouldUpdatePreTxBalance = transactionMeta.type === types_1.TransactionType.swap;
1744
1733
  if (shouldUpdatePreTxBalance) {
1745
1734
  (0, logger_1.projectLogger)('Determining pre-transaction balance');
1746
- preTxBalance = await (0, controller_utils_1.query)(ethQuery, 'getBalance', [
1747
- transactionMeta.txParams.from,
1748
- ]);
1735
+ preTxBalance = (await (0, provider_1.rpcRequest)({
1736
+ messenger: this.messenger,
1737
+ networkClientId,
1738
+ method: 'eth_getBalance',
1739
+ params: [transactionMeta.txParams.from, 'latest'],
1740
+ }));
1749
1741
  }
1750
1742
  (0, logger_1.projectLogger)('Publishing transaction', transactionMeta.txParams);
1751
1743
  clearNonceLock?.();
1752
1744
  clearNonceLock = undefined;
1753
1745
  let publishHook = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_defaultPublishHook).bind(this, {
1754
- ethQuery,
1746
+ networkClientId,
1755
1747
  publishHookOverride,
1756
1748
  traceContext,
1757
1749
  });
@@ -1795,11 +1787,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1795
1787
  clearApprovingTransactionId?.();
1796
1788
  clearNonceLock?.();
1797
1789
  }
1798
- }, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
1790
+ }, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(transactionMeta, { skipSubmitHistory } = {}) {
1799
1791
  try {
1800
- const transactionHash = await (0, controller_utils_1.query)(ethQuery, 'sendRawTransaction', [
1801
- transactionMeta.rawTx,
1802
- ]);
1792
+ const { networkClientId, rawTx } = transactionMeta;
1793
+ if (!rawTx) {
1794
+ throw new Error('Missing raw transaction');
1795
+ }
1796
+ const transactionHash = (await (0, provider_1.rpcRequest)({
1797
+ messenger: this.messenger,
1798
+ networkClientId,
1799
+ method: 'eth_sendRawTransaction',
1800
+ params: [rawTx],
1801
+ }));
1803
1802
  if (skipSubmitHistory !== true) {
1804
1803
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
1805
1804
  }
@@ -1897,23 +1896,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1897
1896
  }
1898
1897
  const isCompleted = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isLocalFinalState).call(this, transaction.status);
1899
1898
  return { meta: transaction, isCompleted };
1900
- }, _TransactionController_getChainId = function _TransactionController_getChainId(networkClientId) {
1901
- return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
1902
- .configuration.chainId;
1903
- }, _TransactionController_getNetworkClientId = function _TransactionController_getNetworkClientId({ chainId, networkClientId, }) {
1904
- if (networkClientId) {
1905
- return networkClientId;
1906
- }
1907
- return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1908
- chainId,
1909
- }).id;
1910
- }, _TransactionController_getEthQuery = function _TransactionController_getEthQuery({ chainId, networkClientId, }) {
1911
- return new eth_query_1.default(__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { chainId, networkClientId }));
1912
- }, _TransactionController_getProvider = function _TransactionController_getProvider({ chainId, networkClientId, }) {
1913
- return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1914
- chainId,
1915
- networkClientId,
1916
- }).provider;
1917
1899
  }, _TransactionController_onIncomingTransactions = function _TransactionController_onIncomingTransactions(transactions) {
1918
1900
  if (!transactions.length) {
1919
1901
  return;
@@ -1922,7 +1904,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1922
1904
  for (const tx of transactions) {
1923
1905
  const { chainId } = tx;
1924
1906
  try {
1925
- const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1907
+ const networkClientId = (0, provider_1.getNetworkClientId)({
1908
+ messenger: this.messenger,
1909
+ chainId,
1910
+ });
1926
1911
  finalTransactions.push({
1927
1912
  ...tx,
1928
1913
  networkClientId,
@@ -2058,9 +2043,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2058
2043
  }
2059
2044
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
2060
2045
  const { networkClientId } = transactionMeta;
2061
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2062
2046
  await (0, gas_fee_tokens_1.checkGasFeeTokenBeforePublish)({
2063
- ethQuery,
2047
+ messenger: this.messenger,
2048
+ networkClientId,
2064
2049
  fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
2065
2050
  transaction: transactionMeta,
2066
2051
  updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
@@ -2138,9 +2123,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2138
2123
  if (type !== types_1.TransactionType.swap) {
2139
2124
  return;
2140
2125
  }
2141
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2142
2126
  const { updatedTransactionMeta, approvalTransactionMeta } = await (0, swaps_1.updatePostTransactionBalance)(transactionMeta, {
2143
- ethQuery,
2127
+ messenger: this.messenger,
2128
+ networkClientId,
2144
2129
  getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
2145
2130
  updateTransaction: this.updateTransaction.bind(this),
2146
2131
  });
@@ -2163,16 +2148,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2163
2148
  getPendingTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerPendingTransactions).bind(this, chainId),
2164
2149
  getConfirmedTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerTransactions).bind(this, [types_1.TransactionStatus.confirmed], chainId),
2165
2150
  });
2166
- }, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ provider, blockTracker, chainId, networkClientId, }) {
2167
- const ethQuery = new eth_query_1.default(provider);
2151
+ }, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ blockTracker, networkClientId, }) {
2152
+ const chainId = (0, provider_1.getChainId)({ messenger: this.messenger, networkClientId });
2168
2153
  const pendingTransactionTracker = new PendingTransactionTracker_1.PendingTransactionTracker({
2169
2154
  blockTracker,
2170
- getChainId: () => chainId,
2171
- getEthQuery: () => ethQuery,
2172
2155
  getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
2173
2156
  chainId,
2174
2157
  }),
2175
- getNetworkClientId: () => networkClientId,
2176
2158
  getTransactions: () => this.state.transactions,
2177
2159
  hooks: {
2178
2160
  beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
@@ -2180,7 +2162,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2180
2162
  isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2181
2163
  isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2182
2164
  messenger: this.messenger,
2183
- publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
2165
+ networkClientId,
2166
+ publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta, {
2184
2167
  skipSubmitHistory: true,
2185
2168
  }),
2186
2169
  });
@@ -2208,9 +2191,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2208
2191
  ], address, chainId);
2209
2192
  const externalPendingTransactions = __classPrivateFieldGet(this, _TransactionController_getExternalPendingTransactions, "f").call(this, address, chainId);
2210
2193
  return [...standardPendingTransactions, ...externalPendingTransactions];
2211
- }, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(ethQuery, transactionMeta) {
2194
+ }, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(transactionMeta) {
2212
2195
  try {
2213
- return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta);
2196
+ return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta);
2214
2197
  }
2215
2198
  catch (error) {
2216
2199
  if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionAlreadyConfirmedError).call(this, error)) {
@@ -2278,7 +2261,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2278
2261
  const balanceChangesResult = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, balance_changes_1.getBalanceChanges)({
2279
2262
  blockTime,
2280
2263
  chainId,
2281
- ethQuery: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
2264
+ messenger: this.messenger,
2265
+ networkClientId,
2282
2266
  getSimulationConfig: (url, opts) => {
2283
2267
  return __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").call(this, url, {
2284
2268
  txMeta: transactionMeta,
@@ -2379,13 +2363,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2379
2363
  submitHistory.unshift(submitHistoryEntry);
2380
2364
  });
2381
2365
  }, _TransactionController_updateGasEstimate = async function _TransactionController_updateGasEstimate(transactionMeta) {
2382
- const { chainId, networkClientId } = transactionMeta;
2366
+ const { networkClientId } = transactionMeta;
2383
2367
  const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
2384
2368
  .configuration.type === network_controller_1.NetworkClientType.Custom;
2385
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2386
2369
  await (0, gas_1.updateGas)({
2387
- chainId,
2388
- ethQuery,
2389
2370
  isCustomNetwork,
2390
2371
  isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
2391
2372
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
@@ -2464,14 +2445,15 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2464
2445
  updateTransaction(txMeta);
2465
2446
  });
2466
2447
  (0, logger_1.projectLogger)('Updated transaction with afterSimulate data', updatedTransactionMeta);
2467
- }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ ethQuery, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2448
+ }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ networkClientId, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2468
2449
  let transactionHash;
2469
2450
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
2470
2451
  const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
2471
2452
  ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2472
2453
  // eslint-disable-next-line require-atomic-updates
2473
- transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2454
+ transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, {
2474
2455
  ...transactionMeta,
2456
+ networkClientId,
2475
2457
  rawTx: signedTx,
2476
2458
  }));
2477
2459
  });