@metamask-previews/transaction-controller 62.7.0-preview-8a0c757a → 62.7.0-preview-e776a73
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 +7 -2
- package/dist/TransactionController.cjs +24 -112
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +12 -13
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +12 -13
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +24 -112
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +37 -27
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +38 -28
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/index.cjs +1 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +0 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +5 -4
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +5 -4
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +4 -1
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +5 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +5 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +4 -1
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/package.json +4 -4
- package/dist/utils/history.cjs +0 -164
- package/dist/utils/history.cjs.map +0 -1
- package/dist/utils/history.d.cts +0 -29
- package/dist/utils/history.d.cts.map +0 -1
- package/dist/utils/history.d.mts +0 -29
- package/dist/utils/history.d.mts.map +0 -1
- package/dist/utils/history.mjs +0 -164
- package/dist/utils/history.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,9 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
###
|
|
10
|
+
### Changed
|
|
11
11
|
|
|
12
|
-
-
|
|
12
|
+
- Update transaction timeout to check time since submission or when transaction was last seen on network ([#7464](https://github.com/MetaMask/core/pull/7464))
|
|
13
|
+
- Uses `blockTime` from `acceleratedPolling` feature flag.
|
|
14
|
+
- Deprecate `history` and `sendFlowHistory` properties from `TransactionMeta` and `TransactionController` options ([#7326](https://github.com/MetaMask/core/pull/7326))
|
|
15
|
+
- Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^3.1.0` ([#7519](https://github.com/MetaMask/core/pull/7519))
|
|
16
|
+
- Bump `@metamask/network-controller` from `^27.0.0` to `^27.1.0` ([#7534](https://github.com/MetaMask/core/pull/7534))
|
|
17
|
+
- Bump `@metamask/controller-utils` from `^11.16.0` to `^11.17.0` ([#7534](https://github.com/MetaMask/core/pull/7534))
|
|
13
18
|
|
|
14
19
|
### Fixed
|
|
15
20
|
|
|
@@ -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,
|
|
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_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,7 +53,6 @@ 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");
|
|
57
56
|
const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
|
|
58
57
|
const nonce_1 = require("./utils/nonce.cjs");
|
|
59
58
|
const prepare_1 = require("./utils/prepare.cjs");
|
|
@@ -144,7 +143,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
144
143
|
* @param options - The controller options.
|
|
145
144
|
*/
|
|
146
145
|
constructor(options) {
|
|
147
|
-
const {
|
|
146
|
+
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, transactionHistoryLimit = 40, } = options;
|
|
148
147
|
super({
|
|
149
148
|
name: controllerName,
|
|
150
149
|
metadata,
|
|
@@ -178,8 +177,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
178
177
|
_TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
|
|
179
178
|
_TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
|
|
180
179
|
_TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
|
|
181
|
-
_TransactionController_isHistoryDisabled.set(this, void 0);
|
|
182
|
-
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
183
180
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
184
181
|
_TransactionController_isSwapsDisabled.set(this, void 0);
|
|
185
182
|
_TransactionController_isTimeoutEnabled.set(this, void 0);
|
|
@@ -231,8 +228,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
231
228
|
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
|
|
232
229
|
(() => Promise.resolve(false)), "f");
|
|
233
230
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
234
|
-
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
235
|
-
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
236
231
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
237
232
|
__classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
|
|
238
233
|
__classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
|
|
@@ -391,7 +386,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
391
386
|
*/
|
|
392
387
|
async addTransaction(txParams, options) {
|
|
393
388
|
(0, logger_1.projectLogger)('Adding transaction', txParams, options);
|
|
394
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse,
|
|
389
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
395
390
|
// eslint-disable-next-line no-param-reassign
|
|
396
391
|
txParams = (0, utils_2.normalizeTransactionParams)(txParams);
|
|
397
392
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
@@ -467,33 +462,18 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
467
462
|
addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
|
|
468
463
|
updateTransaction(addedTransactionMeta);
|
|
469
464
|
}
|
|
465
|
+
// eslint-disable-next-line no-negated-condition
|
|
470
466
|
if (!skipInitialGasEstimate) {
|
|
471
467
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, addedTransactionMeta, {
|
|
472
468
|
traceContext: context,
|
|
473
469
|
}));
|
|
474
470
|
}
|
|
475
|
-
else if (isEIP1559Compatible &&
|
|
476
|
-
addedTransactionMeta.txParams.gasPrice &&
|
|
477
|
-
!addedTransactionMeta.txParams.maxFeePerGas) {
|
|
478
|
-
// Convert legacy gasPrice to EIP-1559 fees for intent transactions on EIP-1559 networks
|
|
479
|
-
addedTransactionMeta.txParams.maxFeePerGas =
|
|
480
|
-
addedTransactionMeta.txParams.gasPrice;
|
|
481
|
-
addedTransactionMeta.txParams.maxPriorityFeePerGas =
|
|
482
|
-
addedTransactionMeta.txParams.gasPrice;
|
|
483
|
-
addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.feeMarket;
|
|
484
|
-
delete addedTransactionMeta.txParams.gasPrice; // Remove legacy gas price
|
|
485
|
-
}
|
|
486
|
-
else if (!isEIP1559Compatible && addedTransactionMeta.txParams.gasPrice) {
|
|
487
|
-
// Ensure legacy type for non-EIP-1559 networks
|
|
488
|
-
addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.legacy;
|
|
489
|
-
}
|
|
490
471
|
else {
|
|
491
472
|
const newTransactionMeta = (0, lodash_1.cloneDeep)(addedTransactionMeta);
|
|
492
473
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, newTransactionMeta)
|
|
493
474
|
.then(() => {
|
|
494
475
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
495
476
|
transactionId: newTransactionMeta.id,
|
|
496
|
-
skipHistory: true,
|
|
497
477
|
skipResimulateCheck: true,
|
|
498
478
|
skipValidation: true,
|
|
499
479
|
}, (tx) => {
|
|
@@ -517,14 +497,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
517
497
|
addedTransactionMeta.securityProviderResponse =
|
|
518
498
|
securityProviderResponse;
|
|
519
499
|
}
|
|
520
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
521
|
-
// eslint-disable-next-line require-atomic-updates
|
|
522
|
-
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
523
|
-
}
|
|
524
|
-
// Initial history push
|
|
525
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
|
|
526
|
-
addedTransactionMeta = (0, history_1.addInitialHistorySnapshot)(addedTransactionMeta);
|
|
527
|
-
}
|
|
528
500
|
addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
|
|
529
501
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
530
502
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
@@ -535,7 +507,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
535
507
|
.then((delegationAddress) => {
|
|
536
508
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
537
509
|
transactionId: addedTransactionMeta.id,
|
|
538
|
-
skipHistory: true,
|
|
539
510
|
skipResimulateCheck: true,
|
|
540
511
|
skipValidation: true,
|
|
541
512
|
}, (tx) => {
|
|
@@ -725,13 +696,14 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
725
696
|
* Updates an existing transaction in state.
|
|
726
697
|
*
|
|
727
698
|
* @param transactionMeta - The new transaction to store in state.
|
|
728
|
-
* @param note - A note or update reason to
|
|
699
|
+
* @param note - A note or update reason to be logged.
|
|
729
700
|
*/
|
|
730
701
|
updateTransaction(transactionMeta, note) {
|
|
731
702
|
const { id: transactionId } = transactionMeta;
|
|
732
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
703
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
|
|
733
704
|
...transactionMeta,
|
|
734
705
|
}));
|
|
706
|
+
(0, logger_1.projectLogger)('Transaction updated', { transactionId, note });
|
|
735
707
|
}
|
|
736
708
|
/**
|
|
737
709
|
* Update the security alert response for a transaction.
|
|
@@ -782,6 +754,17 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
782
754
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
|
|
783
755
|
});
|
|
784
756
|
}
|
|
757
|
+
/**
|
|
758
|
+
* @deprecated No longer used. Kept only to avoid breaking changes. It now performs no operations.
|
|
759
|
+
* @param transactionID - The ID of the transaction to update.
|
|
760
|
+
* @param _currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
761
|
+
* @param _sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
762
|
+
* @returns The transactionMeta.
|
|
763
|
+
*/
|
|
764
|
+
updateTransactionSendFlowHistory(transactionID, _currentSendFlowHistoryLength, _sendFlowHistoryToAdd) {
|
|
765
|
+
// Return the transaction unchanged
|
|
766
|
+
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionID);
|
|
767
|
+
}
|
|
785
768
|
/**
|
|
786
769
|
* Adds external provided transaction to state as confirmed transaction.
|
|
787
770
|
*
|
|
@@ -820,33 +803,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
820
803
|
console.error('Failed to confirm external transaction', error);
|
|
821
804
|
}
|
|
822
805
|
}
|
|
823
|
-
/**
|
|
824
|
-
* Append new send flow history to a transaction.
|
|
825
|
-
*
|
|
826
|
-
* @param transactionID - The ID of the transaction to update.
|
|
827
|
-
* @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
828
|
-
* @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
829
|
-
* @returns The updated transactionMeta.
|
|
830
|
-
*/
|
|
831
|
-
updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
|
|
832
|
-
if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
833
|
-
throw new Error('Send flow history is disabled for the current transaction controller');
|
|
834
|
-
}
|
|
835
|
-
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
836
|
-
if (!transactionMeta) {
|
|
837
|
-
throw new Error(`Cannot update send flow history as no transaction metadata found`);
|
|
838
|
-
}
|
|
839
|
-
(0, utils_2.validateIfTransactionUnapproved)(transactionMeta, 'updateTransactionSendFlowHistory');
|
|
840
|
-
const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
|
|
841
|
-
if (currentSendFlowHistoryLength === sendFlowHistory.length) {
|
|
842
|
-
const updatedTransactionMeta = {
|
|
843
|
-
...transactionMeta,
|
|
844
|
-
sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
|
|
845
|
-
};
|
|
846
|
-
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
|
|
847
|
-
}
|
|
848
|
-
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
849
|
-
}
|
|
850
806
|
/**
|
|
851
807
|
* Update the gas values of a transaction.
|
|
852
808
|
*
|
|
@@ -916,7 +872,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
916
872
|
const filteredTransactionGasFees = (0, lodash_1.pickBy)(transactionGasFees);
|
|
917
873
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
918
874
|
transactionId,
|
|
919
|
-
note: `${controllerName}:updateTransactionGasFees - gas values updated`,
|
|
920
875
|
skipResimulateCheck: true,
|
|
921
876
|
}, (draftTxMeta) => {
|
|
922
877
|
const { txParams, ...otherProps } = filteredTransactionGasFees;
|
|
@@ -1031,8 +986,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1031
986
|
}
|
|
1032
987
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1033
988
|
transactionId,
|
|
1034
|
-
note: 'TransactionController#setTransactionActive - Transaction isActive updated',
|
|
1035
|
-
skipHistory: true,
|
|
1036
989
|
skipValidation: true,
|
|
1037
990
|
skipResimulateCheck: true,
|
|
1038
991
|
}, (updatedTransactionMeta) => {
|
|
@@ -1316,7 +1269,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1316
1269
|
});
|
|
1317
1270
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1318
1271
|
transactionId,
|
|
1319
|
-
note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
|
|
1320
1272
|
}, (transactionMeta) => {
|
|
1321
1273
|
const { nestedTransactions, txParams } = transactionMeta;
|
|
1322
1274
|
const from = txParams.from;
|
|
@@ -1339,7 +1291,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1339
1291
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
|
|
1340
1292
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1341
1293
|
transactionId,
|
|
1342
|
-
note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
|
|
1343
1294
|
}, (transactionMeta) => {
|
|
1344
1295
|
transactionMeta.txParams.gas = draftTransaction.txParams.gas;
|
|
1345
1296
|
transactionMeta.simulationFails = draftTransaction.simulationFails;
|
|
@@ -1359,7 +1310,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1359
1310
|
(0, logger_1.projectLogger)('Updating batch transactions', { transactionId, batchTransactions });
|
|
1360
1311
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1361
1312
|
transactionId,
|
|
1362
|
-
note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
|
|
1363
1313
|
}, (transactionMeta) => {
|
|
1364
1314
|
transactionMeta.batchTransactions = batchTransactions;
|
|
1365
1315
|
});
|
|
@@ -1442,7 +1392,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1442
1392
|
}
|
|
1443
1393
|
}
|
|
1444
1394
|
exports.TransactionController = TransactionController;
|
|
1445
|
-
_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(),
|
|
1395
|
+
_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_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, }) {
|
|
1446
1396
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1447
1397
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1448
1398
|
return;
|
|
@@ -1601,31 +1551,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1601
1551
|
this.updateTransaction(updatedTransaction, 'TransactionController#processApproval - Updated with approval data');
|
|
1602
1552
|
}
|
|
1603
1553
|
}
|
|
1604
|
-
// For intent-based transactions (e.g., CoW intents) that are not meant to be
|
|
1605
|
-
// published on-chain by the TransactionController, skip the approve/publish flow.
|
|
1606
|
-
// These are tracked externally and should not be signed or sent.
|
|
1607
|
-
const isIntentTransaction = Boolean(
|
|
1608
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1609
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId)?.swapMetaData
|
|
1610
|
-
?.isIntentTx === true);
|
|
1611
|
-
if (requireApproval === false && isIntentTransaction) {
|
|
1612
|
-
const submittedTxMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1613
|
-
transactionId,
|
|
1614
|
-
note: 'TransactionController#processApproval - Intent transaction auto-submitted',
|
|
1615
|
-
skipValidation: true,
|
|
1616
|
-
}, (draftTxMeta) => {
|
|
1617
|
-
draftTxMeta.status = types_1.TransactionStatus.submitted;
|
|
1618
|
-
draftTxMeta.submittedTime = new Date().getTime();
|
|
1619
|
-
});
|
|
1620
|
-
this.messenger.publish(`${controllerName}:transactionSubmitted`, {
|
|
1621
|
-
transactionMeta: submittedTxMeta,
|
|
1622
|
-
});
|
|
1623
|
-
this.messenger.publish(`${controllerName}:transactionFinished`, submittedTxMeta);
|
|
1624
|
-
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, submittedTxMeta);
|
|
1625
|
-
// Short-circuit normal flow; result callbacks will be handled by the
|
|
1626
|
-
// finished promise below.
|
|
1627
|
-
return ApprovalState.Approved;
|
|
1628
|
-
}
|
|
1629
1554
|
const { isCompleted: isTxCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
|
|
1630
1555
|
if (!isTxCompleted) {
|
|
1631
1556
|
const approvalResult = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_approveTransaction).call(this, transactionId, traceContext, publishHook);
|
|
@@ -1713,7 +1638,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1713
1638
|
// eslint-disable-next-line require-atomic-updates
|
|
1714
1639
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1715
1640
|
transactionId,
|
|
1716
|
-
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
1717
1641
|
}, (draftTxMeta) => {
|
|
1718
1642
|
const { chainId, txParams } = draftTxMeta;
|
|
1719
1643
|
const { gas, type } = txParams;
|
|
@@ -1766,7 +1690,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1766
1690
|
// eslint-disable-next-line require-atomic-updates
|
|
1767
1691
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1768
1692
|
transactionId,
|
|
1769
|
-
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
1770
1693
|
}, (draftTxMeta) => {
|
|
1771
1694
|
draftTxMeta.hash = hash;
|
|
1772
1695
|
draftTxMeta.status = types_1.TransactionStatus.submitted;
|
|
@@ -1975,17 +1898,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1975
1898
|
const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.confirmed);
|
|
1976
1899
|
const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.submitted);
|
|
1977
1900
|
(0, external_transactions_1.validateConfirmedExternalTransaction)(transactionMeta, confirmedTxs, pendingTxs);
|
|
1978
|
-
// Make sure provided external transaction has non empty history array
|
|
1979
|
-
const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
|
|
1980
|
-
? (0, history_1.addInitialHistorySnapshot)(transactionMeta)
|
|
1981
|
-
: transactionMeta;
|
|
1982
1901
|
this.update((state) => {
|
|
1983
1902
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1984
1903
|
...state.transactions,
|
|
1985
|
-
|
|
1904
|
+
transactionMeta,
|
|
1986
1905
|
]);
|
|
1987
1906
|
});
|
|
1988
|
-
return
|
|
1907
|
+
return transactionMeta;
|
|
1989
1908
|
}, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
|
|
1990
1909
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1991
1910
|
if (!transactionMeta) {
|
|
@@ -2056,7 +1975,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2056
1975
|
(0, logger_1.projectLogger)('Calling before sign hook', transactionMeta);
|
|
2057
1976
|
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
2058
1977
|
if (updateTransaction) {
|
|
2059
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true
|
|
1978
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
|
|
2060
1979
|
(0, logger_1.projectLogger)('Updated transaction after before sign hook');
|
|
2061
1980
|
}
|
|
2062
1981
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
@@ -2235,7 +2154,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2235
2154
|
];
|
|
2236
2155
|
}, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
|
|
2237
2156
|
return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
|
|
2238
|
-
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId,
|
|
2157
|
+
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
|
|
2239
2158
|
let resimulateResponse;
|
|
2240
2159
|
this.update((state) => {
|
|
2241
2160
|
const index = state.transactions.findIndex(({ id }) => id === transactionId);
|
|
@@ -2252,10 +2171,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2252
2171
|
if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2253
2172
|
resimulateResponse = (0, ResimulateHelper_1.shouldResimulate)(originalTransactionMeta, transactionMeta);
|
|
2254
2173
|
}
|
|
2255
|
-
const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
|
|
2256
|
-
if (!shouldSkipHistory) {
|
|
2257
|
-
transactionMeta = (0, history_1.updateTransactionHistory)(transactionMeta, note ?? 'Transaction updated');
|
|
2258
|
-
}
|
|
2259
2174
|
state.transactions[index] = transactionMeta;
|
|
2260
2175
|
});
|
|
2261
2176
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
@@ -2317,7 +2232,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2317
2232
|
}
|
|
2318
2233
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2319
2234
|
transactionId,
|
|
2320
|
-
note: 'TransactionController#updateSimulationData - Update simulation data',
|
|
2321
2235
|
skipResimulateCheck: Boolean(blockTime),
|
|
2322
2236
|
}, (txMeta) => {
|
|
2323
2237
|
txMeta.gasFeeTokens = gasFeeTokens;
|
|
@@ -2330,7 +2244,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2330
2244
|
(0, logger_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2331
2245
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
|
|
2332
2246
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2333
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
2247
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
|
|
2334
2248
|
(0, GasFeePoller_1.updateTransactionGasProperties)({
|
|
2335
2249
|
txMeta,
|
|
2336
2250
|
gasFeeEstimates,
|
|
@@ -2436,7 +2350,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2436
2350
|
try {
|
|
2437
2351
|
newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2438
2352
|
transactionId: transactionMeta.id,
|
|
2439
|
-
note: 'TransactionController#failTransaction - Add error message and set status to failed',
|
|
2440
2353
|
skipValidation: true,
|
|
2441
2354
|
}, (draftTransactionMeta) => {
|
|
2442
2355
|
draftTransactionMeta.status = types_1.TransactionStatus.failed;
|
|
@@ -2478,7 +2391,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2478
2391
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2479
2392
|
transactionId,
|
|
2480
2393
|
skipResimulateCheck: true,
|
|
2481
|
-
note: 'afterSimulate Hook',
|
|
2482
2394
|
}, (txMeta) => {
|
|
2483
2395
|
txMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(txMeta.txParams);
|
|
2484
2396
|
updateTransaction(txMeta);
|