@metamask-previews/transaction-controller 62.21.0-preview-ab77ad36e → 62.21.0-preview-54bc644cd

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.
package/CHANGELOG.md CHANGED
@@ -11,32 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  - Add optional `sourceHash` field to `MetamaskPayMetadata` for tracking source chain transaction hashes when no local transaction exists ([#8133](https://github.com/MetaMask/core/pull/8133))
13
13
  - Add `predictDepositAndOrder` to `TransactionType` ([#8135](https://github.com/MetaMask/core/pull/8135))
14
- - New public `getGasFeeTokens()` controller method ([#8183](https://github.com/MetaMask/core/pull/8183))
15
- - Expose missing public `TransactionController` methods through its messenger ([#8183](https://github.com/MetaMask/core/pull/8183))
16
- - The following actions are now available:
17
- - `TransactionController:handleMethodData`
18
- - `TransactionController:isAtomicBatchSupported`
19
- - `TransactionController:startIncomingTransactionPolling`
20
- - `TransactionController:stopIncomingTransactionPolling`
21
- - `TransactionController:updateIncomingTransactions`
22
- - `TransactionController:stopTransaction`
23
- - `TransactionController:speedUpTransaction`
24
- - `TransactionController:estimateGasBuffered`
25
- - `TransactionController:updateEditableParams`
26
- - `TransactionController:setTransactionActive`
27
- - `TransactionController:approveTransactionsWithSameNonce`
28
- - `TransactionController:estimateGasFee`
29
- - `TransactionController:getLayer1GasFee`
30
- - `TransactionController:clearUnapprovedTransactions`
31
- - `TransactionController:abortTransactionSigning`
32
- - `TransactionController:updateAtomicBatchData`
33
- - Corresponding action types (e.g. `TransactionControllerHandleMethodDataAction`) are available as well.
34
-
35
- ### Changed
36
-
37
- - **BREAKING:** Standardize names of `TransactionController` messenger action types ([#8183](https://github.com/MetaMask/core/pull/8183))
38
- - All existing types for messenger actions have been renamed so they end in `Action` (e.g. `TransactionControllerEmulateNewTransaction` -> `TransactionControllerEmulateNewTransactionAction`). You will need to update imports appropriately.
39
- - This change only affects the types. The action type strings themselves have not changed, so you do not need to update the list of actions you pass when initializing `TransactionController` messenger.
14
+
15
+ ### Changed
16
+
40
17
  - Bump `@metamask/core-backend` from `^6.1.0` to `^6.1.1` ([#8162](https://github.com/MetaMask/core/pull/8162))
41
18
 
42
19
  ### Fixed
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
- var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens;
16
+ var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
19
19
  const base_controller_1 = require("@metamask/base-controller");
@@ -133,37 +133,6 @@ function getDefaultTransactionControllerState() {
133
133
  submitHistory: [],
134
134
  };
135
135
  }
136
- // === MESSENGER ===
137
- const MESSENGER_EXPOSED_METHODS = [
138
- 'abortTransactionSigning',
139
- 'addTransaction',
140
- 'addTransactionBatch',
141
- 'approveTransactionsWithSameNonce',
142
- 'clearUnapprovedTransactions',
143
- 'confirmExternalTransaction',
144
- 'emulateNewTransaction',
145
- 'emulateTransactionUpdate',
146
- 'estimateGas',
147
- 'estimateGasBatch',
148
- 'estimateGasBuffered',
149
- 'estimateGasFee',
150
- 'getGasFeeTokens',
151
- 'getLayer1GasFee',
152
- 'getNonceLock',
153
- 'getTransactions',
154
- 'handleMethodData',
155
- 'isAtomicBatchSupported',
156
- 'setTransactionActive',
157
- 'speedUpTransaction',
158
- 'startIncomingTransactionPolling',
159
- 'stopIncomingTransactionPolling',
160
- 'stopTransaction',
161
- 'updateAtomicBatchData',
162
- 'updateCustodialTransaction',
163
- 'updateEditableParams',
164
- 'updateIncomingTransactions',
165
- 'updateTransaction',
166
- ];
167
136
  /**
168
137
  * Controller responsible for submitting and managing transactions.
169
138
  */
@@ -581,15 +550,9 @@ class TransactionController extends base_controller_1.BaseController {
581
550
  transactionMeta: addedTransactionMeta,
582
551
  };
583
552
  }
584
- /**
585
- * Starts polling for incoming transactions from the remote transaction source.
586
- */
587
553
  startIncomingTransactionPolling() {
588
554
  __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
589
555
  }
590
- /**
591
- * Stops polling for incoming transactions from the remote transaction source.
592
- */
593
556
  stopIncomingTransactionPolling() {
594
557
  __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
595
558
  }
@@ -950,14 +913,6 @@ class TransactionController extends base_controller_1.BaseController {
950
913
  this.updateTransaction(updatedMeta, `${controllerName}:updatePreviousGasParams - Previous gas values updated`);
951
914
  return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
952
915
  }
953
- /**
954
- * Acquires a nonce lock for the given address on the specified network,
955
- * ensuring that nonces are assigned sequentially without conflicts.
956
- *
957
- * @param address - The account address for which to acquire the nonce lock.
958
- * @param networkClientId - The ID of the network client to use.
959
- * @returns A promise that resolves to a nonce lock containing the next nonce and a release function.
960
- */
961
916
  async getNonceLock(address, networkClientId) {
962
917
  return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, networkClientId);
963
918
  }
@@ -1222,15 +1177,6 @@ class TransactionController extends base_controller_1.BaseController {
1222
1177
  }
1223
1178
  return filteredTransactions;
1224
1179
  }
1225
- /**
1226
- * Estimates the gas fees for a transaction.
1227
- *
1228
- * @param args - The arguments for estimating gas fees.
1229
- * @param args.transactionParams - The transaction parameters to estimate fees for.
1230
- * @param args.chainId - The chain ID to use. If not provided, the network client ID is used to determine the chain.
1231
- * @param args.networkClientId - The network client ID to use for the estimation.
1232
- * @returns A promise that resolves to the estimated gas fee response.
1233
- */
1234
1180
  async estimateGasFee({ transactionParams, chainId, networkClientId: requestNetworkClientId, }) {
1235
1181
  const { id: networkClientId, provider } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
1236
1182
  chainId,
@@ -1443,30 +1389,6 @@ class TransactionController extends base_controller_1.BaseController {
1443
1389
  transactionMeta: updatedTransactionMeta,
1444
1390
  });
1445
1391
  }
1446
- /**
1447
- * Retrieve available gas fee tokens for a transaction.
1448
- *
1449
- * @param request - The request object containing transaction details.
1450
- * @returns The list of available gas fee tokens.
1451
- */
1452
- async getGasFeeTokens(request) {
1453
- const { chainId, data, from, to, value } = request;
1454
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId });
1455
- const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, ethQuery);
1456
- const transaction = {
1457
- chainId,
1458
- delegationAddress,
1459
- isExternalSign: true,
1460
- txParams: {
1461
- data,
1462
- from,
1463
- to,
1464
- value,
1465
- },
1466
- };
1467
- const result = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transaction);
1468
- return result.gasFeeTokens;
1469
- }
1470
1392
  }
1471
1393
  exports.TransactionController = TransactionController;
1472
1394
  _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, }) {
@@ -2401,7 +2323,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2401
2323
  txMeta: transactionMeta,
2402
2324
  });
2403
2325
  }, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
2404
- this.messenger.registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
2326
+ this.messenger.registerActionHandler(`${controllerName}:addTransaction`, this.addTransaction.bind(this));
2327
+ this.messenger.registerActionHandler(`${controllerName}:addTransactionBatch`, this.addTransactionBatch.bind(this));
2328
+ this.messenger.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
2329
+ this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
2330
+ this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
2331
+ this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
2332
+ this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
2333
+ this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
2334
+ this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
2335
+ this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
2336
+ this.messenger.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
2337
+ this.messenger.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
2405
2338
  }, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
2406
2339
  this.update((state) => {
2407
2340
  const transactions = state.transactions.filter(({ id }) => id !== transactionId);
@@ -2495,5 +2428,22 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2495
2428
  publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
2496
2429
  transactionMeta: transaction,
2497
2430
  });
2431
+ }, _TransactionController_getGasFeeTokensAction = async function _TransactionController_getGasFeeTokensAction(request) {
2432
+ const { chainId, data, from, to, value } = request;
2433
+ const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId });
2434
+ const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, ethQuery);
2435
+ const transaction = {
2436
+ chainId,
2437
+ delegationAddress,
2438
+ isExternalSign: true,
2439
+ txParams: {
2440
+ data,
2441
+ from,
2442
+ to,
2443
+ value,
2444
+ },
2445
+ };
2446
+ const result = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transaction);
2447
+ return result.gasFeeTokens;
2498
2448
  };
2499
2449
  //# sourceMappingURL=TransactionController.cjs.map