@metamask/transaction-controller 27.0.1 → 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 (33) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/TransactionController.js +4 -4
  3. package/dist/TransactionController.mjs +3 -3
  4. package/dist/{chunk-5WFLNKCL.js → chunk-2XKEAKQG.js} +11 -5
  5. package/dist/chunk-2XKEAKQG.js.map +1 -0
  6. package/dist/{chunk-JDLNCMGI.mjs → chunk-H6NWVGHL.mjs} +76 -39
  7. package/dist/chunk-H6NWVGHL.mjs.map +1 -0
  8. package/dist/{chunk-35MG26Y3.mjs → chunk-HHK4QSNF.mjs} +44 -34
  9. package/dist/chunk-HHK4QSNF.mjs.map +1 -0
  10. package/dist/{chunk-W3CS5GRD.mjs → chunk-NOHEXQ7Y.mjs} +11 -5
  11. package/dist/chunk-NOHEXQ7Y.mjs.map +1 -0
  12. package/dist/{chunk-HUVOOFOM.js → chunk-V6UIRCOF.js} +43 -33
  13. package/dist/chunk-V6UIRCOF.js.map +1 -0
  14. package/dist/{chunk-5SKCGFUC.js → chunk-X5WPBDI5.js} +79 -42
  15. package/dist/chunk-X5WPBDI5.js.map +1 -0
  16. package/dist/helpers/GasFeePoller.js +3 -3
  17. package/dist/helpers/GasFeePoller.mjs +2 -2
  18. package/dist/index.js +4 -4
  19. package/dist/index.mjs +3 -3
  20. package/dist/tsconfig.build.tsbuildinfo +1 -1
  21. package/dist/types/TransactionController.d.ts +11 -6
  22. package/dist/types/TransactionController.d.ts.map +1 -1
  23. package/dist/types/helpers/GasFeePoller.d.ts.map +1 -1
  24. package/dist/types/utils/layer1-gas-fee-flow.d.ts.map +1 -1
  25. package/dist/utils/layer1-gas-fee-flow.js +2 -2
  26. package/dist/utils/layer1-gas-fee-flow.mjs +1 -1
  27. package/package.json +2 -2
  28. package/dist/chunk-35MG26Y3.mjs.map +0 -1
  29. package/dist/chunk-5SKCGFUC.js.map +0 -1
  30. package/dist/chunk-5WFLNKCL.js.map +0 -1
  31. package/dist/chunk-HUVOOFOM.js.map +0 -1
  32. package/dist/chunk-JDLNCMGI.mjs.map +0 -1
  33. package/dist/chunk-W3CS5GRD.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [28.0.0]
11
+
12
+ ### Changed
13
+
14
+ - **BREAKING:** Change `getLayer1GasFee` arguments to a request object ([#4149](https://github.com/MetaMask/core/pull/4149))
15
+
16
+ ### Fixed
17
+
18
+ - Fix automatic update of layer 1 gas fee after interval ([#4149](https://github.com/MetaMask/core/pull/4149))
19
+
10
20
  ## [27.0.1]
11
21
 
12
22
  ### Fixed
@@ -764,7 +774,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
764
774
 
765
775
  All changes listed after this point were applied to this package following the monorepo conversion.
766
776
 
767
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@27.0.1...HEAD
777
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@28.0.0...HEAD
778
+ [28.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@27.0.1...@metamask/transaction-controller@28.0.0
768
779
  [27.0.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@27.0.0...@metamask/transaction-controller@27.0.1
769
780
  [27.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@26.0.0...@metamask/transaction-controller@27.0.0
770
781
  [26.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@25.3.0...@metamask/transaction-controller@26.0.0
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunk5SKCGFUCjs = require('./chunk-5SKCGFUC.js');
7
+ var _chunkX5WPBDI5js = require('./chunk-X5WPBDI5.js');
8
8
  require('./chunk-SD6CWFDF.js');
9
9
  require('./chunk-VH47Q6TS.js');
10
10
  require('./chunk-AO3AE3L7.js');
@@ -13,8 +13,8 @@ require('./chunk-ZNZEJDOE.js');
13
13
  require('./chunk-3VF7ZGRV.js');
14
14
  require('./chunk-KT6UAKBB.js');
15
15
  require('./chunk-ETMW527M.js');
16
- require('./chunk-HUVOOFOM.js');
17
- require('./chunk-5WFLNKCL.js');
16
+ require('./chunk-V6UIRCOF.js');
17
+ require('./chunk-2XKEAKQG.js');
18
18
  require('./chunk-DTDTOMTB.js');
19
19
  require('./chunk-CPYXP2OC.js');
20
20
  require('./chunk-3JEUO765.js');
@@ -38,5 +38,5 @@ require('./chunk-Z4BLTVTB.js');
38
38
 
39
39
 
40
40
 
41
- exports.ApprovalState = _chunk5SKCGFUCjs.ApprovalState; exports.CANCEL_RATE = _chunk5SKCGFUCjs.CANCEL_RATE; exports.HARDFORK = _chunk5SKCGFUCjs.HARDFORK; exports.SPEED_UP_RATE = _chunk5SKCGFUCjs.SPEED_UP_RATE; exports.TransactionController = _chunk5SKCGFUCjs.TransactionController;
41
+ exports.ApprovalState = _chunkX5WPBDI5js.ApprovalState; exports.CANCEL_RATE = _chunkX5WPBDI5js.CANCEL_RATE; exports.HARDFORK = _chunkX5WPBDI5js.HARDFORK; exports.SPEED_UP_RATE = _chunkX5WPBDI5js.SPEED_UP_RATE; exports.TransactionController = _chunkX5WPBDI5js.TransactionController;
42
42
  //# sourceMappingURL=TransactionController.js.map
@@ -4,7 +4,7 @@ import {
4
4
  HARDFORK,
5
5
  SPEED_UP_RATE,
6
6
  TransactionController
7
- } from "./chunk-JDLNCMGI.mjs";
7
+ } from "./chunk-H6NWVGHL.mjs";
8
8
  import "./chunk-KG4UW4K4.mjs";
9
9
  import "./chunk-NM6OYEPP.mjs";
10
10
  import "./chunk-DRSMLO7B.mjs";
@@ -13,8 +13,8 @@ import "./chunk-NHRBO3LU.mjs";
13
13
  import "./chunk-L7ZKSKEI.mjs";
14
14
  import "./chunk-K4KOSAGM.mjs";
15
15
  import "./chunk-53IYIDVS.mjs";
16
- import "./chunk-35MG26Y3.mjs";
17
- import "./chunk-W3CS5GRD.mjs";
16
+ import "./chunk-HHK4QSNF.mjs";
17
+ import "./chunk-NOHEXQ7Y.mjs";
18
18
  import "./chunk-Y7ENNK7L.mjs";
19
19
  import "./chunk-RXRJSBSF.mjs";
20
20
  import "./chunk-TKWTUPCQ.mjs";
@@ -7,10 +7,12 @@ var _utils = require('@metamask/utils');
7
7
  var log = _utils.createModuleLogger.call(void 0, _chunkS6VGOPUYjs.projectLogger, "layer-1-gas-fee-flow");
8
8
  async function updateTransactionLayer1GasFee(request) {
9
9
  const layer1GasFee = await getTransactionLayer1GasFee(request);
10
- if (layer1GasFee) {
11
- const { transactionMeta } = request;
12
- transactionMeta.layer1GasFee = layer1GasFee;
10
+ if (!layer1GasFee) {
11
+ return;
13
12
  }
13
+ const { transactionMeta } = request;
14
+ transactionMeta.layer1GasFee = layer1GasFee;
15
+ log("Updated layer 1 gas fee", layer1GasFee, transactionMeta.id);
14
16
  }
15
17
  function getLayer1GasFeeFlow(transactionMeta, layer1GasFeeFlows) {
16
18
  return layer1GasFeeFlows.find(
@@ -27,9 +29,13 @@ async function getTransactionLayer1GasFee({
27
29
  layer1GasFeeFlows
28
30
  );
29
31
  if (!layer1GasFeeFlow) {
30
- log("Layer 1 gas fee flow not found", transactionMeta.id);
31
32
  return void 0;
32
33
  }
34
+ log(
35
+ "Found layer 1 gas fee flow",
36
+ layer1GasFeeFlow.constructor.name,
37
+ transactionMeta.id
38
+ );
33
39
  try {
34
40
  const { layer1Fee } = await layer1GasFeeFlow.getLayer1Fee({
35
41
  provider,
@@ -46,4 +52,4 @@ async function getTransactionLayer1GasFee({
46
52
 
47
53
 
48
54
  exports.updateTransactionLayer1GasFee = updateTransactionLayer1GasFee; exports.getTransactionLayer1GasFee = getTransactionLayer1GasFee;
49
- //# sourceMappingURL=chunk-5WFLNKCL.js.map
55
+ //# sourceMappingURL=chunk-2XKEAKQG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/layer1-gas-fee-flow.ts"],"names":[],"mappings":";;;;;AACA,SAAS,0BAAoC;AAK7C,IAAM,MAAM,mBAAmB,eAAe,sBAAsB;AAepE,eAAsB,8BACpB,SACA;AACA,QAAM,eAAe,MAAM,2BAA2B,OAAO;AAE7D,MAAI,CAAC,cAAc;AACjB;AAAA,EACF;AAEA,QAAM,EAAE,gBAAgB,IAAI;AAE5B,kBAAgB,eAAe;AAE/B,MAAI,2BAA2B,cAAc,gBAAgB,EAAE;AACjE;AAQA,SAAS,oBACP,iBACA,mBAC8B;AAC9B,SAAO,kBAAkB;AAAA,IAAK,CAAC,qBAC7B,iBAAiB,mBAAmB,eAAe;AAAA,EACrD;AACF;AASA,eAAsB,2BAA2B;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AACF,GAAwD;AACtD,QAAM,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AAEA,MAAI,CAAC,kBAAkB;AACrB,WAAO;AAAA,EACT;AAEA;AAAA,IACE;AAAA,IACA,iBAAiB,YAAY;AAAA,IAC7B,gBAAgB;AAAA,EAClB;AAEA,MAAI;AACF,UAAM,EAAE,UAAU,IAAI,MAAM,iBAAiB,aAAa;AAAA,MACxD;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT,SAAS,OAAO;AACd,QAAI,iCAAiC,gBAAgB,IAAI,KAAK;AAC9D,WAAO;AAAA,EACT;AACF","sourcesContent":["import type { Provider } from '@metamask/network-controller';\nimport { createModuleLogger, type Hex } from '@metamask/utils';\n\nimport { projectLogger } from '../logger';\nimport type { Layer1GasFeeFlow, TransactionMeta } from '../types';\n\nconst log = createModuleLogger(projectLogger, 'layer-1-gas-fee-flow');\n\nexport type UpdateLayer1GasFeeRequest = {\n layer1GasFeeFlows: Layer1GasFeeFlow[];\n provider: Provider;\n transactionMeta: TransactionMeta;\n};\n\n/**\n * Updates the given transactionMeta with the layer 1 gas fee.\n * @param request - The request to use when getting the layer 1 gas fee.\n * @param request.provider - Provider used to create a new underlying EthQuery instance\n * @param request.transactionMeta - The transaction to get the layer 1 gas fee for.\n * @param request.layer1GasFeeFlows - The layer 1 gas fee flows to search.\n */\nexport async function updateTransactionLayer1GasFee(\n request: UpdateLayer1GasFeeRequest,\n) {\n const layer1GasFee = await getTransactionLayer1GasFee(request);\n\n if (!layer1GasFee) {\n return;\n }\n\n const { transactionMeta } = request;\n\n transactionMeta.layer1GasFee = layer1GasFee;\n\n log('Updated layer 1 gas fee', layer1GasFee, transactionMeta.id);\n}\n\n/**\n * Get the layer 1 gas fee flow for a transaction.\n * @param transactionMeta - The transaction to get the layer 1 gas fee flow for.\n * @param layer1GasFeeFlows - The layer 1 gas fee flows to search.\n * @returns The layer 1 gas fee flow for the transaction, or undefined if none match.\n */\nfunction getLayer1GasFeeFlow(\n transactionMeta: TransactionMeta,\n layer1GasFeeFlows: Layer1GasFeeFlow[],\n): Layer1GasFeeFlow | undefined {\n return layer1GasFeeFlows.find((layer1GasFeeFlow) =>\n layer1GasFeeFlow.matchesTransaction(transactionMeta),\n );\n}\n\n/**\n * Get the layer 1 gas fee for a transaction and return the layer1Fee.\n * @param request - The request to use when getting the layer 1 gas fee.\n * @param request.layer1GasFeeFlows - The layer 1 gas fee flows to search.\n * @param request.provider - The provider to use to get the layer 1 gas fee.\n * @param request.transactionMeta - The transaction to get the layer 1 gas fee for.\n */\nexport async function getTransactionLayer1GasFee({\n layer1GasFeeFlows,\n provider,\n transactionMeta,\n}: UpdateLayer1GasFeeRequest): Promise<Hex | undefined> {\n const layer1GasFeeFlow = getLayer1GasFeeFlow(\n transactionMeta,\n layer1GasFeeFlows,\n );\n\n if (!layer1GasFeeFlow) {\n return undefined;\n }\n\n log(\n 'Found layer 1 gas fee flow',\n layer1GasFeeFlow.constructor.name,\n transactionMeta.id,\n );\n\n try {\n const { layer1Fee } = await layer1GasFeeFlow.getLayer1Fee({\n provider,\n transactionMeta,\n });\n return layer1Fee;\n } catch (error) {\n log('Failed to get layer 1 gas fee', transactionMeta.id, error);\n return undefined;\n }\n}\n"]}
@@ -26,11 +26,11 @@ import {
26
26
  } from "./chunk-53IYIDVS.mjs";
27
27
  import {
28
28
  GasFeePoller
29
- } from "./chunk-35MG26Y3.mjs";
29
+ } from "./chunk-HHK4QSNF.mjs";
30
30
  import {
31
31
  getTransactionLayer1GasFee,
32
32
  updateTransactionLayer1GasFee
33
- } from "./chunk-W3CS5GRD.mjs";
33
+ } from "./chunk-NOHEXQ7Y.mjs";
34
34
  import {
35
35
  IncomingTransactionHelper
36
36
  } from "./chunk-Y7ENNK7L.mjs";
@@ -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 {
139
139
  /**
140
140
  * Constructs a TransactionController.
@@ -217,6 +217,7 @@ var TransactionController = class extends BaseController {
217
217
  __privateAdd(this, _checkIfTransactionParamsUpdated);
218
218
  __privateAdd(this, _onTransactionParamsUpdated);
219
219
  __privateAdd(this, _updateSimulationData);
220
+ __privateAdd(this, _onGasFeePollerTransactionUpdate);
220
221
  __privateAdd(this, _internalEvents, new EventEmitter());
221
222
  this.inProcessOfSigning = /* @__PURE__ */ new Set();
222
223
  this.mutex = new Mutex();
@@ -323,7 +324,7 @@ var TransactionController = class extends BaseController {
323
324
  });
324
325
  gasFeePoller.hub.on(
325
326
  "transaction-updated",
326
- (transactionMeta) => __privateMethod(this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, transactionMeta, { skipHistory: true })
327
+ __privateMethod(this, _onGasFeePollerTransactionUpdate, onGasFeePollerTransactionUpdate_fn).bind(this)
327
328
  );
328
329
  this.messagingSystem.subscribe(
329
330
  "TransactionController:stateChange",
@@ -857,10 +858,8 @@ var TransactionController = class extends BaseController {
857
858
  * @param note - A note or update reason to include in the transaction history.
858
859
  */
859
860
  updateTransaction(transactionMeta, note) {
860
- __privateMethod(this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, transactionMeta, {
861
- note,
862
- skipHistory: this.isHistoryDisabled
863
- });
861
+ const { id: transactionId } = transactionMeta;
862
+ __privateMethod(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.
@@ -1367,18 +1366,23 @@ var TransactionController = class extends 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 = __privateGet(this, _multichainTrackingHelper).getProvider({
1378
1382
  networkClientId,
1379
1383
  chainId
1380
1384
  });
1381
- const layer1GasFee = await getTransactionLayer1GasFee({
1385
+ return await getTransactionLayer1GasFee({
1382
1386
  layer1GasFeeFlows: this.layer1GasFeeFlows,
1383
1387
  provider,
1384
1388
  transactionMeta: {
@@ -1386,7 +1390,6 @@ var TransactionController = class extends BaseController {
1386
1390
  chainId
1387
1391
  }
1388
1392
  });
1389
- return layer1GasFee;
1390
1393
  }
1391
1394
  async signExternalTransaction(chainId, transactionParams) {
1392
1395
  if (!this.sign) {
@@ -2327,25 +2330,36 @@ getLayer1GasFeeFlows_fn = function() {
2327
2330
  return [new OptimismLayer1GasFeeFlow()];
2328
2331
  };
2329
2332
  _updateTransactionInternal = new WeakSet();
2330
- updateTransactionInternal_fn = function(transactionMeta, { note, skipHistory }) {
2331
- const normalizedTransaction = {
2332
- ...transactionMeta,
2333
- txParams: normalizeTransactionParams(transactionMeta.txParams)
2334
- };
2335
- validateTxParams(normalizedTransaction.txParams);
2336
- const updatedTransactionParams = __privateMethod(this, _checkIfTransactionParamsUpdated, checkIfTransactionParamsUpdated_fn).call(this, normalizedTransaction);
2337
- const transactionWithUpdatedHistory = skipHistory === true ? normalizedTransaction : updateTransactionHistory(
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 = normalizeTransactionParams(
2346
+ transactionMeta2.txParams
2347
+ );
2348
+ validateTxParams(transactionMeta2.txParams);
2349
+ updatedTransactionParams = __privateMethod(this, _checkIfTransactionParamsUpdated, checkIfTransactionParamsUpdated_fn).call(this, transactionMeta2);
2350
+ if (skipHistory !== true) {
2351
+ transactionMeta2 = updateTransactionHistory(
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
- __privateMethod(this, _onTransactionParamsUpdated, onTransactionParamsUpdated_fn).call(this, normalizedTransaction, updatedTransactionParams);
2362
+ __privateMethod(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,7 +2403,9 @@ updateSimulationData_fn = async function(transactionMeta) {
2389
2403
  tokenBalanceChanges: []
2390
2404
  };
2391
2405
  if (__privateGet(this, _isSimulationEnabled).call(this)) {
2392
- __privateMethod(this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { ...transactionMeta, simulationData: void 0 }, { skipHistory: true });
2406
+ __privateMethod(this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, { transactionId, skipHistory: true }, (txMeta) => {
2407
+ txMeta.simulationData = void 0;
2408
+ });
2393
2409
  simulationData = await getSimulationData({
2394
2410
  chainId,
2395
2411
  from,
@@ -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
  projectLogger(
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
- projectLogger("Updated simulation data", id, simulationData);
2426
+ __privateMethod(this, _updateTransactionInternal, updateTransactionInternal_fn).call(this, {
2427
+ transactionId,
2428
+ note: "TransactionController#updateSimulationData - Update simulation data"
2429
+ }, (txMeta) => {
2430
+ txMeta.simulationData = simulationData;
2431
+ });
2432
+ projectLogger("Updated simulation data", transactionId, simulationData);
2433
+ };
2434
+ _onGasFeePollerTransactionUpdate = new WeakSet();
2435
+ onGasFeePollerTransactionUpdate_fn = function({
2436
+ transactionId,
2437
+ gasFeeEstimates,
2438
+ gasFeeEstimatesLoaded,
2439
+ layer1GasFee
2440
+ }) {
2441
+ __privateMethod(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
  export {
@@ -2421,4 +2458,4 @@ export {
2421
2458
  ApprovalState,
2422
2459
  TransactionController
2423
2460
  };
2424
- //# sourceMappingURL=chunk-JDLNCMGI.mjs.map
2461
+ //# sourceMappingURL=chunk-H6NWVGHL.mjs.map