@metamask/transaction-controller 27.0.0 → 28.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 (107) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/dist/TransactionController.js +15 -15
  3. package/dist/TransactionController.mjs +14 -14
  4. package/dist/{chunk-7HNSDVVO.mjs → chunk-2XFBWPHD.mjs} +2 -2
  5. package/dist/{chunk-5WFLNKCL.js → chunk-2XKEAKQG.js} +11 -5
  6. package/dist/chunk-2XKEAKQG.js.map +1 -0
  7. package/dist/{chunk-C3UHJPYJ.js → chunk-3JEUO765.js} +6 -6
  8. package/dist/{chunk-V5X6MZHN.js → chunk-3VF7ZGRV.js} +126 -63
  9. package/dist/chunk-3VF7ZGRV.js.map +1 -0
  10. package/dist/{chunk-DTMKGTYC.mjs → chunk-4VLQV2GA.mjs} +48 -2
  11. package/dist/chunk-4VLQV2GA.mjs.map +1 -0
  12. package/dist/{chunk-JW6P2G5A.mjs → chunk-53IYIDVS.mjs} +2 -2
  13. package/dist/{chunk-GRQB2ARK.js → chunk-AO3AE3L7.js} +3 -3
  14. package/dist/{chunk-I7VD6IET.js → chunk-CPYXP2OC.js} +3 -3
  15. package/dist/{chunk-KKCD5UMP.mjs → chunk-CWWZQZVR.mjs} +2 -2
  16. package/dist/{chunk-RIYIJTEU.mjs → chunk-DOX6H5UJ.mjs} +2 -2
  17. package/dist/{chunk-HLG525BC.mjs → chunk-DRSMLO7B.mjs} +2 -2
  18. package/dist/{chunk-QG2WVQE3.js → chunk-ETMW527M.js} +9 -9
  19. package/dist/{chunk-VP2DBWOT.js → chunk-F247MMTE.js} +3 -3
  20. package/dist/{chunk-H7O3Y7EQ.mjs → chunk-H6NWVGHL.mjs} +85 -48
  21. package/dist/chunk-H6NWVGHL.mjs.map +1 -0
  22. package/dist/{chunk-35MG26Y3.mjs → chunk-HHK4QSNF.mjs} +44 -34
  23. package/dist/chunk-HHK4QSNF.mjs.map +1 -0
  24. package/dist/{chunk-UUSYJGGQ.js → chunk-L337FYVS.js} +3 -3
  25. package/dist/{chunk-A4P4B3OF.mjs → chunk-L7ZKSKEI.mjs} +125 -62
  26. package/dist/chunk-L7ZKSKEI.mjs.map +1 -0
  27. package/dist/{chunk-WIZVJM2B.js → chunk-LQS2M5QR.js} +48 -2
  28. package/dist/chunk-LQS2M5QR.js.map +1 -0
  29. package/dist/{chunk-6V2LR6JL.js → chunk-LYD4TEKH.js} +5 -5
  30. package/dist/{chunk-W3CS5GRD.mjs → chunk-NOHEXQ7Y.mjs} +11 -5
  31. package/dist/chunk-NOHEXQ7Y.mjs.map +1 -0
  32. package/dist/{chunk-TZEAWUXE.mjs → chunk-P74YLPJO.mjs} +2 -2
  33. package/dist/{chunk-TJXPMOA6.mjs → chunk-RBF6CW7D.mjs} +2 -2
  34. package/dist/{chunk-FTB6MCSH.mjs → chunk-RXRJSBSF.mjs} +2 -2
  35. package/dist/{chunk-RU6NJIUD.mjs → chunk-TKWTUPCQ.mjs} +3 -3
  36. package/dist/{chunk-XZILQVNW.js → chunk-UBXRAA6G.js} +3 -3
  37. package/dist/{chunk-HUVOOFOM.js → chunk-V6UIRCOF.js} +43 -33
  38. package/dist/chunk-V6UIRCOF.js.map +1 -0
  39. package/dist/{chunk-QTQSCTQA.js → chunk-WLCFETHR.js} +10 -10
  40. package/dist/{chunk-YS23EOJX.js → chunk-X5WPBDI5.js} +100 -63
  41. package/dist/chunk-X5WPBDI5.js.map +1 -0
  42. package/dist/constants.js +6 -2
  43. package/dist/constants.mjs +5 -1
  44. package/dist/gas-flows/DefaultGasFeeFlow.js +5 -5
  45. package/dist/gas-flows/DefaultGasFeeFlow.mjs +4 -4
  46. package/dist/gas-flows/LineaGasFeeFlow.js +6 -6
  47. package/dist/gas-flows/LineaGasFeeFlow.mjs +5 -5
  48. package/dist/gas-flows/OptimismLayer1GasFeeFlow.js +3 -3
  49. package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +2 -2
  50. package/dist/helpers/EtherscanRemoteTransactionSource.js +4 -4
  51. package/dist/helpers/EtherscanRemoteTransactionSource.mjs +3 -3
  52. package/dist/helpers/GasFeePoller.js +3 -3
  53. package/dist/helpers/GasFeePoller.mjs +2 -2
  54. package/dist/helpers/MultichainTrackingHelper.js +5 -5
  55. package/dist/helpers/MultichainTrackingHelper.mjs +4 -4
  56. package/dist/index.js +15 -15
  57. package/dist/index.mjs +14 -14
  58. package/dist/tsconfig.build.tsbuildinfo +1 -1
  59. package/dist/types/TransactionController.d.ts +11 -6
  60. package/dist/types/TransactionController.d.ts.map +1 -1
  61. package/dist/types/constants.d.ts +22 -0
  62. package/dist/types/constants.d.ts.map +1 -1
  63. package/dist/types/helpers/GasFeePoller.d.ts.map +1 -1
  64. package/dist/types/utils/layer1-gas-fee-flow.d.ts.map +1 -1
  65. package/dist/types/utils/simulation.d.ts +7 -0
  66. package/dist/types/utils/simulation.d.ts.map +1 -1
  67. package/dist/utils/etherscan.js +3 -3
  68. package/dist/utils/etherscan.mjs +2 -2
  69. package/dist/utils/gas-fees.js +4 -4
  70. package/dist/utils/gas-fees.mjs +3 -3
  71. package/dist/utils/gas.js +3 -3
  72. package/dist/utils/gas.mjs +2 -2
  73. package/dist/utils/layer1-gas-fee-flow.js +2 -2
  74. package/dist/utils/layer1-gas-fee-flow.mjs +1 -1
  75. package/dist/utils/simulation.js +5 -2
  76. package/dist/utils/simulation.mjs +4 -1
  77. package/dist/utils/swaps.js +3 -3
  78. package/dist/utils/swaps.mjs +2 -2
  79. package/package.json +2 -2
  80. package/dist/chunk-35MG26Y3.mjs.map +0 -1
  81. package/dist/chunk-5WFLNKCL.js.map +0 -1
  82. package/dist/chunk-A4P4B3OF.mjs.map +0 -1
  83. package/dist/chunk-DTMKGTYC.mjs.map +0 -1
  84. package/dist/chunk-H7O3Y7EQ.mjs.map +0 -1
  85. package/dist/chunk-HUVOOFOM.js.map +0 -1
  86. package/dist/chunk-V5X6MZHN.js.map +0 -1
  87. package/dist/chunk-W3CS5GRD.mjs.map +0 -1
  88. package/dist/chunk-WIZVJM2B.js.map +0 -1
  89. package/dist/chunk-YS23EOJX.js.map +0 -1
  90. /package/dist/{chunk-7HNSDVVO.mjs.map → chunk-2XFBWPHD.mjs.map} +0 -0
  91. /package/dist/{chunk-C3UHJPYJ.js.map → chunk-3JEUO765.js.map} +0 -0
  92. /package/dist/{chunk-JW6P2G5A.mjs.map → chunk-53IYIDVS.mjs.map} +0 -0
  93. /package/dist/{chunk-GRQB2ARK.js.map → chunk-AO3AE3L7.js.map} +0 -0
  94. /package/dist/{chunk-I7VD6IET.js.map → chunk-CPYXP2OC.js.map} +0 -0
  95. /package/dist/{chunk-KKCD5UMP.mjs.map → chunk-CWWZQZVR.mjs.map} +0 -0
  96. /package/dist/{chunk-RIYIJTEU.mjs.map → chunk-DOX6H5UJ.mjs.map} +0 -0
  97. /package/dist/{chunk-HLG525BC.mjs.map → chunk-DRSMLO7B.mjs.map} +0 -0
  98. /package/dist/{chunk-QG2WVQE3.js.map → chunk-ETMW527M.js.map} +0 -0
  99. /package/dist/{chunk-VP2DBWOT.js.map → chunk-F247MMTE.js.map} +0 -0
  100. /package/dist/{chunk-UUSYJGGQ.js.map → chunk-L337FYVS.js.map} +0 -0
  101. /package/dist/{chunk-6V2LR6JL.js.map → chunk-LYD4TEKH.js.map} +0 -0
  102. /package/dist/{chunk-TZEAWUXE.mjs.map → chunk-P74YLPJO.mjs.map} +0 -0
  103. /package/dist/{chunk-TJXPMOA6.mjs.map → chunk-RBF6CW7D.mjs.map} +0 -0
  104. /package/dist/{chunk-FTB6MCSH.mjs.map → chunk-RXRJSBSF.mjs.map} +0 -0
  105. /package/dist/{chunk-RU6NJIUD.mjs.map → chunk-TKWTUPCQ.mjs.map} +0 -0
  106. /package/dist/{chunk-XZILQVNW.js.map → chunk-UBXRAA6G.js.map} +0 -0
  107. /package/dist/{chunk-QTQSCTQA.js.map → chunk-WLCFETHR.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunk5WFLNKCLjs = require('./chunk-5WFLNKCL.js');
3
+ var _chunk2XKEAKQGjs = require('./chunk-2XKEAKQG.js');
4
4
 
5
5
 
6
6
  var _chunkUH7FNVKSjs = require('./chunk-UH7FNVKS.js');
@@ -20,7 +20,7 @@ var _utils = require('@metamask/utils');
20
20
  var _events = require('events'); var _events2 = _interopRequireDefault(_events);
21
21
  var log = _utils.createModuleLogger.call(void 0, _chunkS6VGOPUYjs.projectLogger, "gas-fee-poller");
22
22
  var INTERVAL_MILLISECONDS = 1e4;
23
- var _gasFeeFlows, _getGasFeeControllerEstimates, _getProvider, _getTransactions, _layer1GasFeeFlows, _timeout, _running, _start, start_fn, _stop, stop_fn, _onTimeout, onTimeout_fn, _updateTransactionGasFeeEstimates, updateTransactionGasFeeEstimates_fn, _updateTransactionSuggestedFees, updateTransactionSuggestedFees_fn, _updateTransactionLayer1GasFee, updateTransactionLayer1GasFee_fn, _getUnapprovedTransactions, getUnapprovedTransactions_fn;
23
+ var _gasFeeFlows, _getGasFeeControllerEstimates, _getProvider, _getTransactions, _layer1GasFeeFlows, _timeout, _running, _start, start_fn, _stop, stop_fn, _onTimeout, onTimeout_fn, _updateUnapprovedTransactions, updateUnapprovedTransactions_fn, _updateUnapprovedTransaction, updateUnapprovedTransaction_fn, _updateTransactionGasFeeEstimates, updateTransactionGasFeeEstimates_fn, _updateTransactionLayer1GasFee, updateTransactionLayer1GasFee_fn, _getUnapprovedTransactions, getUnapprovedTransactions_fn;
24
24
  var GasFeePoller = class {
25
25
  /**
26
26
  * Constructs a new instance of the GasFeePoller.
@@ -43,8 +43,9 @@ var GasFeePoller = class {
43
43
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _start);
44
44
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _stop);
45
45
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _onTimeout);
46
+ _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _updateUnapprovedTransactions);
47
+ _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _updateUnapprovedTransaction);
46
48
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _updateTransactionGasFeeEstimates);
47
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _updateTransactionSuggestedFees);
48
49
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _updateTransactionLayer1GasFee);
49
50
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _getUnapprovedTransactions);
50
51
  this.hub = new (0, _events2.default)();
@@ -98,30 +99,44 @@ stop_fn = function() {
98
99
  };
99
100
  _onTimeout = new WeakSet();
100
101
  onTimeout_fn = async function() {
101
- await _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionGasFeeEstimates, updateTransactionGasFeeEstimates_fn).call(this);
102
+ await _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateUnapprovedTransactions, updateUnapprovedTransactions_fn).call(this);
102
103
  _chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _timeout, setTimeout(() => _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _onTimeout, onTimeout_fn).call(this), INTERVAL_MILLISECONDS));
103
104
  };
104
- _updateTransactionGasFeeEstimates = new WeakSet();
105
- updateTransactionGasFeeEstimates_fn = async function() {
105
+ _updateUnapprovedTransactions = new WeakSet();
106
+ updateUnapprovedTransactions_fn = async function() {
106
107
  const unapprovedTransactions = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getUnapprovedTransactions, getUnapprovedTransactions_fn).call(this);
107
- log("Found unapproved transactions", {
108
- count: unapprovedTransactions.length
109
- });
108
+ if (unapprovedTransactions.length) {
109
+ log("Found unapproved transactions", unapprovedTransactions.length);
110
+ }
110
111
  await Promise.all(
111
- unapprovedTransactions.flatMap((tx) => [
112
- _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionSuggestedFees, updateTransactionSuggestedFees_fn).call(this, tx),
113
- _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionLayer1GasFee, updateTransactionLayer1GasFee_fn).call(this, tx)
114
- ])
112
+ unapprovedTransactions.flatMap(
113
+ (tx) => _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateUnapprovedTransaction, updateUnapprovedTransaction_fn).call(this, tx)
114
+ )
115
115
  );
116
116
  };
117
- _updateTransactionSuggestedFees = new WeakSet();
118
- updateTransactionSuggestedFees_fn = async function(transactionMeta) {
117
+ _updateUnapprovedTransaction = new WeakSet();
118
+ updateUnapprovedTransaction_fn = async function(transactionMeta) {
119
+ const { id } = transactionMeta;
120
+ const [gasFeeEstimatesResponse, layer1GasFee] = await Promise.all([
121
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionGasFeeEstimates, updateTransactionGasFeeEstimates_fn).call(this, transactionMeta),
122
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionLayer1GasFee, updateTransactionLayer1GasFee_fn).call(this, transactionMeta)
123
+ ]);
124
+ if (!gasFeeEstimatesResponse && !layer1GasFee) {
125
+ return;
126
+ }
127
+ this.hub.emit("transaction-updated", {
128
+ transactionId: id,
129
+ gasFeeEstimates: gasFeeEstimatesResponse?.gasFeeEstimates,
130
+ gasFeeEstimatesLoaded: gasFeeEstimatesResponse?.gasFeeEstimatesLoaded,
131
+ layer1GasFee
132
+ });
133
+ };
134
+ _updateTransactionGasFeeEstimates = new WeakSet();
135
+ updateTransactionGasFeeEstimates_fn = async function(transactionMeta) {
119
136
  const { chainId, networkClientId } = transactionMeta;
120
137
  const ethQuery = new (0, _ethquery2.default)(_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _getProvider).call(this, chainId, networkClientId));
121
138
  const gasFeeFlow = _chunkUH7FNVKSjs.getGasFeeFlow.call(void 0, transactionMeta, _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _gasFeeFlows));
122
- if (!gasFeeFlow) {
123
- log("No gas fee flow found", transactionMeta.id);
124
- } else {
139
+ if (gasFeeFlow) {
125
140
  log(
126
141
  "Found gas fee flow",
127
142
  gasFeeFlow.constructor.name,
@@ -143,32 +158,27 @@ updateTransactionSuggestedFees_fn = async function(transactionMeta) {
143
158
  }
144
159
  }
145
160
  if (!gasFeeEstimates && transactionMeta.gasFeeEstimatesLoaded) {
146
- return;
161
+ return void 0;
147
162
  }
148
- const updatedTransactionMeta = {
149
- ...transactionMeta,
163
+ log("Updated gas fee estimates", {
150
164
  gasFeeEstimates,
151
- gasFeeEstimatesLoaded: true
152
- };
153
- this.hub.emit("transaction-updated", updatedTransactionMeta);
154
- log("Updated suggested gas fees", {
155
- gasFeeEstimates: updatedTransactionMeta.gasFeeEstimates,
156
- transaction: updatedTransactionMeta.id
165
+ transaction: transactionMeta.id
157
166
  });
167
+ return { gasFeeEstimates, gasFeeEstimatesLoaded: true };
158
168
  };
159
169
  _updateTransactionLayer1GasFee = new WeakSet();
160
170
  updateTransactionLayer1GasFee_fn = async function(transactionMeta) {
161
171
  const { chainId, networkClientId } = transactionMeta;
162
172
  const provider = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _getProvider).call(this, chainId, networkClientId);
163
- await _chunk5WFLNKCLjs.updateTransactionLayer1GasFee.call(void 0, {
164
- provider,
173
+ const layer1GasFee = await _chunk2XKEAKQGjs.getTransactionLayer1GasFee.call(void 0, {
165
174
  layer1GasFeeFlows: _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _layer1GasFeeFlows),
175
+ provider,
166
176
  transactionMeta
167
177
  });
168
- if (transactionMeta.layer1GasFee === void 0) {
169
- return;
178
+ if (layer1GasFee) {
179
+ log("Updated layer 1 gas fee", layer1GasFee, transactionMeta.id);
170
180
  }
171
- this.hub.emit("transaction-updated", transactionMeta);
181
+ return layer1GasFee;
172
182
  };
173
183
  _getUnapprovedTransactions = new WeakSet();
174
184
  getUnapprovedTransactions_fn = function() {
@@ -180,4 +190,4 @@ getUnapprovedTransactions_fn = function() {
180
190
 
181
191
 
182
192
  exports.GasFeePoller = GasFeePoller;
183
- //# sourceMappingURL=chunk-HUVOOFOM.js.map
193
+ //# sourceMappingURL=chunk-V6UIRCOF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/helpers/GasFeePoller.ts"],"names":[],"mappings":"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","sourcesContent":["import EthQuery from '@metamask/eth-query';\nimport type { GasFeeState } from '@metamask/gas-fee-controller';\nimport type { NetworkClientId, Provider } from '@metamask/network-controller';\nimport type { Hex } from '@metamask/utils';\nimport { createModuleLogger } from '@metamask/utils';\nimport EventEmitter from 'events';\n\nimport { projectLogger } from '../logger';\nimport type {\n GasFeeEstimates,\n GasFeeFlow,\n GasFeeFlowRequest,\n Layer1GasFeeFlow,\n} from '../types';\nimport { TransactionStatus, type TransactionMeta } from '../types';\nimport { getGasFeeFlow } from '../utils/gas-flow';\nimport { getTransactionLayer1GasFee } from '../utils/layer1-gas-fee-flow';\n\nconst log = createModuleLogger(projectLogger, 'gas-fee-poller');\n\nconst INTERVAL_MILLISECONDS = 10000;\n\n/**\n * Automatically polls and updates suggested gas fees on unapproved transactions.\n */\nexport class GasFeePoller {\n hub: EventEmitter = new EventEmitter();\n\n #gasFeeFlows: GasFeeFlow[];\n\n #getGasFeeControllerEstimates: () => Promise<GasFeeState>;\n\n #getProvider: (chainId: Hex, networkClientId?: NetworkClientId) => Provider;\n\n #getTransactions: () => TransactionMeta[];\n\n #layer1GasFeeFlows: Layer1GasFeeFlow[];\n\n #timeout: ReturnType<typeof setTimeout> | undefined;\n\n #running = false;\n\n /**\n * Constructs a new instance of the GasFeePoller.\n * @param options - The options for this instance.\n * @param options.gasFeeFlows - The gas fee flows to use to obtain suitable gas fees.\n * @param options.getGasFeeControllerEstimates - Callback to obtain the default fee estimates.\n * @param options.getProvider - Callback to obtain a provider instance.\n * @param options.getTransactions - Callback to obtain the transaction data.\n * @param options.layer1GasFeeFlows - The layer 1 gas fee flows to use to obtain suitable layer 1 gas fees.\n * @param options.onStateChange - Callback to register a listener for controller state changes.\n */\n constructor({\n gasFeeFlows,\n getGasFeeControllerEstimates,\n getProvider,\n getTransactions,\n layer1GasFeeFlows,\n onStateChange,\n }: {\n gasFeeFlows: GasFeeFlow[];\n getGasFeeControllerEstimates: () => Promise<GasFeeState>;\n getProvider: (chainId: Hex, networkClientId?: NetworkClientId) => Provider;\n getTransactions: () => TransactionMeta[];\n layer1GasFeeFlows: Layer1GasFeeFlow[];\n onStateChange: (listener: () => void) => void;\n }) {\n this.#gasFeeFlows = gasFeeFlows;\n this.#layer1GasFeeFlows = layer1GasFeeFlows;\n this.#getGasFeeControllerEstimates = getGasFeeControllerEstimates;\n this.#getProvider = getProvider;\n this.#getTransactions = getTransactions;\n\n onStateChange(() => {\n const unapprovedTransactions = this.#getUnapprovedTransactions();\n\n if (unapprovedTransactions.length) {\n this.#start();\n } else {\n this.#stop();\n }\n });\n }\n\n #start() {\n if (this.#running) {\n return;\n }\n\n // Intentionally not awaiting since this starts the timeout chain.\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.#onTimeout();\n\n this.#running = true;\n\n log('Started polling');\n }\n\n #stop() {\n if (!this.#running) {\n return;\n }\n\n clearTimeout(this.#timeout);\n\n this.#timeout = undefined;\n this.#running = false;\n\n log('Stopped polling');\n }\n\n async #onTimeout() {\n await this.#updateUnapprovedTransactions();\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.#timeout = setTimeout(() => this.#onTimeout(), INTERVAL_MILLISECONDS);\n }\n\n async #updateUnapprovedTransactions() {\n const unapprovedTransactions = this.#getUnapprovedTransactions();\n\n if (unapprovedTransactions.length) {\n log('Found unapproved transactions', unapprovedTransactions.length);\n }\n\n await Promise.all(\n unapprovedTransactions.flatMap((tx) =>\n this.#updateUnapprovedTransaction(tx),\n ),\n );\n }\n\n async #updateUnapprovedTransaction(transactionMeta: TransactionMeta) {\n const { id } = transactionMeta;\n\n const [gasFeeEstimatesResponse, layer1GasFee] = await Promise.all([\n this.#updateTransactionGasFeeEstimates(transactionMeta),\n this.#updateTransactionLayer1GasFee(transactionMeta),\n ]);\n\n if (!gasFeeEstimatesResponse && !layer1GasFee) {\n return;\n }\n\n this.hub.emit('transaction-updated', {\n transactionId: id,\n gasFeeEstimates: gasFeeEstimatesResponse?.gasFeeEstimates,\n gasFeeEstimatesLoaded: gasFeeEstimatesResponse?.gasFeeEstimatesLoaded,\n layer1GasFee,\n });\n }\n\n async #updateTransactionGasFeeEstimates(\n transactionMeta: TransactionMeta,\n ): Promise<\n | { gasFeeEstimates?: GasFeeEstimates; gasFeeEstimatesLoaded: boolean }\n | undefined\n > {\n const { chainId, networkClientId } = transactionMeta;\n\n const ethQuery = new EthQuery(this.#getProvider(chainId, networkClientId));\n const gasFeeFlow = getGasFeeFlow(transactionMeta, this.#gasFeeFlows);\n\n if (gasFeeFlow) {\n log(\n 'Found gas fee flow',\n gasFeeFlow.constructor.name,\n transactionMeta.id,\n );\n }\n\n const request: GasFeeFlowRequest = {\n ethQuery,\n getGasFeeControllerEstimates: this.#getGasFeeControllerEstimates,\n transactionMeta,\n };\n\n let gasFeeEstimates: GasFeeEstimates | undefined;\n\n if (gasFeeFlow) {\n try {\n const response = await gasFeeFlow.getGasFees(request);\n gasFeeEstimates = response.estimates;\n } catch (error) {\n log('Failed to get suggested gas fees', transactionMeta.id, error);\n }\n }\n\n if (!gasFeeEstimates && transactionMeta.gasFeeEstimatesLoaded) {\n return undefined;\n }\n\n log('Updated gas fee estimates', {\n gasFeeEstimates,\n transaction: transactionMeta.id,\n });\n\n return { gasFeeEstimates, gasFeeEstimatesLoaded: true };\n }\n\n async #updateTransactionLayer1GasFee(\n transactionMeta: TransactionMeta,\n ): Promise<Hex | undefined> {\n const { chainId, networkClientId } = transactionMeta;\n const provider = this.#getProvider(chainId, networkClientId);\n\n const layer1GasFee = await getTransactionLayer1GasFee({\n layer1GasFeeFlows: this.#layer1GasFeeFlows,\n provider,\n transactionMeta,\n });\n\n if (layer1GasFee) {\n log('Updated layer 1 gas fee', layer1GasFee, transactionMeta.id);\n }\n\n return layer1GasFee;\n }\n\n #getUnapprovedTransactions() {\n return this.#getTransactions().filter(\n (tx) => tx.status === TransactionStatus.unapproved,\n );\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  var _chunkUGFBA4GVjs = require('./chunk-UGFBA4GV.js');
4
4
 
5
5
 
6
- var _chunkWIZVJM2Bjs = require('./chunk-WIZVJM2B.js');
6
+ var _chunkLQS2M5QRjs = require('./chunk-LQS2M5QR.js');
7
7
 
8
8
 
9
9
 
@@ -57,15 +57,15 @@ var ZKSYNC_ERA_SWAPS_TOKEN_OBJECT = {
57
57
  ...ETH_SWAPS_TOKEN_OBJECT
58
58
  };
59
59
  var SWAPS_CHAINID_DEFAULT_TOKEN_MAP = {
60
- [_chunkWIZVJM2Bjs.CHAIN_IDS.MAINNET]: ETH_SWAPS_TOKEN_OBJECT,
60
+ [_chunkLQS2M5QRjs.CHAIN_IDS.MAINNET]: ETH_SWAPS_TOKEN_OBJECT,
61
61
  [SWAPS_TESTNET_CHAIN_ID]: TEST_ETH_SWAPS_TOKEN_OBJECT,
62
- [_chunkWIZVJM2Bjs.CHAIN_IDS.BSC]: BNB_SWAPS_TOKEN_OBJECT,
63
- [_chunkWIZVJM2Bjs.CHAIN_IDS.POLYGON]: MATIC_SWAPS_TOKEN_OBJECT,
64
- [_chunkWIZVJM2Bjs.CHAIN_IDS.GOERLI]: GOERLI_SWAPS_TOKEN_OBJECT,
65
- [_chunkWIZVJM2Bjs.CHAIN_IDS.AVALANCHE]: AVAX_SWAPS_TOKEN_OBJECT,
66
- [_chunkWIZVJM2Bjs.CHAIN_IDS.OPTIMISM]: OPTIMISM_SWAPS_TOKEN_OBJECT,
67
- [_chunkWIZVJM2Bjs.CHAIN_IDS.ARBITRUM]: ARBITRUM_SWAPS_TOKEN_OBJECT,
68
- [_chunkWIZVJM2Bjs.CHAIN_IDS.ZKSYNC_ERA]: ZKSYNC_ERA_SWAPS_TOKEN_OBJECT
62
+ [_chunkLQS2M5QRjs.CHAIN_IDS.BSC]: BNB_SWAPS_TOKEN_OBJECT,
63
+ [_chunkLQS2M5QRjs.CHAIN_IDS.POLYGON]: MATIC_SWAPS_TOKEN_OBJECT,
64
+ [_chunkLQS2M5QRjs.CHAIN_IDS.GOERLI]: GOERLI_SWAPS_TOKEN_OBJECT,
65
+ [_chunkLQS2M5QRjs.CHAIN_IDS.AVALANCHE]: AVAX_SWAPS_TOKEN_OBJECT,
66
+ [_chunkLQS2M5QRjs.CHAIN_IDS.OPTIMISM]: OPTIMISM_SWAPS_TOKEN_OBJECT,
67
+ [_chunkLQS2M5QRjs.CHAIN_IDS.ARBITRUM]: ARBITRUM_SWAPS_TOKEN_OBJECT,
68
+ [_chunkLQS2M5QRjs.CHAIN_IDS.ZKSYNC_ERA]: ZKSYNC_ERA_SWAPS_TOKEN_OBJECT
69
69
  };
70
70
  var SWAP_TRANSACTION_TYPES = [
71
71
  "swap" /* swap */,
@@ -208,4 +208,4 @@ function sleep(ms) {
208
208
 
209
209
 
210
210
  exports.UPDATE_POST_TX_BALANCE_TIMEOUT = UPDATE_POST_TX_BALANCE_TIMEOUT; exports.UPDATE_POST_TX_BALANCE_ATTEMPTS = UPDATE_POST_TX_BALANCE_ATTEMPTS; exports.DEFAULT_TOKEN_ADDRESS = DEFAULT_TOKEN_ADDRESS; exports.SWAPS_CHAINID_DEFAULT_TOKEN_MAP = SWAPS_CHAINID_DEFAULT_TOKEN_MAP; exports.SWAP_TRANSACTION_TYPES = SWAP_TRANSACTION_TYPES; exports.updateSwapsTransaction = updateSwapsTransaction; exports.updatePostTransactionBalance = updatePostTransactionBalance;
211
- //# sourceMappingURL=chunk-QTQSCTQA.js.map
211
+ //# sourceMappingURL=chunk-WLCFETHR.js.map
@@ -9,7 +9,7 @@ var _chunkVH47Q6TSjs = require('./chunk-VH47Q6TS.js');
9
9
 
10
10
 
11
11
 
12
- var _chunkGRQB2ARKjs = require('./chunk-GRQB2ARK.js');
12
+ var _chunkAO3AE3L7js = require('./chunk-AO3AE3L7.js');
13
13
 
14
14
 
15
15
 
@@ -20,26 +20,26 @@ var _chunkQP75SWIQjs = require('./chunk-QP75SWIQ.js');
20
20
  var _chunkZNZEJDOEjs = require('./chunk-ZNZEJDOE.js');
21
21
 
22
22
 
23
- var _chunkV5X6MZHNjs = require('./chunk-V5X6MZHN.js');
23
+ var _chunk3VF7ZGRVjs = require('./chunk-3VF7ZGRV.js');
24
24
 
25
25
 
26
- var _chunkQG2WVQE3js = require('./chunk-QG2WVQE3.js');
26
+ var _chunkETMW527Mjs = require('./chunk-ETMW527M.js');
27
27
 
28
28
 
29
- var _chunkHUVOOFOMjs = require('./chunk-HUVOOFOM.js');
29
+ var _chunkV6UIRCOFjs = require('./chunk-V6UIRCOF.js');
30
30
 
31
31
 
32
32
 
33
- var _chunk5WFLNKCLjs = require('./chunk-5WFLNKCL.js');
33
+ var _chunk2XKEAKQGjs = require('./chunk-2XKEAKQG.js');
34
34
 
35
35
 
36
36
  var _chunkDTDTOMTBjs = require('./chunk-DTDTOMTB.js');
37
37
 
38
38
 
39
- var _chunkI7VD6IETjs = require('./chunk-I7VD6IET.js');
39
+ var _chunkCPYXP2OCjs = require('./chunk-CPYXP2OC.js');
40
40
 
41
41
 
42
- var _chunkC3UHJPYJjs = require('./chunk-C3UHJPYJ.js');
42
+ var _chunk3JEUO765js = require('./chunk-3JEUO765.js');
43
43
 
44
44
 
45
45
  var _chunk5KMU2IATjs = require('./chunk-5KMU2IAT.js');
@@ -48,17 +48,17 @@ var _chunk5KMU2IATjs = require('./chunk-5KMU2IAT.js');
48
48
  var _chunk7LXE4KHVjs = require('./chunk-7LXE4KHV.js');
49
49
 
50
50
 
51
- var _chunkXZILQVNWjs = require('./chunk-XZILQVNW.js');
51
+ var _chunkUBXRAA6Gjs = require('./chunk-UBXRAA6G.js');
52
52
 
53
53
 
54
- var _chunk6V2LR6JLjs = require('./chunk-6V2LR6JL.js');
54
+ var _chunkLYD4TEKHjs = require('./chunk-LYD4TEKH.js');
55
55
 
56
56
 
57
- var _chunkUUSYJGGQjs = require('./chunk-UUSYJGGQ.js');
57
+ var _chunkL337FYVSjs = require('./chunk-L337FYVS.js');
58
58
 
59
59
 
60
60
 
61
- var _chunkQTQSCTQAjs = require('./chunk-QTQSCTQA.js');
61
+ var _chunkWLCFETHRjs = require('./chunk-WLCFETHR.js');
62
62
 
63
63
 
64
64
 
@@ -134,7 +134,7 @@ function getDefaultTransactionControllerState() {
134
134
  lastFetchedBlockNumbers: {}
135
135
  };
136
136
  }
137
- var _internalEvents, _incomingTransactionOptions, _pendingTransactionOptions, _transactionHistoryLimit, _isSimulationEnabled, _multichainTrackingHelper, _createNonceTracker, createNonceTracker_fn, _createIncomingTransactionHelper, createIncomingTransactionHelper_fn, _createPendingTransactionTracker, createPendingTransactionTracker_fn, _checkForPendingTransactionAndStartPolling, _stopAllTracking, stopAllTracking_fn, _removeIncomingTransactionHelperListeners, removeIncomingTransactionHelperListeners_fn, _addIncomingTransactionHelperListeners, addIncomingTransactionHelperListeners_fn, _removePendingTransactionTrackerListeners, removePendingTransactionTrackerListeners_fn, _addPendingTransactionTrackerListeners, addPendingTransactionTrackerListeners_fn, _getNonceTrackerPendingTransactions, getNonceTrackerPendingTransactions_fn, _getGasFeeFlows, getGasFeeFlows_fn, _getLayer1GasFeeFlows, getLayer1GasFeeFlows_fn, _updateTransactionInternal, updateTransactionInternal_fn, _checkIfTransactionParamsUpdated, checkIfTransactionParamsUpdated_fn, _onTransactionParamsUpdated, onTransactionParamsUpdated_fn, _updateSimulationData, updateSimulationData_fn;
137
+ var _internalEvents, _incomingTransactionOptions, _pendingTransactionOptions, _transactionHistoryLimit, _isSimulationEnabled, _multichainTrackingHelper, _createNonceTracker, createNonceTracker_fn, _createIncomingTransactionHelper, createIncomingTransactionHelper_fn, _createPendingTransactionTracker, createPendingTransactionTracker_fn, _checkForPendingTransactionAndStartPolling, _stopAllTracking, stopAllTracking_fn, _removeIncomingTransactionHelperListeners, removeIncomingTransactionHelperListeners_fn, _addIncomingTransactionHelperListeners, addIncomingTransactionHelperListeners_fn, _removePendingTransactionTrackerListeners, removePendingTransactionTrackerListeners_fn, _addPendingTransactionTrackerListeners, addPendingTransactionTrackerListeners_fn, _getNonceTrackerPendingTransactions, getNonceTrackerPendingTransactions_fn, _getGasFeeFlows, getGasFeeFlows_fn, _getLayer1GasFeeFlows, getLayer1GasFeeFlows_fn, _updateTransactionInternal, updateTransactionInternal_fn, _checkIfTransactionParamsUpdated, checkIfTransactionParamsUpdated_fn, _onTransactionParamsUpdated, onTransactionParamsUpdated_fn, _updateSimulationData, updateSimulationData_fn, _onGasFeePollerTransactionUpdate, onGasFeePollerTransactionUpdate_fn;
138
138
  var TransactionController = class extends _basecontroller.BaseController {
139
139
  /**
140
140
  * Constructs a TransactionController.
@@ -217,6 +217,7 @@ var TransactionController = class extends _basecontroller.BaseController {
217
217
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _checkIfTransactionParamsUpdated);
218
218
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _onTransactionParamsUpdated);
219
219
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _updateSimulationData);
220
+ _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _onGasFeePollerTransactionUpdate);
220
221
  _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _internalEvents, new (0, _events.EventEmitter)());
221
222
  this.inProcessOfSigning = /* @__PURE__ */ new Set();
222
223
  this.mutex = new (0, _asyncmutex.Mutex)();
@@ -260,7 +261,7 @@ var TransactionController = class extends _basecontroller.BaseController {
260
261
  provider,
261
262
  blockTracker
262
263
  });
263
- _chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _multichainTrackingHelper, new (0, _chunkI7VD6IETjs.MultichainTrackingHelper)({
264
+ _chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _multichainTrackingHelper, new (0, _chunkCPYXP2OCjs.MultichainTrackingHelper)({
264
265
  isMultichainEnabled,
265
266
  provider,
266
267
  nonceTracker: this.nonceTracker,
@@ -291,7 +292,7 @@ var TransactionController = class extends _basecontroller.BaseController {
291
292
  }
292
293
  }));
293
294
  _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).initialize();
294
- const etherscanRemoteTransactionSource = new (0, _chunkC3UHJPYJjs.EtherscanRemoteTransactionSource)({
295
+ const etherscanRemoteTransactionSource = new (0, _chunk3JEUO765js.EtherscanRemoteTransactionSource)({
295
296
  includeTokenTransfers: incomingTransactions.includeTokenTransfers
296
297
  });
297
298
  this.incomingTransactionHelper = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _createIncomingTransactionHelper, createIncomingTransactionHelper_fn).call(this, {
@@ -304,7 +305,7 @@ var TransactionController = class extends _basecontroller.BaseController {
304
305
  });
305
306
  this.gasFeeFlows = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getGasFeeFlows, getGasFeeFlows_fn).call(this);
306
307
  this.layer1GasFeeFlows = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getLayer1GasFeeFlows, getLayer1GasFeeFlows_fn).call(this);
307
- const gasFeePoller = new (0, _chunkHUVOOFOMjs.GasFeePoller)({
308
+ const gasFeePoller = new (0, _chunkV6UIRCOFjs.GasFeePoller)({
308
309
  // Default gas fee polling is not yet supported by the clients
309
310
  gasFeeFlows: this.gasFeeFlows.slice(0, -1),
310
311
  getGasFeeControllerEstimates: this.getGasFeeEstimates,
@@ -323,7 +324,7 @@ var TransactionController = class extends _basecontroller.BaseController {
323
324
  });
324
325
  gasFeePoller.hub.on(
325
326
  "transaction-updated",
326
- (transactionMeta) => _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, transactionMeta, { skipHistory: true })
327
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _onGasFeePollerTransactionUpdate, onGasFeePollerTransactionUpdate_fn).bind(this)
327
328
  );
328
329
  this.messagingSystem.subscribe(
329
330
  "TransactionController:stateChange",
@@ -498,7 +499,7 @@ var TransactionController = class extends _basecontroller.BaseController {
498
499
  if (!this.isHistoryDisabled) {
499
500
  addedTransactionMeta = _chunkQP75SWIQjs.addInitialHistorySnapshot.call(void 0, addedTransactionMeta);
500
501
  }
501
- addedTransactionMeta = _chunkQTQSCTQAjs.updateSwapsTransaction.call(void 0,
502
+ addedTransactionMeta = _chunkWLCFETHRjs.updateSwapsTransaction.call(void 0,
502
503
  addedTransactionMeta,
503
504
  transactionType,
504
505
  swaps,
@@ -823,7 +824,7 @@ var TransactionController = class extends _basecontroller.BaseController {
823
824
  const ethQuery = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getEthQuery({
824
825
  networkClientId
825
826
  });
826
- const { estimatedGas, simulationFails } = await _chunkGRQB2ARKjs.estimateGas.call(void 0,
827
+ const { estimatedGas, simulationFails } = await _chunkAO3AE3L7js.estimateGas.call(void 0,
827
828
  transaction,
828
829
  ethQuery
829
830
  );
@@ -840,11 +841,11 @@ var TransactionController = class extends _basecontroller.BaseController {
840
841
  const ethQuery = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getEthQuery({
841
842
  networkClientId
842
843
  });
843
- const { blockGasLimit, estimatedGas, simulationFails } = await _chunkGRQB2ARKjs.estimateGas.call(void 0,
844
+ const { blockGasLimit, estimatedGas, simulationFails } = await _chunkAO3AE3L7js.estimateGas.call(void 0,
844
845
  transaction,
845
846
  ethQuery
846
847
  );
847
- const gas = _chunkGRQB2ARKjs.addGasBuffer.call(void 0, estimatedGas, blockGasLimit, multiplier);
848
+ const gas = _chunkAO3AE3L7js.addGasBuffer.call(void 0, estimatedGas, blockGasLimit, multiplier);
848
849
  return {
849
850
  gas,
850
851
  simulationFails
@@ -857,10 +858,8 @@ var TransactionController = class extends _basecontroller.BaseController {
857
858
  * @param note - A note or update reason to include in the transaction history.
858
859
  */
859
860
  updateTransaction(transactionMeta, note) {
860
- _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, transactionMeta, {
861
- note,
862
- skipHistory: this.isHistoryDisabled
863
- });
861
+ const { id: transactionId } = transactionMeta;
862
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { transactionId, note, skipHistory: this.isHistoryDisabled }, () => ({ ...transactionMeta }));
864
863
  }
865
864
  /**
866
865
  * Update the security alert response for a transaction.
@@ -1156,7 +1155,7 @@ var TransactionController = class extends _basecontroller.BaseController {
1156
1155
  ethQuery
1157
1156
  );
1158
1157
  updatedTransaction.type = type;
1159
- await _chunk5WFLNKCLjs.updateTransactionLayer1GasFee.call(void 0, {
1158
+ await _chunk2XKEAKQGjs.updateTransactionLayer1GasFee.call(void 0, {
1160
1159
  layer1GasFeeFlows: this.layer1GasFeeFlows,
1161
1160
  provider,
1162
1161
  transactionMeta: updatedTransaction
@@ -1367,18 +1366,23 @@ var TransactionController = class extends _basecontroller.BaseController {
1367
1366
  return filteredTransactions;
1368
1367
  }
1369
1368
  /**
1370
- * Utility method to get the layer 1 gas fee for given transaction params.
1369
+ * Determine the layer 1 gas fee for the given transaction parameters.
1371
1370
  *
1372
- * @param chainId - Estimated transaction chainId.
1373
- * @param networkClientId - Estimated transaction networkClientId.
1374
- * @param transactionParams - The transaction params to estimate layer 1 gas fee for.
1371
+ * @param request - The request object.
1372
+ * @param request.transactionParams - The transaction parameters to estimate the layer 1 gas fee for.
1373
+ * @param request.chainId - The ID of the chain where the transaction will be executed.
1374
+ * @param request.networkClientId - The ID of a specific network client to process the transaction.
1375
1375
  */
1376
- async getLayer1GasFee(chainId, networkClientId, transactionParams) {
1376
+ async getLayer1GasFee({
1377
+ transactionParams,
1378
+ chainId,
1379
+ networkClientId
1380
+ }) {
1377
1381
  const provider = _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _multichainTrackingHelper).getProvider({
1378
1382
  networkClientId,
1379
1383
  chainId
1380
1384
  });
1381
- const layer1GasFee = await _chunk5WFLNKCLjs.getTransactionLayer1GasFee.call(void 0, {
1385
+ return await _chunk2XKEAKQGjs.getTransactionLayer1GasFee.call(void 0, {
1382
1386
  layer1GasFeeFlows: this.layer1GasFeeFlows,
1383
1387
  provider,
1384
1388
  transactionMeta: {
@@ -1386,7 +1390,6 @@ var TransactionController = class extends _basecontroller.BaseController {
1386
1390
  chainId
1387
1391
  }
1388
1392
  });
1389
- return layer1GasFee;
1390
1393
  }
1391
1394
  async signExternalTransaction(chainId, transactionParams) {
1392
1395
  if (!this.sign) {
@@ -1463,13 +1466,13 @@ var TransactionController = class extends _basecontroller.BaseController {
1463
1466
  networkClientId,
1464
1467
  chainId
1465
1468
  });
1466
- await _chunkGRQB2ARKjs.updateGas.call(void 0, {
1469
+ await _chunkAO3AE3L7js.updateGas.call(void 0, {
1467
1470
  ethQuery,
1468
1471
  chainId,
1469
1472
  isCustomNetwork,
1470
1473
  txMeta: transactionMeta
1471
1474
  });
1472
- await _chunkUUSYJGGQjs.updateGasFees.call(void 0, {
1475
+ await _chunkL337FYVSjs.updateGasFees.call(void 0, {
1473
1476
  eip1559: isEIP1559Compatible,
1474
1477
  ethQuery,
1475
1478
  gasFeeFlows: this.gasFeeFlows,
@@ -1477,7 +1480,7 @@ var TransactionController = class extends _basecontroller.BaseController {
1477
1480
  getSavedGasFees: this.getSavedGasFees.bind(this),
1478
1481
  txMeta: transactionMeta
1479
1482
  });
1480
- await _chunk5WFLNKCLjs.updateTransactionLayer1GasFee.call(void 0, {
1483
+ await _chunk2XKEAKQGjs.updateTransactionLayer1GasFee.call(void 0, {
1481
1484
  layer1GasFeeFlows: this.layer1GasFeeFlows,
1482
1485
  provider,
1483
1486
  transactionMeta
@@ -2133,7 +2136,7 @@ var TransactionController = class extends _basecontroller.BaseController {
2133
2136
  networkClientId: transactionMeta.networkClientId,
2134
2137
  chainId: transactionMeta.chainId
2135
2138
  });
2136
- const { updatedTransactionMeta, approvalTransactionMeta } = await _chunkQTQSCTQAjs.updatePostTransactionBalance.call(void 0, transactionMeta, {
2139
+ const { updatedTransactionMeta, approvalTransactionMeta } = await _chunkWLCFETHRjs.updatePostTransactionBalance.call(void 0, transactionMeta, {
2137
2140
  ethQuery,
2138
2141
  getTransaction: this.getTransaction.bind(this),
2139
2142
  updateTransaction: this.updateTransaction.bind(this)
@@ -2320,32 +2323,43 @@ getNonceTrackerPendingTransactions_fn = function(chainId, address) {
2320
2323
  };
2321
2324
  _getGasFeeFlows = new WeakSet();
2322
2325
  getGasFeeFlows_fn = function() {
2323
- return [new (0, _chunkXZILQVNWjs.LineaGasFeeFlow)(), new (0, _chunk6V2LR6JLjs.DefaultGasFeeFlow)()];
2326
+ return [new (0, _chunkUBXRAA6Gjs.LineaGasFeeFlow)(), new (0, _chunkLYD4TEKHjs.DefaultGasFeeFlow)()];
2324
2327
  };
2325
2328
  _getLayer1GasFeeFlows = new WeakSet();
2326
2329
  getLayer1GasFeeFlows_fn = function() {
2327
- return [new (0, _chunkQG2WVQE3js.OptimismLayer1GasFeeFlow)()];
2330
+ return [new (0, _chunkETMW527Mjs.OptimismLayer1GasFeeFlow)()];
2328
2331
  };
2329
2332
  _updateTransactionInternal = new WeakSet();
2330
- updateTransactionInternal_fn = function(transactionMeta, { note, skipHistory }) {
2331
- const normalizedTransaction = {
2332
- ...transactionMeta,
2333
- txParams: _chunkUGFBA4GVjs.normalizeTransactionParams.call(void 0, transactionMeta.txParams)
2334
- };
2335
- _chunkVH47Q6TSjs.validateTxParams.call(void 0, normalizedTransaction.txParams);
2336
- const updatedTransactionParams = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _checkIfTransactionParamsUpdated, checkIfTransactionParamsUpdated_fn).call(this, normalizedTransaction);
2337
- const transactionWithUpdatedHistory = skipHistory === true ? normalizedTransaction : _chunkQP75SWIQjs.updateTransactionHistory.call(void 0,
2338
- normalizedTransaction,
2339
- note ?? "Transaction updated"
2340
- );
2333
+ updateTransactionInternal_fn = function({
2334
+ transactionId,
2335
+ note,
2336
+ skipHistory
2337
+ }, callback) {
2338
+ let updatedTransactionParams = [];
2341
2339
  this.update((state) => {
2342
2340
  const index = state.transactions.findIndex(
2343
- ({ id }) => transactionMeta.id === id
2341
+ ({ id }) => id === transactionId
2344
2342
  );
2345
- state.transactions[index] = transactionWithUpdatedHistory;
2343
+ let transactionMeta2 = state.transactions[index];
2344
+ transactionMeta2 = callback(transactionMeta2) ?? transactionMeta2;
2345
+ transactionMeta2.txParams = _chunkUGFBA4GVjs.normalizeTransactionParams.call(void 0,
2346
+ transactionMeta2.txParams
2347
+ );
2348
+ _chunkVH47Q6TSjs.validateTxParams.call(void 0, transactionMeta2.txParams);
2349
+ updatedTransactionParams = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _checkIfTransactionParamsUpdated, checkIfTransactionParamsUpdated_fn).call(this, transactionMeta2);
2350
+ if (skipHistory !== true) {
2351
+ transactionMeta2 = _chunkQP75SWIQjs.updateTransactionHistory.call(void 0,
2352
+ transactionMeta2,
2353
+ note ?? "Transaction updated"
2354
+ );
2355
+ }
2356
+ state.transactions[index] = transactionMeta2;
2346
2357
  });
2358
+ const transactionMeta = this.getTransaction(
2359
+ transactionId
2360
+ );
2347
2361
  if (updatedTransactionParams.length > 0) {
2348
- _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _onTransactionParamsUpdated, onTransactionParamsUpdated_fn).call(this, normalizedTransaction, updatedTransactionParams);
2362
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _onTransactionParamsUpdated, onTransactionParamsUpdated_fn).call(this, transactionMeta, updatedTransactionParams);
2349
2363
  }
2350
2364
  };
2351
2365
  _checkIfTransactionParamsUpdated = new WeakSet();
@@ -2379,7 +2393,7 @@ onTransactionParamsUpdated_fn = function(transactionMeta, updatedParams) {
2379
2393
  };
2380
2394
  _updateSimulationData = new WeakSet();
2381
2395
  updateSimulationData_fn = async function(transactionMeta) {
2382
- const { id, chainId, txParams } = transactionMeta;
2396
+ const { id: transactionId, chainId, txParams } = transactionMeta;
2383
2397
  const { from, to, value, data } = txParams;
2384
2398
  let simulationData = {
2385
2399
  error: {
@@ -2389,8 +2403,10 @@ updateSimulationData_fn = async function(transactionMeta) {
2389
2403
  tokenBalanceChanges: []
2390
2404
  };
2391
2405
  if (_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _isSimulationEnabled).call(this)) {
2392
- _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { ...transactionMeta, simulationData: void 0 }, { skipHistory: true });
2393
- simulationData = await _chunkV5X6MZHNjs.getSimulationData.call(void 0, {
2406
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { transactionId, skipHistory: true }, (txMeta) => {
2407
+ txMeta.simulationData = void 0;
2408
+ });
2409
+ simulationData = await _chunk3VF7ZGRVjs.getSimulationData.call(void 0, {
2394
2410
  chainId,
2395
2411
  from,
2396
2412
  to,
@@ -2398,20 +2414,41 @@ updateSimulationData_fn = async function(transactionMeta) {
2398
2414
  data
2399
2415
  });
2400
2416
  }
2401
- const finalTransactionMeta = this.getTransaction(id);
2417
+ const finalTransactionMeta = this.getTransaction(transactionId);
2402
2418
  if (!finalTransactionMeta) {
2403
2419
  _chunkS6VGOPUYjs.projectLogger.call(void 0,
2404
2420
  "Cannot update simulation data as transaction not found",
2405
- id,
2421
+ transactionId,
2406
2422
  simulationData
2407
2423
  );
2408
2424
  return;
2409
2425
  }
2410
- this.updateTransaction(
2411
- { ...finalTransactionMeta, simulationData },
2412
- "TransactionController#updateSimulationData - Update simulation data"
2413
- );
2414
- _chunkS6VGOPUYjs.projectLogger.call(void 0, "Updated simulation data", id, simulationData);
2426
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, {
2427
+ transactionId,
2428
+ note: "TransactionController#updateSimulationData - Update simulation data"
2429
+ }, (txMeta) => {
2430
+ txMeta.simulationData = simulationData;
2431
+ });
2432
+ _chunkS6VGOPUYjs.projectLogger.call(void 0, "Updated simulation data", transactionId, simulationData);
2433
+ };
2434
+ _onGasFeePollerTransactionUpdate = new WeakSet();
2435
+ onGasFeePollerTransactionUpdate_fn = function({
2436
+ transactionId,
2437
+ gasFeeEstimates,
2438
+ gasFeeEstimatesLoaded,
2439
+ layer1GasFee
2440
+ }) {
2441
+ _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { transactionId, skipHistory: true }, (txMeta) => {
2442
+ if (gasFeeEstimates) {
2443
+ txMeta.gasFeeEstimates = gasFeeEstimates;
2444
+ }
2445
+ if (gasFeeEstimatesLoaded !== void 0) {
2446
+ txMeta.gasFeeEstimatesLoaded = gasFeeEstimatesLoaded;
2447
+ }
2448
+ if (layer1GasFee) {
2449
+ txMeta.layer1GasFee = layer1GasFee;
2450
+ }
2451
+ });
2415
2452
  };
2416
2453
 
2417
2454
 
@@ -2421,4 +2458,4 @@ updateSimulationData_fn = async function(transactionMeta) {
2421
2458
 
2422
2459
 
2423
2460
  exports.HARDFORK = HARDFORK; exports.CANCEL_RATE = CANCEL_RATE; exports.SPEED_UP_RATE = SPEED_UP_RATE; exports.ApprovalState = ApprovalState; exports.TransactionController = TransactionController;
2424
- //# sourceMappingURL=chunk-YS23EOJX.js.map
2461
+ //# sourceMappingURL=chunk-X5WPBDI5.js.map