@metamask-previews/transaction-controller 57.3.0-preview-4e3fd4c0 → 58.0.0-preview-08a4995

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 (44) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/TransactionController.cjs +21 -17
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +1 -1
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +1 -1
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +21 -17
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/api/accounts-api.cjs.map +1 -1
  11. package/dist/api/accounts-api.d.cts +1 -1
  12. package/dist/api/accounts-api.d.cts.map +1 -1
  13. package/dist/api/accounts-api.d.mts +1 -1
  14. package/dist/api/accounts-api.d.mts.map +1 -1
  15. package/dist/api/accounts-api.mjs.map +1 -1
  16. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +39 -105
  17. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
  18. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
  19. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
  20. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +39 -105
  21. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
  22. package/dist/helpers/IncomingTransactionHelper.cjs +7 -18
  23. package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
  24. package/dist/helpers/IncomingTransactionHelper.d.cts +6 -4
  25. package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
  26. package/dist/helpers/IncomingTransactionHelper.d.mts +6 -4
  27. package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
  28. package/dist/helpers/IncomingTransactionHelper.mjs +7 -18
  29. package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
  30. package/dist/types.cjs.map +1 -1
  31. package/dist/types.d.cts +2 -13
  32. package/dist/types.d.cts.map +1 -1
  33. package/dist/types.d.mts +2 -13
  34. package/dist/types.d.mts.map +1 -1
  35. package/dist/types.mjs.map +1 -1
  36. package/dist/utils/transaction-type.cjs +23 -27
  37. package/dist/utils/transaction-type.cjs.map +1 -1
  38. package/dist/utils/transaction-type.d.cts +1 -1
  39. package/dist/utils/transaction-type.d.cts.map +1 -1
  40. package/dist/utils/transaction-type.d.mts +1 -1
  41. package/dist/utils/transaction-type.d.mts.map +1 -1
  42. package/dist/utils/transaction-type.mjs +23 -27
  43. package/dist/utils/transaction-type.mjs.map +1 -1
  44. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -9,6 +9,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Added
11
11
 
12
+ - Add specific transaction types to outgoing transactions retrieved from accounts API ([#5987](https://github.com/MetaMask/core/pull/5987))
13
+ - Add optional `amount` property to `transferInformation` object in `TransactionMeta` type.
14
+
15
+ ### Changed
16
+
17
+ - Query only latest page of transactions from accounts API ([#5983](https://github.com/MetaMask/core/pull/5983))
18
+ - Remove incoming transactions when calling `wipeTransactions` ([#5986](https://github.com/MetaMask/core/pull/5986))
19
+ - Poll immediately when calling `startIncomingTransactionPolling` ([#5986](https://github.com/MetaMask/core/pull/5986))
20
+
21
+ ## [58.0.0]
22
+
23
+ ### Changed
24
+
25
+ - **BREAKING:** Bump peer dependency `@metamask/accounts-controller` to `^31.0.0` ([#5999](https://github.com/MetaMask/core/pull/5999))
26
+ - **BREAKING:** Bump peer dependency `@metamask/gas-fee-controller` to `^24.0.0` ([#5999](https://github.com/MetaMask/core/pull/5999))
27
+ - **BREAKING:** Bump peer dependency `@metamask/network-controller` to `^24.0.0` ([#5999](https://github.com/MetaMask/core/pull/5999))
28
+
29
+ ## [57.4.0]
30
+
31
+ ### Added
32
+
12
33
  - Add optional `afterSimulate` and `beforeSign` hooks to constructor ([#5503](https://github.com/MetaMask/core/pull/5503))
13
34
  - Add `AfterSimulateHook` type.
14
35
  - Add `BeforeSignHook` type.
@@ -18,6 +39,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
18
39
  - Add optional `ignoreDelegationSignatures` boolean to `estimateGas` method.
19
40
  - Add `gasFeeEstimates` property to `TransactionBatchMeta`, populated using `DefaultGasFeeFlow` ([#5886](https://github.com/MetaMask/core/pull/5886))
20
41
 
42
+ ### Fixed
43
+
44
+ - Handle unknown chain IDs on incoming transactions ([#5985](https://github.com/MetaMask/core/pull/5985))
45
+
21
46
  ## [57.3.0]
22
47
 
23
48
  ### Added
@@ -1679,7 +1704,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1679
1704
 
1680
1705
  All changes listed after this point were applied to this package following the monorepo conversion.
1681
1706
 
1682
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@57.3.0...HEAD
1707
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@58.0.0...HEAD
1708
+ [58.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@57.4.0...@metamask/transaction-controller@58.0.0
1709
+ [57.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@57.3.0...@metamask/transaction-controller@57.4.0
1683
1710
  [57.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@57.2.0...@metamask/transaction-controller@57.3.0
1684
1711
  [57.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@57.1.0...@metamask/transaction-controller@57.2.0
1685
1712
  [57.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@57.0.0...@metamask/transaction-controller@57.1.0
@@ -263,23 +263,15 @@ class TransactionController extends base_controller_1.BaseController {
263
263
  _state.methodData[fourBytePrefix] = methodData;
264
264
  });
265
265
  });
266
- const updateCache = (fn) => {
267
- this.update((_state) => {
268
- fn(_state.lastFetchedBlockNumbers);
269
- });
270
- };
271
266
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
272
267
  client: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").client,
273
- getCache: () => this.state.lastFetchedBlockNumbers,
274
268
  getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
275
269
  getLocalTransactions: () => this.state.transactions,
276
270
  includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
277
271
  isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
278
272
  messenger: this.messagingSystem,
279
- queryEntireHistory: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").queryEntireHistory,
280
273
  remoteTransactionSource: new AccountsApiRemoteTransactionSource_1.AccountsApiRemoteTransactionSource(),
281
274
  trimTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).bind(this),
282
- updateCache,
283
275
  updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
284
276
  }), "f");
285
277
  __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f"));
@@ -672,12 +664,15 @@ class TransactionController extends base_controller_1.BaseController {
672
664
  });
673
665
  return;
674
666
  }
675
- const newTransactions = this.state.transactions.filter(({ chainId: txChainId, txParams }) => {
667
+ const newTransactions = this.state.transactions.filter(({ chainId: txChainId, txParams, type }) => {
676
668
  const isMatchingNetwork = !chainId || chainId === txChainId;
677
669
  if (!isMatchingNetwork) {
678
670
  return true;
679
671
  }
680
- const isMatchingAddress = !address || txParams.from?.toLowerCase() === address.toLowerCase();
672
+ const isMatchingAddress = !address ||
673
+ txParams.from?.toLowerCase() === address.toLowerCase() ||
674
+ (type === types_1.TransactionType.incoming &&
675
+ txParams.to?.toLowerCase() === address.toLowerCase());
681
676
  return !isMatchingAddress;
682
677
  });
683
678
  this.update((state) => {
@@ -1704,14 +1699,23 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1704
1699
  if (!transactions.length) {
1705
1700
  return;
1706
1701
  }
1707
- const finalTransactions = transactions.map((tx) => {
1702
+ const finalTransactions = [];
1703
+ for (const tx of transactions) {
1708
1704
  const { chainId } = tx;
1709
- const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1710
- return {
1711
- ...tx,
1712
- networkClientId,
1713
- };
1714
- });
1705
+ try {
1706
+ const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
1707
+ finalTransactions.push({
1708
+ ...tx,
1709
+ networkClientId,
1710
+ });
1711
+ }
1712
+ catch (error) {
1713
+ (0, logger_1.projectLogger)('Failed to get network client ID for incoming transaction', {
1714
+ chainId,
1715
+ error,
1716
+ });
1717
+ }
1718
+ }
1715
1719
  this.update((state) => {
1716
1720
  const { transactions: currentTransactions } = state;
1717
1721
  state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [