@metamask/transaction-controller 60.7.0 → 60.9.0

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 (60) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/TransactionController.cjs +25 -14
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts.map +1 -1
  5. package/dist/TransactionController.d.mts.map +1 -1
  6. package/dist/TransactionController.mjs +25 -14
  7. package/dist/TransactionController.mjs.map +1 -1
  8. package/dist/api/accounts-api.cjs +2 -1
  9. package/dist/api/accounts-api.cjs.map +1 -1
  10. package/dist/api/accounts-api.d.cts.map +1 -1
  11. package/dist/api/accounts-api.d.mts.map +1 -1
  12. package/dist/api/accounts-api.mjs +2 -1
  13. package/dist/api/accounts-api.mjs.map +1 -1
  14. package/dist/constants.cjs +1 -0
  15. package/dist/constants.cjs.map +1 -1
  16. package/dist/constants.d.cts +1 -0
  17. package/dist/constants.d.cts.map +1 -1
  18. package/dist/constants.d.mts +1 -0
  19. package/dist/constants.d.mts.map +1 -1
  20. package/dist/constants.mjs +1 -0
  21. package/dist/constants.mjs.map +1 -1
  22. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +1 -0
  23. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
  24. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
  25. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
  26. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +1 -0
  27. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
  28. package/dist/hooks/ExtraTransactionsPublishHook.cjs +21 -6
  29. package/dist/hooks/ExtraTransactionsPublishHook.cjs.map +1 -1
  30. package/dist/hooks/ExtraTransactionsPublishHook.d.cts +4 -2
  31. package/dist/hooks/ExtraTransactionsPublishHook.d.cts.map +1 -1
  32. package/dist/hooks/ExtraTransactionsPublishHook.d.mts +4 -2
  33. package/dist/hooks/ExtraTransactionsPublishHook.d.mts.map +1 -1
  34. package/dist/hooks/ExtraTransactionsPublishHook.mjs +21 -6
  35. package/dist/hooks/ExtraTransactionsPublishHook.mjs.map +1 -1
  36. package/dist/types.cjs +8 -0
  37. package/dist/types.cjs.map +1 -1
  38. package/dist/types.d.cts +10 -0
  39. package/dist/types.d.cts.map +1 -1
  40. package/dist/types.d.mts +10 -0
  41. package/dist/types.d.mts.map +1 -1
  42. package/dist/types.mjs +8 -0
  43. package/dist/types.mjs.map +1 -1
  44. package/dist/utils/batch.cjs +89 -22
  45. package/dist/utils/batch.cjs.map +1 -1
  46. package/dist/utils/batch.d.cts +1 -0
  47. package/dist/utils/batch.d.cts.map +1 -1
  48. package/dist/utils/batch.d.mts +1 -0
  49. package/dist/utils/batch.d.mts.map +1 -1
  50. package/dist/utils/batch.mjs +89 -22
  51. package/dist/utils/batch.mjs.map +1 -1
  52. package/dist/utils/swaps.cjs +6 -0
  53. package/dist/utils/swaps.cjs.map +1 -1
  54. package/dist/utils/swaps.d.cts +1 -0
  55. package/dist/utils/swaps.d.cts.map +1 -1
  56. package/dist/utils/swaps.d.mts +1 -0
  57. package/dist/utils/swaps.d.mts.map +1 -1
  58. package/dist/utils/swaps.mjs +6 -0
  59. package/dist/utils/swaps.mjs.map +1 -1
  60. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [60.9.0]
11
+
12
+ ### Added
13
+
14
+ - Add `predictWithdraw` to `TransactionType` ([#6860](https://github.com/MetaMask/core/pull/6860))
15
+
16
+ ## [60.8.0]
17
+
18
+ ### Added
19
+
20
+ - Convert existing transaction to EIP-7702 on publish if `batchTransactions` are set ([#6844](https://github.com/MetaMask/core/pull/6844))
21
+ - Add optional `newSignature` to `onPublish` callback in `TransactionBatchSingleRequest`.
22
+ - Add `MONAD` network support ([#6827](https://github.com/MetaMask/core/pull/6827))
23
+ - Add account address relationship API support
24
+ - Add incoming transactions API support
25
+
26
+ ### Changed
27
+
28
+ - Bump `@metamask/eth-block-tracker` from `^13.0.0` to `^14.0.0` ([#6883](https://github.com/MetaMask/core/pull/6883))
29
+ - Update dependencies that indirectly use v4 of `eth-json-rpc-provider` ([#6811](https://github.com/MetaMask/core/pull/6811))
30
+
10
31
  ## [60.7.0]
11
32
 
12
33
  ### Added
@@ -1856,7 +1877,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1856
1877
 
1857
1878
  All changes listed after this point were applied to this package following the monorepo conversion.
1858
1879
 
1859
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.7.0...HEAD
1880
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.9.0...HEAD
1881
+ [60.9.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.8.0...@metamask/transaction-controller@60.9.0
1882
+ [60.8.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.7.0...@metamask/transaction-controller@60.8.0
1860
1883
  [60.7.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.6.1...@metamask/transaction-controller@60.7.0
1861
1884
  [60.6.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.6.0...@metamask/transaction-controller@60.6.1
1862
1885
  [60.6.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.5.0...@metamask/transaction-controller@60.6.0
@@ -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_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _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_transactionHistoryLimit, _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;
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_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _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_transactionHistoryLimit, _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;
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");
@@ -329,6 +329,7 @@ class TransactionController extends base_controller_1.BaseController {
329
329
  const { blockTracker } = this.messagingSystem.call(`NetworkController:getNetworkClientById`, request.networkClientId);
330
330
  return await (0, batch_1.addTransactionBatch)({
331
331
  addTransaction: this.addTransaction.bind(this),
332
+ estimateGas: this.estimateGas.bind(this),
332
333
  getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
333
334
  getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
334
335
  getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
@@ -1566,27 +1567,23 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1566
1567
  ]);
1567
1568
  }
1568
1569
  (0, logger_1.projectLogger)('Publishing transaction', transactionMeta.txParams);
1569
- let hash;
1570
1570
  clearNonceLock?.();
1571
1571
  clearNonceLock = undefined;
1572
+ let publishHook = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_defaultPublishHook).bind(this, {
1573
+ ethQuery,
1574
+ publishHookOverride,
1575
+ traceContext,
1576
+ });
1572
1577
  if (transactionMeta.batchTransactions?.length) {
1573
1578
  (0, logger_1.projectLogger)('Found batch transactions', transactionMeta.batchTransactions);
1574
1579
  const extraTransactionsPublishHook = new ExtraTransactionsPublishHook_1.ExtraTransactionsPublishHook({
1575
1580
  addTransactionBatch: this.addTransactionBatch.bind(this),
1581
+ getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).bind(this),
1582
+ originalPublishHook: publishHook,
1576
1583
  });
1577
- publishHookOverride = extraTransactionsPublishHook.getHook();
1584
+ publishHook = extraTransactionsPublishHook.getHook();
1578
1585
  }
1579
- await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
1580
- const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
1581
- ({ transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x'));
1582
- if (hash === undefined) {
1583
- hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
1584
- ...transactionMeta,
1585
- rawTx,
1586
- });
1587
- }
1588
- });
1589
- (0, logger_1.projectLogger)('Publish successful', hash);
1586
+ const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
1590
1587
  transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1591
1588
  transactionId,
1592
1589
  note: 'TransactionController#approveTransaction - Transaction submitted',
@@ -2288,5 +2285,19 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2288
2285
  updateTransaction(txMeta);
2289
2286
  });
2290
2287
  (0, logger_1.projectLogger)('Updated transaction with afterSimulate data', updatedTransactionMeta);
2288
+ }, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ ethQuery, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2289
+ let transactionHash;
2290
+ await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
2291
+ const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
2292
+ ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2293
+ if (transactionHash === undefined) {
2294
+ transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
2295
+ ...transactionMeta,
2296
+ rawTx: signedTx,
2297
+ });
2298
+ }
2299
+ });
2300
+ (0, logger_1.projectLogger)('Publish successful', transactionHash);
2301
+ return { transactionHash };
2291
2302
  };
2292
2303
  //# sourceMappingURL=TransactionController.cjs.map