@metamask-previews/transaction-controller 46.0.0-preview-90578fc4 → 46.0.0-preview-af470a9

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
@@ -9,7 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Added
11
11
 
12
- - Add `updateAtomicBatchData` method ([#5380](https://github.com/MetaMask/core/pull/5380))
13
12
  - Support atomic batch transactions ([#5306](https://github.com/MetaMask/core/pull/5306))
14
13
  - Add methods:
15
14
  - `addTransactionBatch`
@@ -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_incomingTransactionChainIds, _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_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;
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");
@@ -372,6 +372,7 @@ class TransactionController extends base_controller_1.BaseController {
372
372
  const selectedAddress = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this).address;
373
373
  const internalAccounts = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).call(this);
374
374
  await (0, validation_1.validateTransactionOrigin)({
375
+ data: txParams.data,
375
376
  from: txParams.from,
376
377
  internalAccounts,
377
378
  origin,
@@ -1103,54 +1104,6 @@ class TransactionController extends base_controller_1.BaseController {
1103
1104
  abortCallback();
1104
1105
  this.signAbortCallbacks.delete(transactionId);
1105
1106
  }
1106
- /**
1107
- * Update the transaction data of a single nested transaction within an atomic batch transaction.
1108
- *
1109
- * @param options - The options bag.
1110
- * @param options.transactionId - ID of the atomic batch transaction.
1111
- * @param options.transactionIndex - Index of the nested transaction within the atomic batch transaction.
1112
- * @param options.transactionData - New data to set for the nested transaction.
1113
- * @returns The updated data for the atomic batch transaction.
1114
- */
1115
- async updateAtomicBatchData({ transactionId, transactionIndex, transactionData, }) {
1116
- (0, logger_1.projectLogger)('Updating atomic batch data', {
1117
- transactionId,
1118
- transactionIndex,
1119
- transactionData,
1120
- });
1121
- const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1122
- transactionId,
1123
- note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
1124
- }, (transactionMeta) => {
1125
- const { nestedTransactions, txParams } = transactionMeta;
1126
- const from = txParams.from;
1127
- const nestedTransaction = nestedTransactions?.[transactionIndex];
1128
- if (!nestedTransaction) {
1129
- throw new Error(`Nested transaction not found with index - ${transactionIndex}`);
1130
- }
1131
- nestedTransaction.data = transactionData;
1132
- const batchTransaction = (0, eip7702_1.generateEIP7702BatchTransaction)(from, nestedTransactions);
1133
- transactionMeta.txParams.data = batchTransaction.data;
1134
- });
1135
- const draftTransaction = (0, lodash_1.cloneDeep)({
1136
- ...updatedTransactionMeta,
1137
- txParams: {
1138
- ...updatedTransactionMeta.txParams,
1139
- // Clear existing gas to force estimation
1140
- gas: undefined,
1141
- },
1142
- });
1143
- await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
1144
- __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
1145
- transactionId,
1146
- note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
1147
- }, (transactionMeta) => {
1148
- transactionMeta.txParams.gas = draftTransaction.txParams.gas;
1149
- transactionMeta.simulationFails = draftTransaction.simulationFails;
1150
- transactionMeta.gasLimitNoBuffer = draftTransaction.gasLimitNoBuffer;
1151
- });
1152
- return updatedTransactionMeta.txParams.data;
1153
- }
1154
1107
  addMetadata(transactionMeta) {
1155
1108
  (0, validation_1.validateTxParams)(transactionMeta.txParams);
1156
1109
  this.update((state) => {
@@ -1163,11 +1116,18 @@ class TransactionController extends base_controller_1.BaseController {
1163
1116
  async updateGasProperties(transactionMeta, { traceContext } = {}) {
1164
1117
  const isEIP1559Compatible = transactionMeta.txParams.type !== types_1.TransactionEnvelopeType.legacy &&
1165
1118
  (await this.getEIP1559Compatibility(transactionMeta.networkClientId));
1166
- const { networkClientId } = transactionMeta;
1119
+ const { networkClientId, chainId } = transactionMeta;
1120
+ const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
1121
+ .configuration.type === network_controller_1.NetworkClientType.Custom;
1167
1122
  const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
1168
1123
  const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
1169
1124
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas', parentContext: traceContext }, async () => {
1170
- await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, transactionMeta);
1125
+ await (0, gas_1.updateGas)({
1126
+ ethQuery,
1127
+ chainId,
1128
+ isCustomNetwork,
1129
+ txMeta: transactionMeta,
1130
+ });
1171
1131
  });
1172
1132
  await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await (0, gas_fees_1.updateGasFees)({
1173
1133
  eip1559: isEIP1559Compatible,
@@ -1929,9 +1889,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
1929
1889
  let resimulateResponse;
1930
1890
  this.update((state) => {
1931
1891
  const index = state.transactions.findIndex(({ id }) => id === transactionId);
1932
- if (index === -1) {
1933
- throw new Error(`Cannot update transaction as ID not found - ${transactionId}`);
1934
- }
1935
1892
  let transactionMeta = state.transactions[index];
1936
1893
  const originalTransactionMeta = (0, lodash_1.cloneDeep)(transactionMeta);
1937
1894
  transactionMeta = callback(transactionMeta) ?? transactionMeta;
@@ -2087,16 +2044,5 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
2087
2044
  }
2088
2045
  submitHistory.unshift(submitHistoryEntry);
2089
2046
  });
2090
- }, _TransactionController_updateGasEstimate = async function _TransactionController_updateGasEstimate(transactionMeta) {
2091
- const { chainId, networkClientId } = transactionMeta;
2092
- const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
2093
- .configuration.type === network_controller_1.NetworkClientType.Custom;
2094
- const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
2095
- await (0, gas_1.updateGas)({
2096
- chainId,
2097
- ethQuery,
2098
- isCustomNetwork,
2099
- txMeta: transactionMeta,
2100
- });
2101
2047
  };
2102
2048
  //# sourceMappingURL=TransactionController.cjs.map