@metamask-previews/transaction-controller 48.2.0-preview-c37ee1c7 → 49.0.0-preview-674a490

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 (64) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/TransactionController.cjs +21 -7
  3. package/dist/TransactionController.cjs.map +1 -1
  4. package/dist/TransactionController.d.cts +6 -3
  5. package/dist/TransactionController.d.cts.map +1 -1
  6. package/dist/TransactionController.d.mts +6 -3
  7. package/dist/TransactionController.d.mts.map +1 -1
  8. package/dist/TransactionController.mjs +21 -7
  9. package/dist/TransactionController.mjs.map +1 -1
  10. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +8 -3
  11. package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
  12. package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
  13. package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
  14. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +8 -3
  15. package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
  16. package/dist/helpers/IncomingTransactionHelper.cjs +12 -4
  17. package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
  18. package/dist/helpers/IncomingTransactionHelper.d.cts +3 -1
  19. package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
  20. package/dist/helpers/IncomingTransactionHelper.d.mts +3 -1
  21. package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
  22. package/dist/helpers/IncomingTransactionHelper.mjs +12 -4
  23. package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
  24. package/dist/types.cjs +5 -0
  25. package/dist/types.cjs.map +1 -1
  26. package/dist/types.d.cts +9 -0
  27. package/dist/types.d.cts.map +1 -1
  28. package/dist/types.d.mts +9 -0
  29. package/dist/types.d.mts.map +1 -1
  30. package/dist/types.mjs +5 -0
  31. package/dist/types.mjs.map +1 -1
  32. package/dist/utils/batch.cjs +11 -5
  33. package/dist/utils/batch.cjs.map +1 -1
  34. package/dist/utils/batch.d.cts +2 -0
  35. package/dist/utils/batch.d.cts.map +1 -1
  36. package/dist/utils/batch.d.mts +2 -0
  37. package/dist/utils/batch.d.mts.map +1 -1
  38. package/dist/utils/batch.mjs +11 -5
  39. package/dist/utils/batch.mjs.map +1 -1
  40. package/dist/utils/eip7702.cjs +3 -2
  41. package/dist/utils/eip7702.cjs.map +1 -1
  42. package/dist/utils/eip7702.d.cts +2 -1
  43. package/dist/utils/eip7702.d.cts.map +1 -1
  44. package/dist/utils/eip7702.d.mts +2 -1
  45. package/dist/utils/eip7702.d.mts.map +1 -1
  46. package/dist/utils/eip7702.mjs +3 -2
  47. package/dist/utils/eip7702.mjs.map +1 -1
  48. package/dist/utils/feature-flags.cjs +10 -4
  49. package/dist/utils/feature-flags.cjs.map +1 -1
  50. package/dist/utils/feature-flags.d.cts +12 -5
  51. package/dist/utils/feature-flags.d.cts.map +1 -1
  52. package/dist/utils/feature-flags.d.mts +12 -5
  53. package/dist/utils/feature-flags.d.mts.map +1 -1
  54. package/dist/utils/feature-flags.mjs +10 -4
  55. package/dist/utils/feature-flags.mjs.map +1 -1
  56. package/dist/utils/signature.cjs +21 -0
  57. package/dist/utils/signature.cjs.map +1 -0
  58. package/dist/utils/signature.d.cts +11 -0
  59. package/dist/utils/signature.d.cts.map +1 -0
  60. package/dist/utils/signature.d.mts +11 -0
  61. package/dist/utils/signature.d.mts.map +1 -0
  62. package/dist/utils/signature.mjs +17 -0
  63. package/dist/utils/signature.mjs.map +1 -0
  64. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -7,8 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [49.0.0]
11
+
10
12
  ### Added
11
13
 
14
+ - Add `revertDelegation` to `TransactionType` ([#5468](https://github.com/MetaMask/core/pull/5468))
12
15
  - Add optional batch ID to metadata ([#5462](https://github.com/MetaMask/core/pull/5462))
13
16
  - Add optional `batchId` property to `TransactionMeta`.
14
17
  - Add optional `transactionHash` to `TransactionReceipt`.
@@ -1355,7 +1358,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1355
1358
 
1356
1359
  All changes listed after this point were applied to this package following the monorepo conversion.
1357
1360
 
1358
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.2.0...HEAD
1361
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@49.0.0...HEAD
1362
+ [49.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.2.0...@metamask/transaction-controller@49.0.0
1359
1363
  [48.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.1.0...@metamask/transaction-controller@48.2.0
1360
1364
  [48.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.0.0...@metamask/transaction-controller@48.1.0
1361
1365
  [48.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@47.0.0...@metamask/transaction-controller@48.0.0
@@ -13,7 +13,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || 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_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate;
16
+ var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionChainIds, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate;
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");
@@ -156,7 +156,7 @@ class TransactionController extends base_controller_1.BaseController {
156
156
  * @param options - The controller options.
157
157
  */
158
158
  constructor(options) {
159
- const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, } = options;
159
+ const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, } = options;
160
160
  super({
161
161
  name: controllerName,
162
162
  metadata,
@@ -171,9 +171,11 @@ class TransactionController extends base_controller_1.BaseController {
171
171
  this.approvingTransactionIds = new Set();
172
172
  _TransactionController_methodDataHelper.set(this, void 0);
173
173
  this.mutex = new async_mutex_1.Mutex();
174
+ _TransactionController_incomingTransactionChainIds.set(this, new Set());
174
175
  _TransactionController_incomingTransactionHelper.set(this, void 0);
175
176
  _TransactionController_incomingTransactionOptions.set(this, void 0);
176
177
  _TransactionController_pendingTransactionOptions.set(this, void 0);
178
+ _TransactionController_publicKeyEIP7702.set(this, void 0);
177
179
  this.signAbortCallbacks = new Map();
178
180
  _TransactionController_trace.set(this, void 0);
179
181
  _TransactionController_transactionHistoryLimit.set(this, void 0);
@@ -204,6 +206,7 @@ class TransactionController extends base_controller_1.BaseController {
204
206
  this.securityProviderRequest = securityProviderRequest;
205
207
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
206
208
  __classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
209
+ __classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
207
210
  __classPrivateFieldSet(this, _TransactionController_transactionHistoryLimit, transactionHistoryLimit, "f");
208
211
  this.sign = sign;
209
212
  __classPrivateFieldSet(this, _TransactionController_testGasFeeFlows, testGasFeeFlows === true, "f");
@@ -265,6 +268,7 @@ class TransactionController extends base_controller_1.BaseController {
265
268
  };
266
269
  __classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
267
270
  getCache: () => this.state.lastFetchedBlockNumbers,
271
+ getChainIds: () => [...__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f")],
268
272
  getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
269
273
  getLocalTransactions: () => this.state.transactions,
270
274
  includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
@@ -318,6 +322,7 @@ class TransactionController extends base_controller_1.BaseController {
318
322
  getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
319
323
  getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
320
324
  messenger: this.messagingSystem,
325
+ publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
321
326
  request,
322
327
  });
323
328
  }
@@ -332,6 +337,7 @@ class TransactionController extends base_controller_1.BaseController {
332
337
  address,
333
338
  getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
334
339
  messenger: this.messagingSystem,
340
+ publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
335
341
  });
336
342
  }
337
343
  /**
@@ -469,13 +475,21 @@ class TransactionController extends base_controller_1.BaseController {
469
475
  transactionMeta: addedTransactionMeta,
470
476
  };
471
477
  }
472
- startIncomingTransactionPolling() {
478
+ startIncomingTransactionPolling(chainIds) {
479
+ chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
473
480
  __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
474
481
  }
475
- stopIncomingTransactionPolling() {
476
- __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
482
+ stopIncomingTransactionPolling(chainIds) {
483
+ chainIds?.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").delete(chainId));
484
+ if (!chainIds) {
485
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").clear();
486
+ }
487
+ if (__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").size === 0) {
488
+ __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
489
+ }
477
490
  }
478
- async updateIncomingTransactions() {
491
+ async updateIncomingTransactions(chainIds) {
492
+ chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
479
493
  await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update();
480
494
  }
481
495
  /**
@@ -1784,7 +1798,7 @@ class TransactionController extends base_controller_1.BaseController {
1784
1798
  }
1785
1799
  }
1786
1800
  exports.TransactionController = TransactionController;
1787
- _TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
1801
+ _TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_incomingTransactionChainIds = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
1788
1802
  // If transaction is found for same action id, do not create a new transaction.
1789
1803
  if (this.getTransactionWithActionId(actionId)) {
1790
1804
  return;