@metamask-previews/transaction-controller 66.0.1-preview-e37aff3 → 66.0.1-preview-92f3bde43

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 (38) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/TransactionController.cjs +28 -111
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +8 -55
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +8 -55
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +28 -111
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/helpers/PendingTransactionTracker.cjs +4 -82
  11. package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
  12. package/dist/helpers/PendingTransactionTracker.d.cts +1 -3
  13. package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
  14. package/dist/helpers/PendingTransactionTracker.d.mts +1 -3
  15. package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
  16. package/dist/helpers/PendingTransactionTracker.mjs +5 -83
  17. package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1 -1
  20. package/dist/index.d.cts.map +1 -1
  21. package/dist/index.d.mts +1 -1
  22. package/dist/index.d.mts.map +1 -1
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/types.cjs.map +1 -1
  25. package/dist/types.d.cts +0 -14
  26. package/dist/types.d.cts.map +1 -1
  27. package/dist/types.d.mts +0 -14
  28. package/dist/types.d.mts.map +1 -1
  29. package/dist/types.mjs.map +1 -1
  30. package/dist/utils/prepare.cjs +8 -4
  31. package/dist/utils/prepare.cjs.map +1 -1
  32. package/dist/utils/prepare.d.cts +5 -4
  33. package/dist/utils/prepare.d.cts.map +1 -1
  34. package/dist/utils/prepare.d.mts +5 -4
  35. package/dist/utils/prepare.d.mts.map +1 -1
  36. package/dist/utils/prepare.mjs +8 -4
  37. package/dist/utils/prepare.mjs.map +1 -1
  38. package/package.json +1 -1
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _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_isBalanceChangesSkipped, _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;
12
+ var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _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_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _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_isBalanceChangesSkipped, _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_defaultPublishHook, _TransactionController_getGasFeeTokens;
13
13
  import { BaseController } from "@metamask/base-controller";
14
14
  import { ApprovalType, ORIGIN_METAMASK, convertHexToDecimal } from "@metamask/controller-utils";
15
15
  import { NetworkClientType } from "@metamask/network-controller";
@@ -176,7 +176,7 @@ export class TransactionController extends BaseController {
176
176
  * @param options - The controller options.
177
177
  */
178
178
  constructor(options) {
179
- const { disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, } = options;
179
+ const { disableSwaps, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, isTimeoutEnabled, messenger, publicKeyEIP7702, state, testGasFeeFlows, trace, } = options;
180
180
  super({
181
181
  name: controllerName,
182
182
  metadata,
@@ -188,19 +188,11 @@ export class TransactionController extends BaseController {
188
188
  });
189
189
  _TransactionController_instances.add(this);
190
190
  _TransactionController_afterAdd.set(this, void 0);
191
- _TransactionController_afterSign.set(this, void 0);
192
- _TransactionController_afterSimulate.set(this, void 0);
193
191
  _TransactionController_approvingTransactionIds.set(this, new Set());
194
192
  _TransactionController_beforeCheckPendingTransaction.set(this, void 0);
195
193
  _TransactionController_beforePublish.set(this, void 0);
196
194
  _TransactionController_beforeSign.set(this, void 0);
197
195
  _TransactionController_gasFeeFlows.set(this, void 0);
198
- _TransactionController_getAdditionalSignArguments.set(this, void 0);
199
- _TransactionController_getCurrentAccountEIP1559Compatibility.set(this, void 0);
200
- _TransactionController_getCurrentNetworkEIP1559Compatibility.set(this, void 0);
201
- _TransactionController_getExternalPendingTransactions.set(this, void 0);
202
- _TransactionController_getGasFeeEstimates.set(this, void 0);
203
- _TransactionController_getNetworkState.set(this, void 0);
204
196
  _TransactionController_getPermittedAccounts.set(this, void 0);
205
197
  _TransactionController_getSavedGasFees.set(this, void 0);
206
198
  _TransactionController_getSimulationConfig.set(this, void 0);
@@ -216,12 +208,9 @@ export class TransactionController extends BaseController {
216
208
  _TransactionController_layer1GasFeeFlows.set(this, void 0);
217
209
  _TransactionController_methodDataHelper.set(this, void 0);
218
210
  _TransactionController_multichainTrackingHelper.set(this, void 0);
219
- _TransactionController_pendingTransactionOptions.set(this, void 0);
220
211
  _TransactionController_publicKeyEIP7702.set(this, void 0);
221
212
  _TransactionController_publish.set(this, void 0);
222
213
  _TransactionController_publishBatchHook.set(this, void 0);
223
- _TransactionController_securityProviderRequest.set(this, void 0);
224
- _TransactionController_sign.set(this, void 0);
225
214
  _TransactionController_signAbortCallbacks.set(this, new Map());
226
215
  _TransactionController_skipSimulationTransactionIds.set(this, new Set());
227
216
  _TransactionController_testGasFeeFlows.set(this, void 0);
@@ -231,9 +220,6 @@ export class TransactionController extends BaseController {
231
220
  });
232
221
  this.messenger = messenger;
233
222
  __classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
234
- __classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
235
- __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
236
- (() => Promise.resolve({})), "f");
237
223
  __classPrivateFieldSet(this, _TransactionController_beforeCheckPendingTransaction,
238
224
  /* istanbul ignore next */
239
225
  hooks?.beforeCheckPendingTransaction ??
@@ -241,15 +227,6 @@ export class TransactionController extends BaseController {
241
227
  __classPrivateFieldSet(this, _TransactionController_beforePublish, hooks?.beforePublish ?? (() => Promise.resolve(true)), "f");
242
228
  __classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
243
229
  (() => Promise.resolve({})), "f");
244
- __classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ??
245
- (() => []), "f");
246
- __classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ??
247
- (() => Promise.resolve(true)), "f");
248
- __classPrivateFieldSet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, "f");
249
- __classPrivateFieldSet(this, _TransactionController_getExternalPendingTransactions, getExternalPendingTransactions ?? (() => []), "f");
250
- __classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates ??
251
- (() => Promise.resolve({})), "f");
252
- __classPrivateFieldSet(this, _TransactionController_getNetworkState, getNetworkState, "f");
253
230
  __classPrivateFieldSet(this, _TransactionController_getPermittedAccounts, getPermittedAccounts, "f");
254
231
  __classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
255
232
  __classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
@@ -262,14 +239,11 @@ export class TransactionController extends BaseController {
262
239
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
263
240
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
264
241
  __classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
265
- __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
266
- __classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
242
+ __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, isTimeoutEnabled ?? (() => true), "f");
267
243
  __classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
268
244
  __classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
269
245
  (() => Promise.resolve({ transactionHash: undefined })), "f");
270
246
  __classPrivateFieldSet(this, _TransactionController_publishBatchHook, hooks?.publishBatch, "f");
271
- __classPrivateFieldSet(this, _TransactionController_securityProviderRequest, securityProviderRequest, "f");
272
- __classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
273
247
  __classPrivateFieldSet(this, _TransactionController_testGasFeeFlows, testGasFeeFlows === true, "f");
274
248
  __classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
275
249
  const findNetworkClientIdByChainId = (chainId) => {
@@ -280,7 +254,7 @@ export class TransactionController extends BaseController {
280
254
  getNetworkClientById: ((networkClientId) => {
281
255
  return this.messenger.call(`NetworkController:getNetworkClientById`, networkClientId);
282
256
  }),
283
- getNetworkClientRegistry,
257
+ getNetworkClientRegistry: (() => this.messenger.call('NetworkController:getNetworkClientRegistry')),
284
258
  removePendingTransactionTrackerListeners: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removePendingTransactionTrackerListeners).bind(this),
285
259
  createNonceTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createNonceTracker).bind(this),
286
260
  createPendingTransactionTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).bind(this),
@@ -293,7 +267,7 @@ export class TransactionController extends BaseController {
293
267
  __classPrivateFieldSet(this, _TransactionController_layer1GasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getLayer1GasFeeFlows).call(this), "f");
294
268
  const gasFeePoller = new GasFeePoller({
295
269
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
296
- getGasFeeControllerEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
270
+ getGasFeeControllerEstimates: (gasFeeOpts) => this.messenger.call('GasFeeController:fetchGasFeeEstimates', gasFeeOpts),
297
271
  getTransactions: () => this.state.transactions,
298
272
  getTransactionBatches: () => this.state.transactionBatches,
299
273
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
@@ -367,7 +341,7 @@ export class TransactionController extends BaseController {
367
341
  return await addTransactionBatch({
368
342
  addTransaction: this.addTransaction.bind(this),
369
343
  estimateGas: this.estimateGas.bind(this),
370
- getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
344
+ getGasFeeEstimates: (options) => this.messenger.call('GasFeeController:fetchGasFeeEstimates', options),
371
345
  getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
372
346
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").bind(this),
373
347
  getPendingTransactionTracker: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).call(this, {
@@ -410,7 +384,7 @@ export class TransactionController extends BaseController {
410
384
  */
411
385
  async addTransaction(txParams, options) {
412
386
  log('Adding transaction', txParams, options);
413
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, excludeNativeTokenForFee, isGasFeeIncluded, isGasFeeSponsored, isInternal = false, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
387
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, excludeNativeTokenForFee, isGasFeeIncluded, isGasFeeSponsored, isInternal = false, isStateOnly, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
414
388
  // eslint-disable-next-line no-param-reassign
415
389
  txParams = normalizeTransactionParams(txParams);
416
390
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
@@ -522,12 +496,6 @@ export class TransactionController extends BaseController {
522
496
  })
523
497
  .catch(noop);
524
498
  }
525
- // Set security provider response
526
- if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
527
- const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
528
- // eslint-disable-next-line require-atomic-updates
529
- addedTransactionMeta.securityProviderResponse = securityProviderResponse;
530
- }
531
499
  addedTransactionMeta = updateSwapsTransaction(addedTransactionMeta, transactionType, swaps, {
532
500
  isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
533
501
  cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
@@ -1051,7 +1019,7 @@ export class TransactionController extends BaseController {
1051
1019
  chainId,
1052
1020
  });
1053
1021
  const initialTxAsEthTx = prepareTransaction(chainId, initialTx);
1054
- const initialTxAsSerializedHex = serializeTransaction(initialTxAsEthTx);
1022
+ const initialTxAsSerializedHex = serializeTransaction(chainId, initialTxAsEthTx);
1055
1023
  if (__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").has(initialTxAsSerializedHex)) {
1056
1024
  return '';
1057
1025
  }
@@ -1239,9 +1207,7 @@ export class TransactionController extends BaseController {
1239
1207
  };
1240
1208
  // Guaranteed as the default gas fee flow matches all transactions.
1241
1209
  const gasFeeFlow = getGasFeeFlow(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
1242
- const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
1243
- networkClientId,
1244
- });
1210
+ const gasFeeControllerData = await this.messenger.call('GasFeeController:fetchGasFeeEstimates', { networkClientId });
1245
1211
  return gasFeeFlow.getGasFees({
1246
1212
  gasFeeControllerData,
1247
1213
  messenger: this.messenger,
@@ -1473,7 +1439,7 @@ export class TransactionController extends BaseController {
1473
1439
  return result.gasFeeTokens;
1474
1440
  }
1475
1441
  }
1476
- _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
1442
+ _TransactionController_afterAdd = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
1477
1443
  if (gasValues) {
1478
1444
  // Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
1479
1445
  // eslint-disable-next-line no-param-reassign
@@ -1486,16 +1452,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1486
1452
  if (!transactionMeta) {
1487
1453
  return;
1488
1454
  }
1489
- /* istanbul ignore next */
1490
- if (!__classPrivateFieldGet(this, _TransactionController_sign, "f")) {
1491
- throw new Error('No sign method defined.');
1492
- }
1493
1455
  const newTxParams = getTransactionParamsWithIncreasedGasFee(transactionMeta.txParams, rate, gasValues);
1494
1456
  prepareTransactionParams?.(newTxParams);
1495
1457
  const unsignedEthTx = prepareTransaction(transactionMeta.chainId, newTxParams);
1496
- const signedTx = await __classPrivateFieldGet(this, _TransactionController_sign, "f").call(this, unsignedEthTx, transactionMeta.txParams.from);
1497
- const transactionMetaWithRsv = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMeta, signedTx);
1498
- const rawTx = serializeTransaction(signedTx);
1458
+ const signedTxData = await this.messenger.call('KeyringController:signTransaction', unsignedEthTx, transactionMeta.txParams.from);
1459
+ const transactionMetaWithRsv = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMeta, signedTxData);
1460
+ const rawTx = serializeTransaction(transactionMeta.chainId, signedTxData);
1499
1461
  const newFee = newTxParams.maxFeePerGas ?? newTxParams.gasPrice;
1500
1462
  const oldFee = newTxParams.maxFeePerGas
1501
1463
  ? transactionMetaWithRsv.txParams.maxFeePerGas
@@ -1534,9 +1496,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1534
1496
  });
1535
1497
  afterSubmit?.(newTransactionMeta);
1536
1498
  }, _TransactionController_signExternalTransaction = async function _TransactionController_signExternalTransaction(chainId, transactionParams) {
1537
- if (!__classPrivateFieldGet(this, _TransactionController_sign, "f")) {
1538
- throw new Error('No sign method defined.');
1539
- }
1540
1499
  const normalizedTransactionParams = normalizeTransactionParams(transactionParams);
1541
1500
  const type = isEIP1559Transaction(normalizedTransactionParams)
1542
1501
  ? TransactionEnvelopeType.feeMarket
@@ -1549,8 +1508,8 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1549
1508
  };
1550
1509
  const { from } = updatedTransactionParams;
1551
1510
  const unsignedTransaction = prepareTransaction(chainId, updatedTransactionParams);
1552
- const signedTransaction = await __classPrivateFieldGet(this, _TransactionController_sign, "f").call(this, unsignedTransaction, from);
1553
- const rawTransaction = serializeTransaction(signedTransaction);
1511
+ const signedTxData = await this.messenger.call('KeyringController:signTransaction', unsignedTransaction, from);
1512
+ const rawTransaction = serializeTransaction(chainId, signedTxData);
1554
1513
  return rawTransaction;
1555
1514
  }, _TransactionController_addMetadata = function _TransactionController_addMetadata(transactionMeta) {
1556
1515
  validateTxParams(transactionMeta.txParams);
@@ -1569,7 +1528,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1569
1528
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await updateGasFees({
1570
1529
  eip1559: isEIP1559Compatible,
1571
1530
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
1572
- getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
1531
+ getGasFeeEstimates: (options) => this.messenger.call('GasFeeController:fetchGasFeeEstimates', options),
1573
1532
  getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
1574
1533
  messenger: this.messenger,
1575
1534
  txMeta: transactionMeta,
@@ -1702,11 +1661,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1702
1661
  let transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1703
1662
  log('Approving transaction', transactionMeta);
1704
1663
  try {
1705
- if (!__classPrivateFieldGet(this, _TransactionController_sign, "f")) {
1706
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_failTransaction).call(this, transactionMeta, new Error('No sign method defined.'));
1707
- return ApprovalState.NotApproved;
1708
- }
1709
- else if (!transactionMeta.chainId) {
1664
+ if (!transactionMeta.chainId) {
1710
1665
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_failTransaction).call(this, transactionMeta, new Error('No chainId defined.'));
1711
1666
  return ApprovalState.NotApproved;
1712
1667
  }
@@ -2042,13 +1997,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2042
1997
  if (value === undefined || value === null) {
2043
1998
  continue;
2044
1999
  }
2045
- transactionMetaWithRsv[key] = add0x(value.toString(16));
2000
+ transactionMetaWithRsv[key] = add0x(BigInt(value).toString(16));
2046
2001
  }
2047
2002
  return transactionMetaWithRsv;
2048
2003
  }, _TransactionController_getEIP1559Compatibility = async function _TransactionController_getEIP1559Compatibility(networkClientId) {
2049
- const currentNetworkIsEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, "f").call(this, networkClientId);
2050
- const currentAccountIsEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, "f").call(this);
2051
- return (currentNetworkIsEIP1559Compatible && currentAccountIsEIP1559Compatible);
2004
+ return ((await this.messenger.call('NetworkController:getEIP1559Compatibility', networkClientId)) ?? false);
2052
2005
  }, _TransactionController_signTransaction = async function _TransactionController_signTransaction(originalTransactionMeta) {
2053
2006
  let transactionMeta = originalTransactionMeta;
2054
2007
  const { id: transactionId } = transactionMeta;
@@ -2090,29 +2043,23 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2090
2043
  const unsignedEthTx = prepareTransaction(chainId, finalTxParams);
2091
2044
  __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
2092
2045
  log('Signing transaction', finalTxParams);
2093
- const signedTx = await new Promise((resolve, reject) => {
2094
- __classPrivateFieldGet(this, _TransactionController_sign, "f")?.call(this, unsignedEthTx, from, ...__classPrivateFieldGet(this, _TransactionController_getAdditionalSignArguments, "f").call(this, finalTransactionMeta)).then(resolve, reject);
2046
+ const signedTxData = await new Promise((resolve, reject) => {
2047
+ // eslint-disable-next-line promise/catch-or-return
2048
+ this.messenger
2049
+ .call('KeyringController:signTransaction', unsignedEthTx, from)
2050
+ .then(resolve, reject);
2095
2051
  __classPrivateFieldGet(this, _TransactionController_signAbortCallbacks, "f").set(transactionId, () => reject(new Error('Signing aborted by user')));
2096
2052
  });
2097
2053
  __classPrivateFieldGet(this, _TransactionController_signAbortCallbacks, "f").delete(transactionId);
2098
- if (!signedTx) {
2099
- log('Skipping signed status as no signed transaction');
2100
- return undefined;
2101
- }
2102
2054
  const transactionMetaFromHook = cloneDeep(finalTransactionMeta);
2103
- if (!__classPrivateFieldGet(this, _TransactionController_afterSign, "f").call(this, transactionMetaFromHook, signedTx)) {
2104
- this.updateTransaction(transactionMetaFromHook, 'TransactionController#signTransaction - Update after sign');
2105
- log('Skipping signed status based on hook');
2106
- return undefined;
2107
- }
2108
2055
  const transactionMetaWithRsv = {
2109
- ...__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMetaFromHook, signedTx),
2056
+ ...__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMetaFromHook, signedTxData),
2110
2057
  status: TransactionStatus.signed,
2111
2058
  txParams: finalTxParams,
2112
2059
  };
2113
2060
  this.updateTransaction(transactionMetaWithRsv, 'TransactionController#approveTransaction - Transaction signed');
2114
2061
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMetaWithRsv);
2115
- const rawTx = serializeTransaction(signedTx);
2062
+ const rawTx = serializeTransaction(chainId, signedTxData);
2116
2063
  const transactionMetaWithRawTx = merge({}, transactionMetaWithRsv, {
2117
2064
  rawTx,
2118
2065
  });
@@ -2176,13 +2123,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2176
2123
  hooks: {
2177
2124
  beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2178
2125
  },
2179
- isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2180
2126
  isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2181
2127
  messenger: this.messenger,
2182
2128
  networkClientId,
2183
- publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta, {
2184
- skipSubmitHistory: true,
2185
- }),
2186
2129
  });
2187
2130
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
2188
2131
  return pendingTransactionTracker;
@@ -2206,8 +2149,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2206
2149
  TransactionStatus.signed,
2207
2150
  TransactionStatus.submitted,
2208
2151
  ], address, chainId);
2209
- const externalPendingTransactions = __classPrivateFieldGet(this, _TransactionController_getExternalPendingTransactions, "f").call(this, address, chainId);
2210
- return [...standardPendingTransactions, ...externalPendingTransactions];
2152
+ return standardPendingTransactions;
2211
2153
  }, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(transactionMeta) {
2212
2154
  try {
2213
2155
  return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta);
@@ -2336,7 +2278,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2336
2278
  }
2337
2279
  });
2338
2280
  log('Updated simulation data', transactionId, updatedTransactionMeta);
2339
- await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
2340
2281
  }, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
2341
2282
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
2342
2283
  updateTransactionGasProperties({
@@ -2370,7 +2311,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2370
2311
  .map((account) => account.address);
2371
2312
  }, _TransactionController_updateSubmitHistory = function _TransactionController_updateSubmitHistory(transactionMeta, hash) {
2372
2313
  const { chainId, networkClientId, origin, rawTx, txParams } = transactionMeta;
2373
- const { networkConfigurationsByChainId } = __classPrivateFieldGet(this, _TransactionController_getNetworkState, "f").call(this);
2314
+ const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
2374
2315
  const networkConfiguration = networkConfigurationsByChainId[chainId];
2375
2316
  const endpoint = networkConfiguration?.rpcEndpoints.find((currentEndpoint) => currentEndpoint.networkClientId === networkClientId);
2376
2317
  const networkUrl = endpoint?.url;
@@ -2469,30 +2410,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2469
2410
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
2470
2411
  this.messenger.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
2471
2412
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
2472
- }, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
2473
- log('Calling afterSimulate hook', transactionMeta);
2474
- const { id: transactionId } = transactionMeta;
2475
- const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
2476
- transactionMeta,
2477
- });
2478
- const { skipSimulation, updateTransaction } = result ?? {};
2479
- if (skipSimulation) {
2480
- __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
2481
- }
2482
- else if (skipSimulation === false) {
2483
- __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").delete(transactionId);
2484
- }
2485
- if (!updateTransaction) {
2486
- return;
2487
- }
2488
- const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2489
- transactionId,
2490
- skipResimulateCheck: true,
2491
- }, (txMeta) => {
2492
- txMeta.txParamsOriginal = cloneDeep(txMeta.txParams);
2493
- updateTransaction(txMeta);
2494
- });
2495
- log('Updated transaction with afterSimulate data', updatedTransactionMeta);
2496
2413
  }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ networkClientId, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2497
2414
  let transactionHash;
2498
2415
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {