@metamask/transaction-controller 62.6.0 → 62.8.0
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 +34 -1
- package/dist/TransactionController.cjs +34 -75
- 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 +34 -75
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +39 -26
- 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 +40 -27
- 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 +32 -5
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +32 -5
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/batch.cjs +2 -1
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts +1 -0
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts +1 -0
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +2 -1
- package/dist/utils/batch.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/dist/utils/nonce.cjs +10 -6
- package/dist/utils/nonce.cjs.map +1 -1
- package/dist/utils/nonce.d.cts.map +1 -1
- package/dist/utils/nonce.d.mts.map +1 -1
- package/dist/utils/nonce.mjs +10 -6
- package/dist/utils/nonce.mjs.map +1 -1
- package/package.json +5 -5
- 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
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
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");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
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,
|
|
12
|
+
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;
|
|
13
13
|
function $importDefault(module) {
|
|
14
14
|
if (module?.__esModule) {
|
|
15
15
|
return module.default;
|
|
@@ -55,7 +55,6 @@ import { addGasBuffer, estimateGas, estimateGasBatch, updateGas } from "./utils/
|
|
|
55
55
|
import { checkGasFeeTokenBeforePublish, getGasFeeTokens } from "./utils/gas-fee-tokens.mjs";
|
|
56
56
|
import { updateGasFees } from "./utils/gas-fees.mjs";
|
|
57
57
|
import { getGasFeeFlow } from "./utils/gas-flow.mjs";
|
|
58
|
-
import { addInitialHistorySnapshot, updateTransactionHistory } from "./utils/history.mjs";
|
|
59
58
|
import { getTransactionLayer1GasFee, updateTransactionLayer1GasFee } from "./utils/layer1-gas-fee-flow.mjs";
|
|
60
59
|
import { getAndFormatTransactionsForNonceTracker, getNextNonce } from "./utils/nonce.mjs";
|
|
61
60
|
import { prepareTransaction, serializeTransaction } from "./utils/prepare.mjs";
|
|
@@ -146,7 +145,7 @@ export class TransactionController extends BaseController {
|
|
|
146
145
|
* @param options - The controller options.
|
|
147
146
|
*/
|
|
148
147
|
constructor(options) {
|
|
149
|
-
const {
|
|
148
|
+
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;
|
|
150
149
|
super({
|
|
151
150
|
name: controllerName,
|
|
152
151
|
metadata,
|
|
@@ -180,8 +179,6 @@ export class TransactionController extends BaseController {
|
|
|
180
179
|
_TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
|
|
181
180
|
_TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
|
|
182
181
|
_TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
|
|
183
|
-
_TransactionController_isHistoryDisabled.set(this, void 0);
|
|
184
|
-
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
185
182
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
186
183
|
_TransactionController_isSwapsDisabled.set(this, void 0);
|
|
187
184
|
_TransactionController_isTimeoutEnabled.set(this, void 0);
|
|
@@ -233,8 +230,6 @@ export class TransactionController extends BaseController {
|
|
|
233
230
|
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
|
|
234
231
|
(() => Promise.resolve(false)), "f");
|
|
235
232
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
236
|
-
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
237
|
-
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
238
233
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
239
234
|
__classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
|
|
240
235
|
__classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
|
|
@@ -393,7 +388,7 @@ export class TransactionController extends BaseController {
|
|
|
393
388
|
*/
|
|
394
389
|
async addTransaction(txParams, options) {
|
|
395
390
|
log('Adding transaction', txParams, options);
|
|
396
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse,
|
|
391
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
397
392
|
// eslint-disable-next-line no-param-reassign
|
|
398
393
|
txParams = normalizeTransactionParams(txParams);
|
|
399
394
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
@@ -448,9 +443,11 @@ export class TransactionController extends BaseController {
|
|
|
448
443
|
isGasFeeIncluded,
|
|
449
444
|
isGasFeeSponsored,
|
|
450
445
|
isFirstTimeInteraction: undefined,
|
|
446
|
+
isStateOnly,
|
|
451
447
|
nestedTransactions,
|
|
452
448
|
networkClientId,
|
|
453
449
|
origin,
|
|
450
|
+
requestId,
|
|
454
451
|
securityAlertResponse,
|
|
455
452
|
selectedGasFeeToken: gasFeeToken,
|
|
456
453
|
status: TransactionStatus.unapproved,
|
|
@@ -480,7 +477,6 @@ export class TransactionController extends BaseController {
|
|
|
480
477
|
.then(() => {
|
|
481
478
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
482
479
|
transactionId: newTransactionMeta.id,
|
|
483
|
-
skipHistory: true,
|
|
484
480
|
skipResimulateCheck: true,
|
|
485
481
|
skipValidation: true,
|
|
486
482
|
}, (tx) => {
|
|
@@ -504,14 +500,6 @@ export class TransactionController extends BaseController {
|
|
|
504
500
|
addedTransactionMeta.securityProviderResponse =
|
|
505
501
|
securityProviderResponse;
|
|
506
502
|
}
|
|
507
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
508
|
-
// eslint-disable-next-line require-atomic-updates
|
|
509
|
-
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
510
|
-
}
|
|
511
|
-
// Initial history push
|
|
512
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
|
|
513
|
-
addedTransactionMeta = addInitialHistorySnapshot(addedTransactionMeta);
|
|
514
|
-
}
|
|
515
503
|
addedTransactionMeta = updateSwapsTransaction(addedTransactionMeta, transactionType, swaps, {
|
|
516
504
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
517
505
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
@@ -522,7 +510,6 @@ export class TransactionController extends BaseController {
|
|
|
522
510
|
.then((delegationAddress) => {
|
|
523
511
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
524
512
|
transactionId: addedTransactionMeta.id,
|
|
525
|
-
skipHistory: true,
|
|
526
513
|
skipResimulateCheck: true,
|
|
527
514
|
skipValidation: true,
|
|
528
515
|
}, (tx) => {
|
|
@@ -531,8 +518,7 @@ export class TransactionController extends BaseController {
|
|
|
531
518
|
return undefined;
|
|
532
519
|
})
|
|
533
520
|
.catch(noop);
|
|
534
|
-
|
|
535
|
-
if (requireApproval !== false) {
|
|
521
|
+
if (requireApproval !== false && !isStateOnly) {
|
|
536
522
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
537
523
|
traceContext,
|
|
538
524
|
}).catch((error) => {
|
|
@@ -712,13 +698,14 @@ export class TransactionController extends BaseController {
|
|
|
712
698
|
* Updates an existing transaction in state.
|
|
713
699
|
*
|
|
714
700
|
* @param transactionMeta - The new transaction to store in state.
|
|
715
|
-
* @param note - A note or update reason to
|
|
701
|
+
* @param note - A note or update reason to be logged.
|
|
716
702
|
*/
|
|
717
703
|
updateTransaction(transactionMeta, note) {
|
|
718
704
|
const { id: transactionId } = transactionMeta;
|
|
719
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
705
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
|
|
720
706
|
...transactionMeta,
|
|
721
707
|
}));
|
|
708
|
+
log('Transaction updated', { transactionId, note });
|
|
722
709
|
}
|
|
723
710
|
/**
|
|
724
711
|
* Update the security alert response for a transaction.
|
|
@@ -769,6 +756,17 @@ export class TransactionController extends BaseController {
|
|
|
769
756
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
|
|
770
757
|
});
|
|
771
758
|
}
|
|
759
|
+
/**
|
|
760
|
+
* @deprecated No longer used. Kept only to avoid breaking changes. It now performs no operations.
|
|
761
|
+
* @param transactionID - The ID of the transaction to update.
|
|
762
|
+
* @param _currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
763
|
+
* @param _sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
764
|
+
* @returns The transactionMeta.
|
|
765
|
+
*/
|
|
766
|
+
updateTransactionSendFlowHistory(transactionID, _currentSendFlowHistoryLength, _sendFlowHistoryToAdd) {
|
|
767
|
+
// Return the transaction unchanged
|
|
768
|
+
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionID);
|
|
769
|
+
}
|
|
772
770
|
/**
|
|
773
771
|
* Adds external provided transaction to state as confirmed transaction.
|
|
774
772
|
*
|
|
@@ -807,33 +805,6 @@ export class TransactionController extends BaseController {
|
|
|
807
805
|
console.error('Failed to confirm external transaction', error);
|
|
808
806
|
}
|
|
809
807
|
}
|
|
810
|
-
/**
|
|
811
|
-
* Append new send flow history to a transaction.
|
|
812
|
-
*
|
|
813
|
-
* @param transactionID - The ID of the transaction to update.
|
|
814
|
-
* @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
815
|
-
* @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
816
|
-
* @returns The updated transactionMeta.
|
|
817
|
-
*/
|
|
818
|
-
updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
|
|
819
|
-
if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
820
|
-
throw new Error('Send flow history is disabled for the current transaction controller');
|
|
821
|
-
}
|
|
822
|
-
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
823
|
-
if (!transactionMeta) {
|
|
824
|
-
throw new Error(`Cannot update send flow history as no transaction metadata found`);
|
|
825
|
-
}
|
|
826
|
-
validateIfTransactionUnapproved(transactionMeta, 'updateTransactionSendFlowHistory');
|
|
827
|
-
const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
|
|
828
|
-
if (currentSendFlowHistoryLength === sendFlowHistory.length) {
|
|
829
|
-
const updatedTransactionMeta = {
|
|
830
|
-
...transactionMeta,
|
|
831
|
-
sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
|
|
832
|
-
};
|
|
833
|
-
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
|
|
834
|
-
}
|
|
835
|
-
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
836
|
-
}
|
|
837
808
|
/**
|
|
838
809
|
* Update the gas values of a transaction.
|
|
839
810
|
*
|
|
@@ -903,7 +874,6 @@ export class TransactionController extends BaseController {
|
|
|
903
874
|
const filteredTransactionGasFees = pickBy(transactionGasFees);
|
|
904
875
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
905
876
|
transactionId,
|
|
906
|
-
note: `${controllerName}:updateTransactionGasFees - gas values updated`,
|
|
907
877
|
skipResimulateCheck: true,
|
|
908
878
|
}, (draftTxMeta) => {
|
|
909
879
|
const { txParams, ...otherProps } = filteredTransactionGasFees;
|
|
@@ -1018,8 +988,6 @@ export class TransactionController extends BaseController {
|
|
|
1018
988
|
}
|
|
1019
989
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1020
990
|
transactionId,
|
|
1021
|
-
note: 'TransactionController#setTransactionActive - Transaction isActive updated',
|
|
1022
|
-
skipHistory: true,
|
|
1023
991
|
skipValidation: true,
|
|
1024
992
|
skipResimulateCheck: true,
|
|
1025
993
|
}, (updatedTransactionMeta) => {
|
|
@@ -1303,7 +1271,6 @@ export class TransactionController extends BaseController {
|
|
|
1303
1271
|
});
|
|
1304
1272
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1305
1273
|
transactionId,
|
|
1306
|
-
note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
|
|
1307
1274
|
}, (transactionMeta) => {
|
|
1308
1275
|
const { nestedTransactions, txParams } = transactionMeta;
|
|
1309
1276
|
const from = txParams.from;
|
|
@@ -1326,7 +1293,6 @@ export class TransactionController extends BaseController {
|
|
|
1326
1293
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
|
|
1327
1294
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1328
1295
|
transactionId,
|
|
1329
|
-
note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
|
|
1330
1296
|
}, (transactionMeta) => {
|
|
1331
1297
|
transactionMeta.txParams.gas = draftTransaction.txParams.gas;
|
|
1332
1298
|
transactionMeta.simulationFails = draftTransaction.simulationFails;
|
|
@@ -1346,7 +1312,6 @@ export class TransactionController extends BaseController {
|
|
|
1346
1312
|
log('Updating batch transactions', { transactionId, batchTransactions });
|
|
1347
1313
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1348
1314
|
transactionId,
|
|
1349
|
-
note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
|
|
1350
1315
|
}, (transactionMeta) => {
|
|
1351
1316
|
transactionMeta.batchTransactions = batchTransactions;
|
|
1352
1317
|
});
|
|
@@ -1428,7 +1393,7 @@ export class TransactionController extends BaseController {
|
|
|
1428
1393
|
});
|
|
1429
1394
|
}
|
|
1430
1395
|
}
|
|
1431
|
-
_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(),
|
|
1396
|
+
_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, }) {
|
|
1432
1397
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1433
1398
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1434
1399
|
return;
|
|
@@ -1563,7 +1528,14 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1563
1528
|
}
|
|
1564
1529
|
}
|
|
1565
1530
|
}, _TransactionController_processApproval = async function _TransactionController_processApproval(transactionMeta, { actionId, isExisting = false, publishHook, requireApproval, shouldShowRequest = true, traceContext, }) {
|
|
1566
|
-
const transactionId = transactionMeta
|
|
1531
|
+
const { id: transactionId, isStateOnly } = transactionMeta;
|
|
1532
|
+
if (isStateOnly) {
|
|
1533
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipValidation: true }, (tx) => {
|
|
1534
|
+
tx.status = TransactionStatus.submitted;
|
|
1535
|
+
tx.submittedTime = new Date().getTime();
|
|
1536
|
+
});
|
|
1537
|
+
return '';
|
|
1538
|
+
}
|
|
1567
1539
|
let resultCallbacks;
|
|
1568
1540
|
const { meta, isCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
|
|
1569
1541
|
const finishedPromise = isCompleted
|
|
@@ -1674,7 +1646,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1674
1646
|
// eslint-disable-next-line require-atomic-updates
|
|
1675
1647
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1676
1648
|
transactionId,
|
|
1677
|
-
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
1678
1649
|
}, (draftTxMeta) => {
|
|
1679
1650
|
const { chainId, txParams } = draftTxMeta;
|
|
1680
1651
|
const { gas, type } = txParams;
|
|
@@ -1727,7 +1698,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1727
1698
|
// eslint-disable-next-line require-atomic-updates
|
|
1728
1699
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1729
1700
|
transactionId,
|
|
1730
|
-
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
1731
1701
|
}, (draftTxMeta) => {
|
|
1732
1702
|
draftTxMeta.hash = hash;
|
|
1733
1703
|
draftTxMeta.status = TransactionStatus.submitted;
|
|
@@ -1936,17 +1906,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1936
1906
|
const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === TransactionStatus.confirmed);
|
|
1937
1907
|
const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === TransactionStatus.submitted);
|
|
1938
1908
|
validateConfirmedExternalTransaction(transactionMeta, confirmedTxs, pendingTxs);
|
|
1939
|
-
// Make sure provided external transaction has non empty history array
|
|
1940
|
-
const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
|
|
1941
|
-
? addInitialHistorySnapshot(transactionMeta)
|
|
1942
|
-
: transactionMeta;
|
|
1943
1909
|
this.update((state) => {
|
|
1944
1910
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1945
1911
|
...state.transactions,
|
|
1946
|
-
|
|
1912
|
+
transactionMeta,
|
|
1947
1913
|
]);
|
|
1948
1914
|
});
|
|
1949
|
-
return
|
|
1915
|
+
return transactionMeta;
|
|
1950
1916
|
}, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
|
|
1951
1917
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1952
1918
|
if (!transactionMeta) {
|
|
@@ -2017,7 +1983,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2017
1983
|
log('Calling before sign hook', transactionMeta);
|
|
2018
1984
|
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
2019
1985
|
if (updateTransaction) {
|
|
2020
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true
|
|
1986
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
|
|
2021
1987
|
log('Updated transaction after before sign hook');
|
|
2022
1988
|
}
|
|
2023
1989
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
@@ -2196,7 +2162,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2196
2162
|
];
|
|
2197
2163
|
}, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
|
|
2198
2164
|
return [new OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow()];
|
|
2199
|
-
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId,
|
|
2165
|
+
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
|
|
2200
2166
|
let resimulateResponse;
|
|
2201
2167
|
this.update((state) => {
|
|
2202
2168
|
const index = state.transactions.findIndex(({ id }) => id === transactionId);
|
|
@@ -2213,10 +2179,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2213
2179
|
if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2214
2180
|
resimulateResponse = shouldResimulate(originalTransactionMeta, transactionMeta);
|
|
2215
2181
|
}
|
|
2216
|
-
const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
|
|
2217
|
-
if (!shouldSkipHistory) {
|
|
2218
|
-
transactionMeta = updateTransactionHistory(transactionMeta, note ?? 'Transaction updated');
|
|
2219
|
-
}
|
|
2220
2182
|
state.transactions[index] = transactionMeta;
|
|
2221
2183
|
});
|
|
2222
2184
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
@@ -2278,7 +2240,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2278
2240
|
}
|
|
2279
2241
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2280
2242
|
transactionId,
|
|
2281
|
-
note: 'TransactionController#updateSimulationData - Update simulation data',
|
|
2282
2243
|
skipResimulateCheck: Boolean(blockTime),
|
|
2283
2244
|
}, (txMeta) => {
|
|
2284
2245
|
txMeta.gasFeeTokens = gasFeeTokens;
|
|
@@ -2291,7 +2252,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2291
2252
|
log('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2292
2253
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
|
|
2293
2254
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2294
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
2255
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
|
|
2295
2256
|
updateTransactionGasProperties({
|
|
2296
2257
|
txMeta,
|
|
2297
2258
|
gasFeeEstimates,
|
|
@@ -2397,7 +2358,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2397
2358
|
try {
|
|
2398
2359
|
newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2399
2360
|
transactionId: transactionMeta.id,
|
|
2400
|
-
note: 'TransactionController#failTransaction - Add error message and set status to failed',
|
|
2401
2361
|
skipValidation: true,
|
|
2402
2362
|
}, (draftTransactionMeta) => {
|
|
2403
2363
|
draftTransactionMeta.status = TransactionStatus.failed;
|
|
@@ -2439,7 +2399,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2439
2399
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2440
2400
|
transactionId,
|
|
2441
2401
|
skipResimulateCheck: true,
|
|
2442
|
-
note: 'afterSimulate Hook',
|
|
2443
2402
|
}, (txMeta) => {
|
|
2444
2403
|
txMeta.txParamsOriginal = cloneDeep(txMeta.txParams);
|
|
2445
2404
|
updateTransaction(txMeta);
|