@metamask-previews/transaction-controller 69.4.0-preview-60e0d4cd3 → 69.4.0-preview-b5147cfe0
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 +0 -8
- package/dist/TransactionController.cjs +58 -77
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +58 -77
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/ResimulateHelper.cjs +1 -7
- package/dist/helpers/ResimulateHelper.cjs.map +1 -1
- package/dist/helpers/ResimulateHelper.d.cts.map +1 -1
- package/dist/helpers/ResimulateHelper.d.mts.map +1 -1
- package/dist/helpers/ResimulateHelper.mjs +2 -8
- package/dist/helpers/ResimulateHelper.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,14 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
### Changed
|
|
11
|
-
|
|
12
|
-
- Bump `@metamask/network-controller` from `^35.0.0` to `^35.0.1` ([#9758](https://github.com/MetaMask/core/pull/9758))
|
|
13
|
-
|
|
14
|
-
### Fixed
|
|
15
|
-
|
|
16
|
-
- Refresh gas fee token quotes independently of balance changes for enforced-simulation transactions, and prevent stale simulation responses from overwriting newer transaction state. ([#9757](https://github.com/MetaMask/core/pull/9757))
|
|
17
|
-
|
|
18
10
|
## [69.4.0]
|
|
19
11
|
|
|
20
12
|
### Added
|
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds,
|
|
13
|
+
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _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_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _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_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_isBalanceChangesSkipped, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
|
|
16
16
|
const base_controller_1 = require("@metamask/base-controller");
|
|
@@ -210,7 +210,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
210
210
|
_TransactionController_publishBatchHook.set(this, void 0);
|
|
211
211
|
_TransactionController_signAbortCallbacks.set(this, new Map());
|
|
212
212
|
_TransactionController_skipSimulationTransactionIds.set(this, new Set());
|
|
213
|
-
_TransactionController_simulationRequestTokens.set(this, new Map());
|
|
214
213
|
_TransactionController_testGasFeeFlows.set(this, void 0);
|
|
215
214
|
_TransactionController_trace.set(this, void 0);
|
|
216
215
|
_TransactionController_checkForPendingTransactionAndStartPolling.set(this, () => {
|
|
@@ -1463,7 +1462,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1463
1462
|
}
|
|
1464
1463
|
}
|
|
1465
1464
|
exports.TransactionController = TransactionController;
|
|
1466
|
-
_TransactionController_afterAdd = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(),
|
|
1465
|
+
_TransactionController_afterAdd = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = 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, }) {
|
|
1467
1466
|
if (gasValues) {
|
|
1468
1467
|
// Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
|
|
1469
1468
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -2208,83 +2207,65 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2208
2207
|
let gasFeeTokens = [];
|
|
2209
2208
|
let isGasFeeSponsored = false;
|
|
2210
2209
|
let simulationRevert;
|
|
2211
|
-
const
|
|
2212
|
-
__classPrivateFieldGet(this,
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
simulationData = {
|
|
2238
|
-
...simulationData,
|
|
2239
|
-
isUpdatedAfterSecurityCheck: true,
|
|
2240
|
-
};
|
|
2241
|
-
}
|
|
2242
|
-
}
|
|
2243
|
-
if (isSimulationEnabled) {
|
|
2244
|
-
const gasFeeTokensResponse = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transactionMeta);
|
|
2245
|
-
gasFeeTokens = gasFeeTokensResponse?.gasFeeTokens ?? [];
|
|
2246
|
-
isGasFeeSponsored = gasFeeTokensResponse?.isGasFeeSponsored ?? false;
|
|
2247
|
-
}
|
|
2248
|
-
if (__classPrivateFieldGet(this, _TransactionController_simulationRequestTokens, "f").get(transactionId) !==
|
|
2249
|
-
simulationRequestToken) {
|
|
2250
|
-
(0, logger_js_1.projectLogger)('Ignoring stale simulation data', transactionId);
|
|
2251
|
-
return;
|
|
2252
|
-
}
|
|
2253
|
-
const latestTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
2254
|
-
/* istanbul ignore if */
|
|
2255
|
-
if (!latestTransactionMeta) {
|
|
2256
|
-
(0, logger_js_1.projectLogger)('Cannot update simulation data as transaction not found', transactionId, simulationData);
|
|
2257
|
-
return;
|
|
2210
|
+
const isBalanceChangesSkipped = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isBalanceChangesSkipped).call(this, transactionMeta);
|
|
2211
|
+
if (__classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this) && !isBalanceChangesSkipped) {
|
|
2212
|
+
const balanceChangesResult = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, balance_changes_js_1.getBalanceChanges)({
|
|
2213
|
+
blockTime,
|
|
2214
|
+
chainId,
|
|
2215
|
+
messenger: this.messenger,
|
|
2216
|
+
networkClientId,
|
|
2217
|
+
getSimulationConfig: (url, opts) => {
|
|
2218
|
+
return __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").call(this, url, {
|
|
2219
|
+
txMeta: transactionMeta,
|
|
2220
|
+
...opts,
|
|
2221
|
+
});
|
|
2222
|
+
},
|
|
2223
|
+
nestedTransactions,
|
|
2224
|
+
txParams,
|
|
2225
|
+
}));
|
|
2226
|
+
simulationData = balanceChangesResult.simulationData;
|
|
2227
|
+
gasUsed = balanceChangesResult.gasUsed;
|
|
2228
|
+
simulationRevert = balanceChangesResult.simulationRevert;
|
|
2229
|
+
if (blockTime &&
|
|
2230
|
+
prevSimulationData &&
|
|
2231
|
+
(0, ResimulateHelper_js_1.hasSimulationDataChanged)(prevSimulationData, simulationData)) {
|
|
2232
|
+
simulationData = {
|
|
2233
|
+
...simulationData,
|
|
2234
|
+
isUpdatedAfterSecurityCheck: true,
|
|
2235
|
+
};
|
|
2258
2236
|
}
|
|
2259
|
-
const
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
}, (txMeta) => {
|
|
2263
|
-
txMeta.gasFeeTokens = gasFeeTokens;
|
|
2264
|
-
txMeta.isGasFeeSponsored =
|
|
2265
|
-
txMeta.isGasFeeSponsored ?? isGasFeeSponsored;
|
|
2266
|
-
if (txMeta.isGasFeeSponsored) {
|
|
2267
|
-
txMeta.isExternalSign = true;
|
|
2268
|
-
}
|
|
2269
|
-
if (!__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isBalanceChangesSkipped).call(this, txMeta)) {
|
|
2270
|
-
txMeta.gasUsed = gasUsed;
|
|
2271
|
-
txMeta.simulationData = simulationData;
|
|
2272
|
-
if (simulationRevert) {
|
|
2273
|
-
txMeta.revert = {
|
|
2274
|
-
...txMeta.revert,
|
|
2275
|
-
simulation: simulationRevert,
|
|
2276
|
-
};
|
|
2277
|
-
}
|
|
2278
|
-
}
|
|
2279
|
-
});
|
|
2280
|
-
(0, logger_js_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2237
|
+
const gasFeeTokensResponse = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transactionMeta);
|
|
2238
|
+
gasFeeTokens = gasFeeTokensResponse?.gasFeeTokens ?? [];
|
|
2239
|
+
isGasFeeSponsored = gasFeeTokensResponse?.isGasFeeSponsored ?? false;
|
|
2281
2240
|
}
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2241
|
+
const latestTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
2242
|
+
/* istanbul ignore if */
|
|
2243
|
+
if (!latestTransactionMeta) {
|
|
2244
|
+
(0, logger_js_1.projectLogger)('Cannot update simulation data as transaction not found', transactionId, simulationData);
|
|
2245
|
+
return;
|
|
2287
2246
|
}
|
|
2247
|
+
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2248
|
+
transactionId,
|
|
2249
|
+
skipResimulateCheck: Boolean(blockTime),
|
|
2250
|
+
}, (txMeta) => {
|
|
2251
|
+
txMeta.gasFeeTokens = gasFeeTokens;
|
|
2252
|
+
txMeta.isGasFeeSponsored =
|
|
2253
|
+
txMeta.isGasFeeSponsored ?? isGasFeeSponsored;
|
|
2254
|
+
if (txMeta.isGasFeeSponsored) {
|
|
2255
|
+
txMeta.isExternalSign = true;
|
|
2256
|
+
}
|
|
2257
|
+
txMeta.gasUsed = gasUsed;
|
|
2258
|
+
if (!__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isBalanceChangesSkipped).call(this, txMeta)) {
|
|
2259
|
+
txMeta.simulationData = simulationData;
|
|
2260
|
+
if (simulationRevert) {
|
|
2261
|
+
txMeta.revert = {
|
|
2262
|
+
...txMeta.revert,
|
|
2263
|
+
simulation: simulationRevert,
|
|
2264
|
+
};
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2267
|
+
});
|
|
2268
|
+
(0, logger_js_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2288
2269
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2289
2270
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
|
|
2290
2271
|
(0, GasFeePoller_js_1.updateTransactionGasProperties)({
|