@metamask-previews/transaction-controller 62.6.0-preview-d717276a → 62.6.0-preview-cd26c284
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 +1 -4
- package/dist/TransactionController.cjs +110 -18
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +15 -6
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +15 -6
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +111 -19
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.cjs +9 -4
- package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.cts +2 -1
- package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.mts +2 -1
- package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.mjs +9 -4
- package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
- package/dist/index.cjs +4 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +4 -5
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +4 -5
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/history.cjs +164 -0
- package/dist/utils/history.cjs.map +1 -0
- package/dist/utils/history.d.cts +29 -0
- package/dist/utils/history.d.cts.map +1 -0
- package/dist/utils/history.d.mts +29 -0
- package/dist/utils/history.d.mts.map +1 -0
- package/dist/utils/history.mjs +164 -0
- package/dist/utils/history.mjs.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +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
|
-
- Deprecate `history` and `sendFlowHistory` properties from `TransactionMeta` and `TransactionController` ([#7326](https://github.com/MetaMask/core/pull/7326))
|
|
13
|
-
|
|
14
10
|
## [62.6.0]
|
|
15
11
|
|
|
16
12
|
### Added
|
|
@@ -34,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
34
30
|
|
|
35
31
|
### Changed
|
|
36
32
|
|
|
33
|
+
- Use gas fee properties from first transaction in EIP-7702 transactions ([#7323](https://github.com/MetaMask/core/pull/7323))
|
|
37
34
|
- Bump `@metamask/remote-feature-flag-controller` from `^2.0.1` to `^3.0.0` ([#7309](https://github.com/MetaMask/core/pull/7309)
|
|
38
35
|
|
|
39
36
|
## [62.4.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_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _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_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _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, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
|
|
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_isTimeoutEnabled, _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, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
|
|
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");
|
|
@@ -53,6 +53,7 @@ const gas_1 = require("./utils/gas.cjs");
|
|
|
53
53
|
const gas_fee_tokens_1 = require("./utils/gas-fee-tokens.cjs");
|
|
54
54
|
const gas_fees_1 = require("./utils/gas-fees.cjs");
|
|
55
55
|
const gas_flow_1 = require("./utils/gas-flow.cjs");
|
|
56
|
+
const history_1 = require("./utils/history.cjs");
|
|
56
57
|
const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
|
|
57
58
|
const nonce_1 = require("./utils/nonce.cjs");
|
|
58
59
|
const prepare_1 = require("./utils/prepare.cjs");
|
|
@@ -137,14 +138,13 @@ function getDefaultTransactionControllerState() {
|
|
|
137
138
|
* Controller responsible for submitting and managing transactions.
|
|
138
139
|
*/
|
|
139
140
|
class TransactionController extends base_controller_1.BaseController {
|
|
140
|
-
// readonly #transactionHistoryLimit: number;
|
|
141
141
|
/**
|
|
142
142
|
* Constructs a TransactionController.
|
|
143
143
|
*
|
|
144
144
|
* @param options - The controller options.
|
|
145
145
|
*/
|
|
146
146
|
constructor(options) {
|
|
147
|
-
const { disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, } = options;
|
|
147
|
+
const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
|
|
148
148
|
super({
|
|
149
149
|
name: controllerName,
|
|
150
150
|
metadata,
|
|
@@ -178,6 +178,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
178
178
|
_TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
|
|
179
179
|
_TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
|
|
180
180
|
_TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
|
|
181
|
+
_TransactionController_isHistoryDisabled.set(this, void 0);
|
|
182
|
+
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
181
183
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
182
184
|
_TransactionController_isSwapsDisabled.set(this, void 0);
|
|
183
185
|
_TransactionController_isTimeoutEnabled.set(this, void 0);
|
|
@@ -194,6 +196,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
194
196
|
_TransactionController_skipSimulationTransactionIds.set(this, new Set());
|
|
195
197
|
_TransactionController_testGasFeeFlows.set(this, void 0);
|
|
196
198
|
_TransactionController_trace.set(this, void 0);
|
|
199
|
+
_TransactionController_transactionHistoryLimit.set(this, void 0);
|
|
197
200
|
_TransactionController_checkForPendingTransactionAndStartPolling.set(this, () => {
|
|
198
201
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").checkForPendingTransactionAndStartPolling();
|
|
199
202
|
});
|
|
@@ -228,6 +231,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
228
231
|
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
|
|
229
232
|
(() => Promise.resolve(false)), "f");
|
|
230
233
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
234
|
+
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
235
|
+
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
231
236
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
232
237
|
__classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
|
|
233
238
|
__classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
|
|
@@ -240,6 +245,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
240
245
|
__classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
|
|
241
246
|
__classPrivateFieldSet(this, _TransactionController_testGasFeeFlows, testGasFeeFlows === true, "f");
|
|
242
247
|
__classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
|
|
248
|
+
__classPrivateFieldSet(this, _TransactionController_transactionHistoryLimit, transactionHistoryLimit, "f");
|
|
243
249
|
const findNetworkClientIdByChainId = (chainId) => {
|
|
244
250
|
return this.messenger.call(`NetworkController:findNetworkClientIdByChainId`, chainId);
|
|
245
251
|
};
|
|
@@ -291,6 +297,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
291
297
|
isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
|
|
292
298
|
messenger: this.messenger,
|
|
293
299
|
remoteTransactionSource: new AccountsApiRemoteTransactionSource_1.AccountsApiRemoteTransactionSource(),
|
|
300
|
+
trimTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).bind(this),
|
|
294
301
|
updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
|
|
295
302
|
}), "f");
|
|
296
303
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f"));
|
|
@@ -384,7 +391,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
384
391
|
*/
|
|
385
392
|
async addTransaction(txParams, options) {
|
|
386
393
|
(0, logger_1.projectLogger)('Adding transaction', txParams, options);
|
|
387
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
394
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
388
395
|
// eslint-disable-next-line no-param-reassign
|
|
389
396
|
txParams = (0, utils_2.normalizeTransactionParams)(txParams);
|
|
390
397
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
@@ -471,6 +478,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
471
478
|
.then(() => {
|
|
472
479
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
473
480
|
transactionId: newTransactionMeta.id,
|
|
481
|
+
skipHistory: true,
|
|
474
482
|
skipResimulateCheck: true,
|
|
475
483
|
skipValidation: true,
|
|
476
484
|
}, (tx) => {
|
|
@@ -494,6 +502,14 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
494
502
|
addedTransactionMeta.securityProviderResponse =
|
|
495
503
|
securityProviderResponse;
|
|
496
504
|
}
|
|
505
|
+
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
506
|
+
// eslint-disable-next-line require-atomic-updates
|
|
507
|
+
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
508
|
+
}
|
|
509
|
+
// Initial history push
|
|
510
|
+
if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
|
|
511
|
+
addedTransactionMeta = (0, history_1.addInitialHistorySnapshot)(addedTransactionMeta);
|
|
512
|
+
}
|
|
497
513
|
addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
|
|
498
514
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
499
515
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
@@ -504,6 +520,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
504
520
|
.then((delegationAddress) => {
|
|
505
521
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
506
522
|
transactionId: addedTransactionMeta.id,
|
|
523
|
+
skipHistory: true,
|
|
507
524
|
skipResimulateCheck: true,
|
|
508
525
|
skipValidation: true,
|
|
509
526
|
}, (tx) => {
|
|
@@ -693,14 +710,13 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
693
710
|
* Updates an existing transaction in state.
|
|
694
711
|
*
|
|
695
712
|
* @param transactionMeta - The new transaction to store in state.
|
|
696
|
-
* @param note - A note or update reason to
|
|
713
|
+
* @param note - A note or update reason to include in the transaction history.
|
|
697
714
|
*/
|
|
698
715
|
updateTransaction(transactionMeta, note) {
|
|
699
716
|
const { id: transactionId } = transactionMeta;
|
|
700
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
|
|
717
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, note }, () => ({
|
|
701
718
|
...transactionMeta,
|
|
702
719
|
}));
|
|
703
|
-
(0, logger_1.projectLogger)(`Transaction ${transactionId} updated. ${note}`);
|
|
704
720
|
}
|
|
705
721
|
/**
|
|
706
722
|
* Update the security alert response for a transaction.
|
|
@@ -748,7 +764,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
748
764
|
return !isMatchingAddress;
|
|
749
765
|
});
|
|
750
766
|
this.update((state) => {
|
|
751
|
-
state.transactions = newTransactions;
|
|
767
|
+
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
|
|
752
768
|
});
|
|
753
769
|
}
|
|
754
770
|
/**
|
|
@@ -789,6 +805,33 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
789
805
|
console.error('Failed to confirm external transaction', error);
|
|
790
806
|
}
|
|
791
807
|
}
|
|
808
|
+
/**
|
|
809
|
+
* Append new send flow history to a transaction.
|
|
810
|
+
*
|
|
811
|
+
* @param transactionID - The ID of the transaction to update.
|
|
812
|
+
* @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
813
|
+
* @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
814
|
+
* @returns The updated transactionMeta.
|
|
815
|
+
*/
|
|
816
|
+
updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
|
|
817
|
+
if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
818
|
+
throw new Error('Send flow history is disabled for the current transaction controller');
|
|
819
|
+
}
|
|
820
|
+
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
821
|
+
if (!transactionMeta) {
|
|
822
|
+
throw new Error(`Cannot update send flow history as no transaction metadata found`);
|
|
823
|
+
}
|
|
824
|
+
(0, utils_2.validateIfTransactionUnapproved)(transactionMeta, 'updateTransactionSendFlowHistory');
|
|
825
|
+
const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
|
|
826
|
+
if (currentSendFlowHistoryLength === sendFlowHistory.length) {
|
|
827
|
+
const updatedTransactionMeta = {
|
|
828
|
+
...transactionMeta,
|
|
829
|
+
sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
|
|
830
|
+
};
|
|
831
|
+
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
|
|
832
|
+
}
|
|
833
|
+
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
834
|
+
}
|
|
792
835
|
/**
|
|
793
836
|
* Update the gas values of a transaction.
|
|
794
837
|
*
|
|
@@ -858,6 +901,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
858
901
|
const filteredTransactionGasFees = (0, lodash_1.pickBy)(transactionGasFees);
|
|
859
902
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
860
903
|
transactionId,
|
|
904
|
+
note: `${controllerName}:updateTransactionGasFees - gas values updated`,
|
|
861
905
|
skipResimulateCheck: true,
|
|
862
906
|
}, (draftTxMeta) => {
|
|
863
907
|
const { txParams, ...otherProps } = filteredTransactionGasFees;
|
|
@@ -972,6 +1016,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
972
1016
|
}
|
|
973
1017
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
974
1018
|
transactionId,
|
|
1019
|
+
note: 'TransactionController#setTransactionActive - Transaction isActive updated',
|
|
1020
|
+
skipHistory: true,
|
|
975
1021
|
skipValidation: true,
|
|
976
1022
|
skipResimulateCheck: true,
|
|
977
1023
|
}, (updatedTransactionMeta) => {
|
|
@@ -1217,7 +1263,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1217
1263
|
clearUnapprovedTransactions() {
|
|
1218
1264
|
const transactions = this.state.transactions.filter(({ status }) => status !== types_1.TransactionStatus.unapproved);
|
|
1219
1265
|
this.update((state) => {
|
|
1220
|
-
state.transactions = transactions;
|
|
1266
|
+
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, transactions);
|
|
1221
1267
|
});
|
|
1222
1268
|
}
|
|
1223
1269
|
/**
|
|
@@ -1255,6 +1301,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1255
1301
|
});
|
|
1256
1302
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1257
1303
|
transactionId,
|
|
1304
|
+
note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
|
|
1258
1305
|
}, (transactionMeta) => {
|
|
1259
1306
|
const { nestedTransactions, txParams } = transactionMeta;
|
|
1260
1307
|
const from = txParams.from;
|
|
@@ -1277,6 +1324,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1277
1324
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
|
|
1278
1325
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1279
1326
|
transactionId,
|
|
1327
|
+
note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
|
|
1280
1328
|
}, (transactionMeta) => {
|
|
1281
1329
|
transactionMeta.txParams.gas = draftTransaction.txParams.gas;
|
|
1282
1330
|
transactionMeta.simulationFails = draftTransaction.simulationFails;
|
|
@@ -1296,6 +1344,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1296
1344
|
(0, logger_1.projectLogger)('Updating batch transactions', { transactionId, batchTransactions });
|
|
1297
1345
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1298
1346
|
transactionId,
|
|
1347
|
+
note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
|
|
1299
1348
|
}, (transactionMeta) => {
|
|
1300
1349
|
transactionMeta.batchTransactions = batchTransactions;
|
|
1301
1350
|
});
|
|
@@ -1378,7 +1427,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1378
1427
|
}
|
|
1379
1428
|
}
|
|
1380
1429
|
exports.TransactionController = TransactionController;
|
|
1381
|
-
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = 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_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = 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, }) {
|
|
1430
|
+
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = 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_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = 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, }) {
|
|
1382
1431
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1383
1432
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1384
1433
|
return;
|
|
@@ -1466,7 +1515,10 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1466
1515
|
}, _TransactionController_addMetadata = function _TransactionController_addMetadata(transactionMeta) {
|
|
1467
1516
|
(0, validation_1.validateTxParams)(transactionMeta.txParams);
|
|
1468
1517
|
this.update((state) => {
|
|
1469
|
-
state.transactions =
|
|
1518
|
+
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1519
|
+
...state.transactions,
|
|
1520
|
+
transactionMeta,
|
|
1521
|
+
]);
|
|
1470
1522
|
});
|
|
1471
1523
|
}, _TransactionController_updateGasProperties = async function _TransactionController_updateGasProperties(transactionMeta, { traceContext } = {}) {
|
|
1472
1524
|
const isEIP1559Compatible = transactionMeta.txParams.type !== types_1.TransactionEnvelopeType.legacy &&
|
|
@@ -1621,6 +1673,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1621
1673
|
// eslint-disable-next-line require-atomic-updates
|
|
1622
1674
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1623
1675
|
transactionId,
|
|
1676
|
+
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
1624
1677
|
}, (draftTxMeta) => {
|
|
1625
1678
|
const { chainId, txParams } = draftTxMeta;
|
|
1626
1679
|
const { gas, type } = txParams;
|
|
@@ -1673,6 +1726,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1673
1726
|
// eslint-disable-next-line require-atomic-updates
|
|
1674
1727
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1675
1728
|
transactionId,
|
|
1729
|
+
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
1676
1730
|
}, (draftTxMeta) => {
|
|
1677
1731
|
draftTxMeta.hash = hash;
|
|
1678
1732
|
draftTxMeta.status = types_1.TransactionStatus.submitted;
|
|
@@ -1733,6 +1787,27 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1733
1787
|
actionId,
|
|
1734
1788
|
});
|
|
1735
1789
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, updatedTransactionMeta);
|
|
1790
|
+
}, _TransactionController_trimTransactionsForState = function _TransactionController_trimTransactionsForState(transactions) {
|
|
1791
|
+
const nonceNetworkSet = new Set();
|
|
1792
|
+
const txsToKeep = [...transactions]
|
|
1793
|
+
.sort((a, b) => (a.time > b.time ? -1 : 1)) // Descending time order
|
|
1794
|
+
.filter((tx) => {
|
|
1795
|
+
const { chainId, status, txParams, time } = tx;
|
|
1796
|
+
if (txParams) {
|
|
1797
|
+
const key = `${String(txParams.nonce)}-${(0, controller_utils_1.convertHexToDecimal)(chainId)}-${new Date(time).toDateString()}`;
|
|
1798
|
+
if (nonceNetworkSet.has(key)) {
|
|
1799
|
+
return true;
|
|
1800
|
+
}
|
|
1801
|
+
else if (nonceNetworkSet.size < __classPrivateFieldGet(this, _TransactionController_transactionHistoryLimit, "f") ||
|
|
1802
|
+
!__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isFinalState).call(this, status)) {
|
|
1803
|
+
nonceNetworkSet.add(key);
|
|
1804
|
+
return true;
|
|
1805
|
+
}
|
|
1806
|
+
}
|
|
1807
|
+
return false;
|
|
1808
|
+
});
|
|
1809
|
+
txsToKeep.reverse(); // Ascending time order
|
|
1810
|
+
return txsToKeep;
|
|
1736
1811
|
}, _TransactionController_isFinalState = function _TransactionController_isFinalState(status) {
|
|
1737
1812
|
return (status === types_1.TransactionStatus.rejected ||
|
|
1738
1813
|
status === types_1.TransactionStatus.confirmed ||
|
|
@@ -1820,7 +1895,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1820
1895
|
}
|
|
1821
1896
|
this.update((state) => {
|
|
1822
1897
|
const { transactions: currentTransactions } = state;
|
|
1823
|
-
state.transactions =
|
|
1898
|
+
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1899
|
+
...finalTransactions,
|
|
1900
|
+
...currentTransactions,
|
|
1901
|
+
]);
|
|
1824
1902
|
(0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
|
|
1825
1903
|
});
|
|
1826
1904
|
this.messenger.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
|
|
@@ -1857,10 +1935,17 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1857
1935
|
const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.confirmed);
|
|
1858
1936
|
const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.submitted);
|
|
1859
1937
|
(0, external_transactions_1.validateConfirmedExternalTransaction)(transactionMeta, confirmedTxs, pendingTxs);
|
|
1938
|
+
// Make sure provided external transaction has non empty history array
|
|
1939
|
+
const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
|
|
1940
|
+
? (0, history_1.addInitialHistorySnapshot)(transactionMeta)
|
|
1941
|
+
: transactionMeta;
|
|
1860
1942
|
this.update((state) => {
|
|
1861
|
-
state.transactions =
|
|
1943
|
+
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1944
|
+
...state.transactions,
|
|
1945
|
+
newTransactionMeta,
|
|
1946
|
+
]);
|
|
1862
1947
|
});
|
|
1863
|
-
return
|
|
1948
|
+
return newTransactionMeta;
|
|
1864
1949
|
}, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
|
|
1865
1950
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1866
1951
|
if (!transactionMeta) {
|
|
@@ -1931,7 +2016,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1931
2016
|
(0, logger_1.projectLogger)('Calling before sign hook', transactionMeta);
|
|
1932
2017
|
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
1933
2018
|
if (updateTransaction) {
|
|
1934
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
|
|
2019
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true, note: 'beforeSign Hook' }, updateTransaction);
|
|
1935
2020
|
(0, logger_1.projectLogger)('Updated transaction after before sign hook');
|
|
1936
2021
|
}
|
|
1937
2022
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
@@ -2110,7 +2195,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2110
2195
|
];
|
|
2111
2196
|
}, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
|
|
2112
2197
|
return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
|
|
2113
|
-
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
|
|
2198
|
+
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, skipResimulateCheck, }, callback) {
|
|
2114
2199
|
let resimulateResponse;
|
|
2115
2200
|
this.update((state) => {
|
|
2116
2201
|
const index = state.transactions.findIndex(({ id }) => id === transactionId);
|
|
@@ -2127,6 +2212,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2127
2212
|
if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2128
2213
|
resimulateResponse = (0, ResimulateHelper_1.shouldResimulate)(originalTransactionMeta, transactionMeta);
|
|
2129
2214
|
}
|
|
2215
|
+
const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
|
|
2216
|
+
if (!shouldSkipHistory) {
|
|
2217
|
+
transactionMeta = (0, history_1.updateTransactionHistory)(transactionMeta, note ?? 'Transaction updated');
|
|
2218
|
+
}
|
|
2130
2219
|
state.transactions[index] = transactionMeta;
|
|
2131
2220
|
});
|
|
2132
2221
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
@@ -2188,6 +2277,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2188
2277
|
}
|
|
2189
2278
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2190
2279
|
transactionId,
|
|
2280
|
+
note: 'TransactionController#updateSimulationData - Update simulation data',
|
|
2191
2281
|
skipResimulateCheck: Boolean(blockTime),
|
|
2192
2282
|
}, (txMeta) => {
|
|
2193
2283
|
txMeta.gasFeeTokens = gasFeeTokens;
|
|
@@ -2200,7 +2290,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2200
2290
|
(0, logger_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2201
2291
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
|
|
2202
2292
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2203
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
|
|
2293
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipHistory: true }, (txMeta) => {
|
|
2204
2294
|
(0, GasFeePoller_1.updateTransactionGasProperties)({
|
|
2205
2295
|
txMeta,
|
|
2206
2296
|
gasFeeEstimates,
|
|
@@ -2285,7 +2375,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2285
2375
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2286
2376
|
this.update((state) => {
|
|
2287
2377
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|
|
2288
|
-
state.transactions = transactions;
|
|
2378
|
+
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, transactions);
|
|
2289
2379
|
});
|
|
2290
2380
|
}, _TransactionController_isRejectError = function _TransactionController_isRejectError(error) {
|
|
2291
2381
|
return [
|
|
@@ -2306,6 +2396,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2306
2396
|
try {
|
|
2307
2397
|
newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2308
2398
|
transactionId: transactionMeta.id,
|
|
2399
|
+
note: 'TransactionController#failTransaction - Add error message and set status to failed',
|
|
2309
2400
|
skipValidation: true,
|
|
2310
2401
|
}, (draftTransactionMeta) => {
|
|
2311
2402
|
draftTransactionMeta.status = types_1.TransactionStatus.failed;
|
|
@@ -2347,6 +2438,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2347
2438
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2348
2439
|
transactionId,
|
|
2349
2440
|
skipResimulateCheck: true,
|
|
2441
|
+
note: 'afterSimulate Hook',
|
|
2350
2442
|
}, (txMeta) => {
|
|
2351
2443
|
txMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(txMeta.txParams);
|
|
2352
2444
|
updateTransaction(txMeta);
|