@metamask-previews/transaction-controller 62.6.0-preview-565dfca2 → 62.7.0-preview-c208c1a

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
@@ -7,9 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+
12
+ - Include pending authorizations in nonce calculation ([#7446](https://github.com/MetaMask/core/pull/7446))
13
+
14
+ ## [62.7.0]
15
+
10
16
  ### Added
11
17
 
12
- - Add intent based transaction support ([#6547](https://github.com/MetaMask/core/pull/6547))
18
+ - Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
13
19
 
14
20
  ## [62.6.0]
15
21
 
@@ -21,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
21
27
  - Add optional `isTimeoutEnabled` callback to disable for specific transactions.
22
28
  - Ignores transactions with future nonce.
23
29
  - Threshold determined by feature flag.
30
+ - Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
24
31
 
25
32
  ### Changed
26
33
 
@@ -2032,7 +2039,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2032
2039
 
2033
2040
  All changes listed after this point were applied to this package following the monorepo conversion.
2034
2041
 
2035
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...HEAD
2042
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.7.0...HEAD
2043
+ [62.7.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...@metamask/transaction-controller@62.7.0
2036
2044
  [62.6.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.5.0...@metamask/transaction-controller@62.6.0
2037
2045
  [62.5.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.4.0...@metamask/transaction-controller@62.5.0
2038
2046
  [62.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.1...@metamask/transaction-controller@62.4.0
@@ -391,7 +391,7 @@ class TransactionController extends base_controller_1.BaseController {
391
391
  */
392
392
  async addTransaction(txParams, options) {
393
393
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
394
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
394
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
395
395
  // eslint-disable-next-line no-param-reassign
396
396
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
397
397
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
@@ -449,6 +449,7 @@ class TransactionController extends base_controller_1.BaseController {
449
449
  nestedTransactions,
450
450
  networkClientId,
451
451
  origin,
452
+ requestId,
452
453
  securityAlertResponse,
453
454
  selectedGasFeeToken: gasFeeToken,
454
455
  status: types_1.TransactionStatus.unapproved,
@@ -466,26 +467,12 @@ class TransactionController extends base_controller_1.BaseController {
466
467
  addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
467
468
  updateTransaction(addedTransactionMeta);
468
469
  }
470
+ // eslint-disable-next-line no-negated-condition
469
471
  if (!skipInitialGasEstimate) {
470
472
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, addedTransactionMeta, {
471
473
  traceContext: context,
472
474
  }));
473
475
  }
474
- else if (isEIP1559Compatible &&
475
- addedTransactionMeta.txParams.gasPrice &&
476
- !addedTransactionMeta.txParams.maxFeePerGas) {
477
- // Convert legacy gasPrice to EIP-1559 fees for intent transactions on EIP-1559 networks
478
- addedTransactionMeta.txParams.maxFeePerGas =
479
- addedTransactionMeta.txParams.gasPrice;
480
- addedTransactionMeta.txParams.maxPriorityFeePerGas =
481
- addedTransactionMeta.txParams.gasPrice;
482
- addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.feeMarket;
483
- delete addedTransactionMeta.txParams.gasPrice; // Remove legacy gas price
484
- }
485
- else if (!isEIP1559Compatible && addedTransactionMeta.txParams.gasPrice) {
486
- // Ensure legacy type for non-EIP-1559 networks
487
- addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.legacy;
488
- }
489
476
  else {
490
477
  const newTransactionMeta = (0, lodash_1.cloneDeep)(addedTransactionMeta);
491
478
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, newTransactionMeta)
@@ -1600,31 +1587,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1600
1587
  this.updateTransaction(updatedTransaction, 'TransactionController#processApproval - Updated with approval data');
1601
1588
  }
1602
1589
  }
1603
- // For intent-based transactions (e.g., CoW intents) that are not meant to be
1604
- // published on-chain by the TransactionController, skip the approve/publish flow.
1605
- // These are tracked externally and should not be signed or sent.
1606
- const isIntentTransaction = Boolean(
1607
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1608
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId)?.swapMetaData
1609
- ?.isIntentTx === true);
1610
- if (requireApproval === false && isIntentTransaction) {
1611
- const submittedTxMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1612
- transactionId,
1613
- note: 'TransactionController#processApproval - Intent transaction auto-submitted',
1614
- skipValidation: true,
1615
- }, (draftTxMeta) => {
1616
- draftTxMeta.status = types_1.TransactionStatus.submitted;
1617
- draftTxMeta.submittedTime = new Date().getTime();
1618
- });
1619
- this.messenger.publish(`${controllerName}:transactionSubmitted`, {
1620
- transactionMeta: submittedTxMeta,
1621
- });
1622
- this.messenger.publish(`${controllerName}:transactionFinished`, submittedTxMeta);
1623
- __classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, submittedTxMeta);
1624
- // Short-circuit normal flow; result callbacks will be handled by the
1625
- // finished promise below.
1626
- return ApprovalState.Approved;
1627
- }
1628
1590
  const { isCompleted: isTxCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
1629
1591
  if (!isTxCompleted) {
1630
1592
  const approvalResult = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_approveTransaction).call(this, transactionId, traceContext, publishHook);