@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
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
+ ### Changed
11
+
12
+ - **BREAKING:** Remove deprecated `TransactionController` constructor options and unused hooks, and replace them with direct messenger calls ([#8983](https://github.com/MetaMask/core/pull/8983))
13
+ - Removed options: `disableHistory`, `disableSendFlowHistory`, `getCurrentAccountEIP1559Compatibility`, `getCurrentNetworkEIP1559Compatibility`, `getExternalPendingTransactions`, `getGasFeeEstimates`, `getNetworkClientRegistry`, `getNetworkState`, `pendingTransactions`, `securityProviderRequest`, `sign`, `transactionHistoryLimit`
14
+ - Removed hooks: `afterSign`, `afterSimulate`, `getAdditionalSignArguments`
15
+ - Moved hook: `isTimeoutEnabled` is now a root constructor option instead of a hook
16
+ - Removed types: `AfterSimulateHook`, `PendingTransactionOptions`, `SecurityProviderRequest`; `AfterAddHook` parameter `skipSimulation` removed
17
+ - Added required `AllowedActions`: `GasFeeController:fetchGasFeeEstimates`, `KeyringController:signTransaction`, `NetworkController:getEIP1559Compatibility`, `NetworkController:getNetworkClientRegistry`, `NetworkController:getState`
18
+ - Removed resubmit logic from `PendingTransactionTracker`
19
+
10
20
  ## [66.0.1]
11
21
 
12
22
  ### Changed
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _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;
13
+ 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;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
16
16
  const base_controller_1 = require("@metamask/base-controller");
@@ -178,7 +178,7 @@ class TransactionController extends base_controller_1.BaseController {
178
178
  * @param options - The controller options.
179
179
  */
180
180
  constructor(options) {
181
- 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;
181
+ const { disableSwaps, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, isTimeoutEnabled, messenger, publicKeyEIP7702, state, testGasFeeFlows, trace, } = options;
182
182
  super({
183
183
  name: controllerName,
184
184
  metadata,
@@ -190,19 +190,11 @@ class TransactionController extends base_controller_1.BaseController {
190
190
  });
191
191
  _TransactionController_instances.add(this);
192
192
  _TransactionController_afterAdd.set(this, void 0);
193
- _TransactionController_afterSign.set(this, void 0);
194
- _TransactionController_afterSimulate.set(this, void 0);
195
193
  _TransactionController_approvingTransactionIds.set(this, new Set());
196
194
  _TransactionController_beforeCheckPendingTransaction.set(this, void 0);
197
195
  _TransactionController_beforePublish.set(this, void 0);
198
196
  _TransactionController_beforeSign.set(this, void 0);
199
197
  _TransactionController_gasFeeFlows.set(this, void 0);
200
- _TransactionController_getAdditionalSignArguments.set(this, void 0);
201
- _TransactionController_getCurrentAccountEIP1559Compatibility.set(this, void 0);
202
- _TransactionController_getCurrentNetworkEIP1559Compatibility.set(this, void 0);
203
- _TransactionController_getExternalPendingTransactions.set(this, void 0);
204
- _TransactionController_getGasFeeEstimates.set(this, void 0);
205
- _TransactionController_getNetworkState.set(this, void 0);
206
198
  _TransactionController_getPermittedAccounts.set(this, void 0);
207
199
  _TransactionController_getSavedGasFees.set(this, void 0);
208
200
  _TransactionController_getSimulationConfig.set(this, void 0);
@@ -218,12 +210,9 @@ class TransactionController extends base_controller_1.BaseController {
218
210
  _TransactionController_layer1GasFeeFlows.set(this, void 0);
219
211
  _TransactionController_methodDataHelper.set(this, void 0);
220
212
  _TransactionController_multichainTrackingHelper.set(this, void 0);
221
- _TransactionController_pendingTransactionOptions.set(this, void 0);
222
213
  _TransactionController_publicKeyEIP7702.set(this, void 0);
223
214
  _TransactionController_publish.set(this, void 0);
224
215
  _TransactionController_publishBatchHook.set(this, void 0);
225
- _TransactionController_securityProviderRequest.set(this, void 0);
226
- _TransactionController_sign.set(this, void 0);
227
216
  _TransactionController_signAbortCallbacks.set(this, new Map());
228
217
  _TransactionController_skipSimulationTransactionIds.set(this, new Set());
229
218
  _TransactionController_testGasFeeFlows.set(this, void 0);
@@ -233,9 +222,6 @@ class TransactionController extends base_controller_1.BaseController {
233
222
  });
234
223
  this.messenger = messenger;
235
224
  __classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
236
- __classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
237
- __classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
238
- (() => Promise.resolve({})), "f");
239
225
  __classPrivateFieldSet(this, _TransactionController_beforeCheckPendingTransaction,
240
226
  /* istanbul ignore next */
241
227
  hooks?.beforeCheckPendingTransaction ??
@@ -243,15 +229,6 @@ class TransactionController extends base_controller_1.BaseController {
243
229
  __classPrivateFieldSet(this, _TransactionController_beforePublish, hooks?.beforePublish ?? (() => Promise.resolve(true)), "f");
244
230
  __classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
245
231
  (() => Promise.resolve({})), "f");
246
- __classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ??
247
- (() => []), "f");
248
- __classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ??
249
- (() => Promise.resolve(true)), "f");
250
- __classPrivateFieldSet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, "f");
251
- __classPrivateFieldSet(this, _TransactionController_getExternalPendingTransactions, getExternalPendingTransactions ?? (() => []), "f");
252
- __classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates ??
253
- (() => Promise.resolve({})), "f");
254
- __classPrivateFieldSet(this, _TransactionController_getNetworkState, getNetworkState, "f");
255
232
  __classPrivateFieldSet(this, _TransactionController_getPermittedAccounts, getPermittedAccounts, "f");
256
233
  __classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
257
234
  __classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
@@ -264,14 +241,11 @@ class TransactionController extends base_controller_1.BaseController {
264
241
  __classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
265
242
  __classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
266
243
  __classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
267
- __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
268
- __classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
244
+ __classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, isTimeoutEnabled ?? (() => true), "f");
269
245
  __classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
270
246
  __classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
271
247
  (() => Promise.resolve({ transactionHash: undefined })), "f");
272
248
  __classPrivateFieldSet(this, _TransactionController_publishBatchHook, hooks?.publishBatch, "f");
273
- __classPrivateFieldSet(this, _TransactionController_securityProviderRequest, securityProviderRequest, "f");
274
- __classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
275
249
  __classPrivateFieldSet(this, _TransactionController_testGasFeeFlows, testGasFeeFlows === true, "f");
276
250
  __classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
277
251
  const findNetworkClientIdByChainId = (chainId) => {
@@ -282,7 +256,7 @@ class TransactionController extends base_controller_1.BaseController {
282
256
  getNetworkClientById: ((networkClientId) => {
283
257
  return this.messenger.call(`NetworkController:getNetworkClientById`, networkClientId);
284
258
  }),
285
- getNetworkClientRegistry,
259
+ getNetworkClientRegistry: (() => this.messenger.call('NetworkController:getNetworkClientRegistry')),
286
260
  removePendingTransactionTrackerListeners: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removePendingTransactionTrackerListeners).bind(this),
287
261
  createNonceTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createNonceTracker).bind(this),
288
262
  createPendingTransactionTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).bind(this),
@@ -295,7 +269,7 @@ class TransactionController extends base_controller_1.BaseController {
295
269
  __classPrivateFieldSet(this, _TransactionController_layer1GasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getLayer1GasFeeFlows).call(this), "f");
296
270
  const gasFeePoller = new GasFeePoller_1.GasFeePoller({
297
271
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
298
- getGasFeeControllerEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
272
+ getGasFeeControllerEstimates: (gasFeeOpts) => this.messenger.call('GasFeeController:fetchGasFeeEstimates', gasFeeOpts),
299
273
  getTransactions: () => this.state.transactions,
300
274
  getTransactionBatches: () => this.state.transactionBatches,
301
275
  layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
@@ -369,7 +343,7 @@ class TransactionController extends base_controller_1.BaseController {
369
343
  return await (0, batch_1.addTransactionBatch)({
370
344
  addTransaction: this.addTransaction.bind(this),
371
345
  estimateGas: this.estimateGas.bind(this),
372
- getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
346
+ getGasFeeEstimates: (options) => this.messenger.call('GasFeeController:fetchGasFeeEstimates', options),
373
347
  getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
374
348
  getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").bind(this),
375
349
  getPendingTransactionTracker: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).call(this, {
@@ -412,7 +386,7 @@ class TransactionController extends base_controller_1.BaseController {
412
386
  */
413
387
  async addTransaction(txParams, options) {
414
388
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
415
- 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;
389
+ 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;
416
390
  // eslint-disable-next-line no-param-reassign
417
391
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
418
392
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
@@ -524,12 +498,6 @@ class TransactionController extends base_controller_1.BaseController {
524
498
  })
525
499
  .catch(lodash_1.noop);
526
500
  }
527
- // Set security provider response
528
- if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
529
- const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
530
- // eslint-disable-next-line require-atomic-updates
531
- addedTransactionMeta.securityProviderResponse = securityProviderResponse;
532
- }
533
501
  addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
534
502
  isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
535
503
  cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
@@ -1053,7 +1021,7 @@ class TransactionController extends base_controller_1.BaseController {
1053
1021
  chainId,
1054
1022
  });
1055
1023
  const initialTxAsEthTx = (0, prepare_1.prepareTransaction)(chainId, initialTx);
1056
- const initialTxAsSerializedHex = (0, prepare_1.serializeTransaction)(initialTxAsEthTx);
1024
+ const initialTxAsSerializedHex = (0, prepare_1.serializeTransaction)(chainId, initialTxAsEthTx);
1057
1025
  if (__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").has(initialTxAsSerializedHex)) {
1058
1026
  return '';
1059
1027
  }
@@ -1241,9 +1209,7 @@ class TransactionController extends base_controller_1.BaseController {
1241
1209
  };
1242
1210
  // Guaranteed as the default gas fee flow matches all transactions.
1243
1211
  const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
1244
- const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
1245
- networkClientId,
1246
- });
1212
+ const gasFeeControllerData = await this.messenger.call('GasFeeController:fetchGasFeeEstimates', { networkClientId });
1247
1213
  return gasFeeFlow.getGasFees({
1248
1214
  gasFeeControllerData,
1249
1215
  messenger: this.messenger,
@@ -1476,7 +1442,7 @@ class TransactionController extends base_controller_1.BaseController {
1476
1442
  }
1477
1443
  }
1478
1444
  exports.TransactionController = TransactionController;
1479
- _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, }) {
1445
+ _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, }) {
1480
1446
  if (gasValues) {
1481
1447
  // Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
1482
1448
  // eslint-disable-next-line no-param-reassign
@@ -1489,16 +1455,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1489
1455
  if (!transactionMeta) {
1490
1456
  return;
1491
1457
  }
1492
- /* istanbul ignore next */
1493
- if (!__classPrivateFieldGet(this, _TransactionController_sign, "f")) {
1494
- throw new Error('No sign method defined.');
1495
- }
1496
1458
  const newTxParams = (0, retry_1.getTransactionParamsWithIncreasedGasFee)(transactionMeta.txParams, rate, gasValues);
1497
1459
  prepareTransactionParams?.(newTxParams);
1498
1460
  const unsignedEthTx = (0, prepare_1.prepareTransaction)(transactionMeta.chainId, newTxParams);
1499
- const signedTx = await __classPrivateFieldGet(this, _TransactionController_sign, "f").call(this, unsignedEthTx, transactionMeta.txParams.from);
1500
- const transactionMetaWithRsv = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMeta, signedTx);
1501
- const rawTx = (0, prepare_1.serializeTransaction)(signedTx);
1461
+ const signedTxData = await this.messenger.call('KeyringController:signTransaction', unsignedEthTx, transactionMeta.txParams.from);
1462
+ const transactionMetaWithRsv = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMeta, signedTxData);
1463
+ const rawTx = (0, prepare_1.serializeTransaction)(transactionMeta.chainId, signedTxData);
1502
1464
  const newFee = newTxParams.maxFeePerGas ?? newTxParams.gasPrice;
1503
1465
  const oldFee = newTxParams.maxFeePerGas
1504
1466
  ? transactionMetaWithRsv.txParams.maxFeePerGas
@@ -1537,9 +1499,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1537
1499
  });
1538
1500
  afterSubmit?.(newTransactionMeta);
1539
1501
  }, _TransactionController_signExternalTransaction = async function _TransactionController_signExternalTransaction(chainId, transactionParams) {
1540
- if (!__classPrivateFieldGet(this, _TransactionController_sign, "f")) {
1541
- throw new Error('No sign method defined.');
1542
- }
1543
1502
  const normalizedTransactionParams = (0, utils_2.normalizeTransactionParams)(transactionParams);
1544
1503
  const type = (0, utils_2.isEIP1559Transaction)(normalizedTransactionParams)
1545
1504
  ? types_1.TransactionEnvelopeType.feeMarket
@@ -1552,8 +1511,8 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1552
1511
  };
1553
1512
  const { from } = updatedTransactionParams;
1554
1513
  const unsignedTransaction = (0, prepare_1.prepareTransaction)(chainId, updatedTransactionParams);
1555
- const signedTransaction = await __classPrivateFieldGet(this, _TransactionController_sign, "f").call(this, unsignedTransaction, from);
1556
- const rawTransaction = (0, prepare_1.serializeTransaction)(signedTransaction);
1514
+ const signedTxData = await this.messenger.call('KeyringController:signTransaction', unsignedTransaction, from);
1515
+ const rawTransaction = (0, prepare_1.serializeTransaction)(chainId, signedTxData);
1557
1516
  return rawTransaction;
1558
1517
  }, _TransactionController_addMetadata = function _TransactionController_addMetadata(transactionMeta) {
1559
1518
  (0, validation_1.validateTxParams)(transactionMeta.txParams);
@@ -1572,7 +1531,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1572
1531
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await (0, gas_fees_1.updateGasFees)({
1573
1532
  eip1559: isEIP1559Compatible,
1574
1533
  gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
1575
- getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
1534
+ getGasFeeEstimates: (options) => this.messenger.call('GasFeeController:fetchGasFeeEstimates', options),
1576
1535
  getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
1577
1536
  messenger: this.messenger,
1578
1537
  txMeta: transactionMeta,
@@ -1705,11 +1664,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1705
1664
  let transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1706
1665
  (0, logger_1.projectLogger)('Approving transaction', transactionMeta);
1707
1666
  try {
1708
- if (!__classPrivateFieldGet(this, _TransactionController_sign, "f")) {
1709
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_failTransaction).call(this, transactionMeta, new Error('No sign method defined.'));
1710
- return ApprovalState.NotApproved;
1711
- }
1712
- else if (!transactionMeta.chainId) {
1667
+ if (!transactionMeta.chainId) {
1713
1668
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_failTransaction).call(this, transactionMeta, new Error('No chainId defined.'));
1714
1669
  return ApprovalState.NotApproved;
1715
1670
  }
@@ -2045,13 +2000,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2045
2000
  if (value === undefined || value === null) {
2046
2001
  continue;
2047
2002
  }
2048
- transactionMetaWithRsv[key] = (0, utils_1.add0x)(value.toString(16));
2003
+ transactionMetaWithRsv[key] = (0, utils_1.add0x)(BigInt(value).toString(16));
2049
2004
  }
2050
2005
  return transactionMetaWithRsv;
2051
2006
  }, _TransactionController_getEIP1559Compatibility = async function _TransactionController_getEIP1559Compatibility(networkClientId) {
2052
- const currentNetworkIsEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, "f").call(this, networkClientId);
2053
- const currentAccountIsEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, "f").call(this);
2054
- return (currentNetworkIsEIP1559Compatible && currentAccountIsEIP1559Compatible);
2007
+ return ((await this.messenger.call('NetworkController:getEIP1559Compatibility', networkClientId)) ?? false);
2055
2008
  }, _TransactionController_signTransaction = async function _TransactionController_signTransaction(originalTransactionMeta) {
2056
2009
  let transactionMeta = originalTransactionMeta;
2057
2010
  const { id: transactionId } = transactionMeta;
@@ -2093,29 +2046,23 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2093
2046
  const unsignedEthTx = (0, prepare_1.prepareTransaction)(chainId, finalTxParams);
2094
2047
  __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
2095
2048
  (0, logger_1.projectLogger)('Signing transaction', finalTxParams);
2096
- const signedTx = await new Promise((resolve, reject) => {
2097
- __classPrivateFieldGet(this, _TransactionController_sign, "f")?.call(this, unsignedEthTx, from, ...__classPrivateFieldGet(this, _TransactionController_getAdditionalSignArguments, "f").call(this, finalTransactionMeta)).then(resolve, reject);
2049
+ const signedTxData = await new Promise((resolve, reject) => {
2050
+ // eslint-disable-next-line promise/catch-or-return
2051
+ this.messenger
2052
+ .call('KeyringController:signTransaction', unsignedEthTx, from)
2053
+ .then(resolve, reject);
2098
2054
  __classPrivateFieldGet(this, _TransactionController_signAbortCallbacks, "f").set(transactionId, () => reject(new Error('Signing aborted by user')));
2099
2055
  });
2100
2056
  __classPrivateFieldGet(this, _TransactionController_signAbortCallbacks, "f").delete(transactionId);
2101
- if (!signedTx) {
2102
- (0, logger_1.projectLogger)('Skipping signed status as no signed transaction');
2103
- return undefined;
2104
- }
2105
2057
  const transactionMetaFromHook = (0, lodash_1.cloneDeep)(finalTransactionMeta);
2106
- if (!__classPrivateFieldGet(this, _TransactionController_afterSign, "f").call(this, transactionMetaFromHook, signedTx)) {
2107
- this.updateTransaction(transactionMetaFromHook, 'TransactionController#signTransaction - Update after sign');
2108
- (0, logger_1.projectLogger)('Skipping signed status based on hook');
2109
- return undefined;
2110
- }
2111
2058
  const transactionMetaWithRsv = {
2112
- ...__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMetaFromHook, signedTx),
2059
+ ...__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionMetaRSV).call(this, transactionMetaFromHook, signedTxData),
2113
2060
  status: types_1.TransactionStatus.signed,
2114
2061
  txParams: finalTxParams,
2115
2062
  };
2116
2063
  this.updateTransaction(transactionMetaWithRsv, 'TransactionController#approveTransaction - Transaction signed');
2117
2064
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMetaWithRsv);
2118
- const rawTx = (0, prepare_1.serializeTransaction)(signedTx);
2065
+ const rawTx = (0, prepare_1.serializeTransaction)(chainId, signedTxData);
2119
2066
  const transactionMetaWithRawTx = (0, lodash_1.merge)({}, transactionMetaWithRsv, {
2120
2067
  rawTx,
2121
2068
  });
@@ -2179,13 +2126,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2179
2126
  hooks: {
2180
2127
  beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
2181
2128
  },
2182
- isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
2183
2129
  isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
2184
2130
  messenger: this.messenger,
2185
2131
  networkClientId,
2186
- publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta, {
2187
- skipSubmitHistory: true,
2188
- }),
2189
2132
  });
2190
2133
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
2191
2134
  return pendingTransactionTracker;
@@ -2209,8 +2152,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2209
2152
  types_1.TransactionStatus.signed,
2210
2153
  types_1.TransactionStatus.submitted,
2211
2154
  ], address, chainId);
2212
- const externalPendingTransactions = __classPrivateFieldGet(this, _TransactionController_getExternalPendingTransactions, "f").call(this, address, chainId);
2213
- return [...standardPendingTransactions, ...externalPendingTransactions];
2155
+ return standardPendingTransactions;
2214
2156
  }, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(transactionMeta) {
2215
2157
  try {
2216
2158
  return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta);
@@ -2339,7 +2281,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2339
2281
  }
2340
2282
  });
2341
2283
  (0, logger_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
2342
- await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
2343
2284
  }, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
2344
2285
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
2345
2286
  (0, GasFeePoller_1.updateTransactionGasProperties)({
@@ -2373,7 +2314,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2373
2314
  .map((account) => account.address);
2374
2315
  }, _TransactionController_updateSubmitHistory = function _TransactionController_updateSubmitHistory(transactionMeta, hash) {
2375
2316
  const { chainId, networkClientId, origin, rawTx, txParams } = transactionMeta;
2376
- const { networkConfigurationsByChainId } = __classPrivateFieldGet(this, _TransactionController_getNetworkState, "f").call(this);
2317
+ const { networkConfigurationsByChainId } = this.messenger.call('NetworkController:getState');
2377
2318
  const networkConfiguration = networkConfigurationsByChainId[chainId];
2378
2319
  const endpoint = networkConfiguration?.rpcEndpoints.find((currentEndpoint) => currentEndpoint.networkClientId === networkClientId);
2379
2320
  const networkUrl = endpoint?.url;
@@ -2472,30 +2413,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2472
2413
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
2473
2414
  this.messenger.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
2474
2415
  __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
2475
- }, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
2476
- (0, logger_1.projectLogger)('Calling afterSimulate hook', transactionMeta);
2477
- const { id: transactionId } = transactionMeta;
2478
- const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
2479
- transactionMeta,
2480
- });
2481
- const { skipSimulation, updateTransaction } = result ?? {};
2482
- if (skipSimulation) {
2483
- __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
2484
- }
2485
- else if (skipSimulation === false) {
2486
- __classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").delete(transactionId);
2487
- }
2488
- if (!updateTransaction) {
2489
- return;
2490
- }
2491
- const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
2492
- transactionId,
2493
- skipResimulateCheck: true,
2494
- }, (txMeta) => {
2495
- txMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(txMeta.txParams);
2496
- updateTransaction(txMeta);
2497
- });
2498
- (0, logger_1.projectLogger)('Updated transaction with afterSimulate data', updatedTransactionMeta);
2499
2416
  }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ networkClientId, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2500
2417
  let transactionHash;
2501
2418
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {