@metamask/transaction-controller 62.2.0 → 62.3.1

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,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [62.3.1]
11
+
12
+ ### Fixed
13
+
14
+ - Fail required transactions of any approved and signed transactions during initialisation ([#7251](https://github.com/MetaMask/core/pull/7251))
15
+ - Include `isExternalSign` when fetching gas fee tokens in messenger action or before publish check.
16
+
17
+ ## [62.3.0]
18
+
19
+ ### Changed
20
+
21
+ - Check balance and gas fee tokens only after before sign hook ([#7234](https://github.com/MetaMask/core/pull/7234))
22
+
10
23
  ## [62.2.0]
11
24
 
12
25
  ### Added
@@ -1979,7 +1992,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1979
1992
 
1980
1993
  All changes listed after this point were applied to this package following the monorepo conversion.
1981
1994
 
1982
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.2.0...HEAD
1995
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.1...HEAD
1996
+ [62.3.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.0...@metamask/transaction-controller@62.3.1
1997
+ [62.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.2.0...@metamask/transaction-controller@62.3.0
1983
1998
  [62.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.1.0...@metamask/transaction-controller@62.2.0
1984
1999
  [62.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.0.0...@metamask/transaction-controller@62.1.0
1985
2000
  [62.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.3.0...@metamask/transaction-controller@62.0.0
@@ -1509,6 +1509,15 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
1509
1509
  const incompleteTransactions = this.state.transactions.filter((transaction) => [types_1.TransactionStatus.approved, types_1.TransactionStatus.signed].includes(transaction.status));
1510
1510
  for (const transactionMeta of incompleteTransactions) {
1511
1511
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_failTransaction).call(this, transactionMeta, new Error('Transaction incomplete at startup'));
1512
+ const requiredTransactionIds = transactionMeta.requiredTransactionIds ?? [];
1513
+ for (const requiredTransactionId of requiredTransactionIds) {
1514
+ const requiredTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, requiredTransactionId);
1515
+ if (!requiredTransactionMeta ||
1516
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isFinalState).call(this, requiredTransactionMeta.status)) {
1517
+ continue;
1518
+ }
1519
+ __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_failTransaction).call(this, requiredTransactionMeta, new Error('Parent transaction incomplete at startup'));
1520
+ }
1512
1521
  }
1513
1522
  }, _TransactionController_processApproval = async function _TransactionController_processApproval(transactionMeta, { actionId, isExisting = false, publishHook, requireApproval, shouldShowRequest = true, traceContext, }) {
1514
1523
  const transactionId = transactionMeta.id;
@@ -1613,13 +1622,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1613
1622
  clearApprovingTransactionId = () => __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").delete(transactionId);
1614
1623
  const { networkClientId } = transactionMeta;
1615
1624
  const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1616
- await (0, gas_fee_tokens_1.checkGasFeeTokenBeforePublish)({
1617
- ethQuery,
1618
- fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
1619
- transaction: transactionMeta,
1620
- updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
1621
- });
1622
- transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1623
1625
  const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
1624
1626
  clearNonceLock = releaseNonce;
1625
1627
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
@@ -1753,7 +1755,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1753
1755
  }, _TransactionController_isFinalState = function _TransactionController_isFinalState(status) {
1754
1756
  return (status === types_1.TransactionStatus.rejected ||
1755
1757
  status === types_1.TransactionStatus.confirmed ||
1756
- status === types_1.TransactionStatus.failed);
1758
+ status === types_1.TransactionStatus.failed ||
1759
+ status === types_1.TransactionStatus.dropped);
1757
1760
  }, _TransactionController_isLocalFinalState = function _TransactionController_isLocalFinalState(status) {
1758
1761
  return [
1759
1762
  types_1.TransactionStatus.confirmed,
@@ -2414,6 +2417,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2414
2417
  const transaction = {
2415
2418
  chainId,
2416
2419
  delegationAddress,
2420
+ isExternalSign: true,
2417
2421
  txParams: {
2418
2422
  data,
2419
2423
  from,