@metamask/transaction-controller 62.7.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 +26 -1
- package/dist/TransactionController.cjs +33 -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 +33 -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 +20 -5
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +20 -5
- 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/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, requestId, 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,6 +443,7 @@ 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,
|
|
@@ -481,7 +477,6 @@ export class TransactionController extends BaseController {
|
|
|
481
477
|
.then(() => {
|
|
482
478
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
483
479
|
transactionId: newTransactionMeta.id,
|
|
484
|
-
skipHistory: true,
|
|
485
480
|
skipResimulateCheck: true,
|
|
486
481
|
skipValidation: true,
|
|
487
482
|
}, (tx) => {
|
|
@@ -505,14 +500,6 @@ export class TransactionController extends BaseController {
|
|
|
505
500
|
addedTransactionMeta.securityProviderResponse =
|
|
506
501
|
securityProviderResponse;
|
|
507
502
|
}
|
|
508
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
509
|
-
// eslint-disable-next-line require-atomic-updates
|
|
510
|
-
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
511
|
-
}
|
|
512
|
-
// Initial history push
|
|
513
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
|
|
514
|
-
addedTransactionMeta = addInitialHistorySnapshot(addedTransactionMeta);
|
|
515
|
-
}
|
|
516
503
|
addedTransactionMeta = updateSwapsTransaction(addedTransactionMeta, transactionType, swaps, {
|
|
517
504
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
518
505
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
@@ -523,7 +510,6 @@ export class TransactionController extends BaseController {
|
|
|
523
510
|
.then((delegationAddress) => {
|
|
524
511
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
525
512
|
transactionId: addedTransactionMeta.id,
|
|
526
|
-
skipHistory: true,
|
|
527
513
|
skipResimulateCheck: true,
|
|
528
514
|
skipValidation: true,
|
|
529
515
|
}, (tx) => {
|
|
@@ -532,8 +518,7 @@ export class TransactionController extends BaseController {
|
|
|
532
518
|
return undefined;
|
|
533
519
|
})
|
|
534
520
|
.catch(noop);
|
|
535
|
-
|
|
536
|
-
if (requireApproval !== false) {
|
|
521
|
+
if (requireApproval !== false && !isStateOnly) {
|
|
537
522
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
538
523
|
traceContext,
|
|
539
524
|
}).catch((error) => {
|
|
@@ -713,13 +698,14 @@ export class TransactionController extends BaseController {
|
|
|
713
698
|
* Updates an existing transaction in state.
|
|
714
699
|
*
|
|
715
700
|
* @param transactionMeta - The new transaction to store in state.
|
|
716
|
-
* @param note - A note or update reason to
|
|
701
|
+
* @param note - A note or update reason to be logged.
|
|
717
702
|
*/
|
|
718
703
|
updateTransaction(transactionMeta, note) {
|
|
719
704
|
const { id: transactionId } = transactionMeta;
|
|
720
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
705
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
|
|
721
706
|
...transactionMeta,
|
|
722
707
|
}));
|
|
708
|
+
log('Transaction updated', { transactionId, note });
|
|
723
709
|
}
|
|
724
710
|
/**
|
|
725
711
|
* Update the security alert response for a transaction.
|
|
@@ -770,6 +756,17 @@ export class TransactionController extends BaseController {
|
|
|
770
756
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
|
|
771
757
|
});
|
|
772
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
|
+
}
|
|
773
770
|
/**
|
|
774
771
|
* Adds external provided transaction to state as confirmed transaction.
|
|
775
772
|
*
|
|
@@ -808,33 +805,6 @@ export class TransactionController extends BaseController {
|
|
|
808
805
|
console.error('Failed to confirm external transaction', error);
|
|
809
806
|
}
|
|
810
807
|
}
|
|
811
|
-
/**
|
|
812
|
-
* Append new send flow history to a transaction.
|
|
813
|
-
*
|
|
814
|
-
* @param transactionID - The ID of the transaction to update.
|
|
815
|
-
* @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
816
|
-
* @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
817
|
-
* @returns The updated transactionMeta.
|
|
818
|
-
*/
|
|
819
|
-
updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
|
|
820
|
-
if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
821
|
-
throw new Error('Send flow history is disabled for the current transaction controller');
|
|
822
|
-
}
|
|
823
|
-
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
824
|
-
if (!transactionMeta) {
|
|
825
|
-
throw new Error(`Cannot update send flow history as no transaction metadata found`);
|
|
826
|
-
}
|
|
827
|
-
validateIfTransactionUnapproved(transactionMeta, 'updateTransactionSendFlowHistory');
|
|
828
|
-
const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
|
|
829
|
-
if (currentSendFlowHistoryLength === sendFlowHistory.length) {
|
|
830
|
-
const updatedTransactionMeta = {
|
|
831
|
-
...transactionMeta,
|
|
832
|
-
sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
|
|
833
|
-
};
|
|
834
|
-
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
|
|
835
|
-
}
|
|
836
|
-
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
837
|
-
}
|
|
838
808
|
/**
|
|
839
809
|
* Update the gas values of a transaction.
|
|
840
810
|
*
|
|
@@ -904,7 +874,6 @@ export class TransactionController extends BaseController {
|
|
|
904
874
|
const filteredTransactionGasFees = pickBy(transactionGasFees);
|
|
905
875
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
906
876
|
transactionId,
|
|
907
|
-
note: `${controllerName}:updateTransactionGasFees - gas values updated`,
|
|
908
877
|
skipResimulateCheck: true,
|
|
909
878
|
}, (draftTxMeta) => {
|
|
910
879
|
const { txParams, ...otherProps } = filteredTransactionGasFees;
|
|
@@ -1019,8 +988,6 @@ export class TransactionController extends BaseController {
|
|
|
1019
988
|
}
|
|
1020
989
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1021
990
|
transactionId,
|
|
1022
|
-
note: 'TransactionController#setTransactionActive - Transaction isActive updated',
|
|
1023
|
-
skipHistory: true,
|
|
1024
991
|
skipValidation: true,
|
|
1025
992
|
skipResimulateCheck: true,
|
|
1026
993
|
}, (updatedTransactionMeta) => {
|
|
@@ -1304,7 +1271,6 @@ export class TransactionController extends BaseController {
|
|
|
1304
1271
|
});
|
|
1305
1272
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1306
1273
|
transactionId,
|
|
1307
|
-
note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
|
|
1308
1274
|
}, (transactionMeta) => {
|
|
1309
1275
|
const { nestedTransactions, txParams } = transactionMeta;
|
|
1310
1276
|
const from = txParams.from;
|
|
@@ -1327,7 +1293,6 @@ export class TransactionController extends BaseController {
|
|
|
1327
1293
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
|
|
1328
1294
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1329
1295
|
transactionId,
|
|
1330
|
-
note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
|
|
1331
1296
|
}, (transactionMeta) => {
|
|
1332
1297
|
transactionMeta.txParams.gas = draftTransaction.txParams.gas;
|
|
1333
1298
|
transactionMeta.simulationFails = draftTransaction.simulationFails;
|
|
@@ -1347,7 +1312,6 @@ export class TransactionController extends BaseController {
|
|
|
1347
1312
|
log('Updating batch transactions', { transactionId, batchTransactions });
|
|
1348
1313
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1349
1314
|
transactionId,
|
|
1350
|
-
note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
|
|
1351
1315
|
}, (transactionMeta) => {
|
|
1352
1316
|
transactionMeta.batchTransactions = batchTransactions;
|
|
1353
1317
|
});
|
|
@@ -1429,7 +1393,7 @@ export class TransactionController extends BaseController {
|
|
|
1429
1393
|
});
|
|
1430
1394
|
}
|
|
1431
1395
|
}
|
|
1432
|
-
_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, }) {
|
|
1433
1397
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1434
1398
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1435
1399
|
return;
|
|
@@ -1564,7 +1528,14 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1564
1528
|
}
|
|
1565
1529
|
}
|
|
1566
1530
|
}, _TransactionController_processApproval = async function _TransactionController_processApproval(transactionMeta, { actionId, isExisting = false, publishHook, requireApproval, shouldShowRequest = true, traceContext, }) {
|
|
1567
|
-
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
|
+
}
|
|
1568
1539
|
let resultCallbacks;
|
|
1569
1540
|
const { meta, isCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
|
|
1570
1541
|
const finishedPromise = isCompleted
|
|
@@ -1675,7 +1646,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1675
1646
|
// eslint-disable-next-line require-atomic-updates
|
|
1676
1647
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1677
1648
|
transactionId,
|
|
1678
|
-
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
1679
1649
|
}, (draftTxMeta) => {
|
|
1680
1650
|
const { chainId, txParams } = draftTxMeta;
|
|
1681
1651
|
const { gas, type } = txParams;
|
|
@@ -1728,7 +1698,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1728
1698
|
// eslint-disable-next-line require-atomic-updates
|
|
1729
1699
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1730
1700
|
transactionId,
|
|
1731
|
-
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
1732
1701
|
}, (draftTxMeta) => {
|
|
1733
1702
|
draftTxMeta.hash = hash;
|
|
1734
1703
|
draftTxMeta.status = TransactionStatus.submitted;
|
|
@@ -1937,17 +1906,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1937
1906
|
const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === TransactionStatus.confirmed);
|
|
1938
1907
|
const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === TransactionStatus.submitted);
|
|
1939
1908
|
validateConfirmedExternalTransaction(transactionMeta, confirmedTxs, pendingTxs);
|
|
1940
|
-
// Make sure provided external transaction has non empty history array
|
|
1941
|
-
const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
|
|
1942
|
-
? addInitialHistorySnapshot(transactionMeta)
|
|
1943
|
-
: transactionMeta;
|
|
1944
1909
|
this.update((state) => {
|
|
1945
1910
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1946
1911
|
...state.transactions,
|
|
1947
|
-
|
|
1912
|
+
transactionMeta,
|
|
1948
1913
|
]);
|
|
1949
1914
|
});
|
|
1950
|
-
return
|
|
1915
|
+
return transactionMeta;
|
|
1951
1916
|
}, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
|
|
1952
1917
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1953
1918
|
if (!transactionMeta) {
|
|
@@ -2018,7 +1983,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2018
1983
|
log('Calling before sign hook', transactionMeta);
|
|
2019
1984
|
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
2020
1985
|
if (updateTransaction) {
|
|
2021
|
-
__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);
|
|
2022
1987
|
log('Updated transaction after before sign hook');
|
|
2023
1988
|
}
|
|
2024
1989
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
@@ -2197,7 +2162,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2197
2162
|
];
|
|
2198
2163
|
}, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
|
|
2199
2164
|
return [new OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow()];
|
|
2200
|
-
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId,
|
|
2165
|
+
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
|
|
2201
2166
|
let resimulateResponse;
|
|
2202
2167
|
this.update((state) => {
|
|
2203
2168
|
const index = state.transactions.findIndex(({ id }) => id === transactionId);
|
|
@@ -2214,10 +2179,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2214
2179
|
if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2215
2180
|
resimulateResponse = shouldResimulate(originalTransactionMeta, transactionMeta);
|
|
2216
2181
|
}
|
|
2217
|
-
const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
|
|
2218
|
-
if (!shouldSkipHistory) {
|
|
2219
|
-
transactionMeta = updateTransactionHistory(transactionMeta, note ?? 'Transaction updated');
|
|
2220
|
-
}
|
|
2221
2182
|
state.transactions[index] = transactionMeta;
|
|
2222
2183
|
});
|
|
2223
2184
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
@@ -2279,7 +2240,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2279
2240
|
}
|
|
2280
2241
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2281
2242
|
transactionId,
|
|
2282
|
-
note: 'TransactionController#updateSimulationData - Update simulation data',
|
|
2283
2243
|
skipResimulateCheck: Boolean(blockTime),
|
|
2284
2244
|
}, (txMeta) => {
|
|
2285
2245
|
txMeta.gasFeeTokens = gasFeeTokens;
|
|
@@ -2292,7 +2252,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2292
2252
|
log('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2293
2253
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
|
|
2294
2254
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2295
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
2255
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
|
|
2296
2256
|
updateTransactionGasProperties({
|
|
2297
2257
|
txMeta,
|
|
2298
2258
|
gasFeeEstimates,
|
|
@@ -2398,7 +2358,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2398
2358
|
try {
|
|
2399
2359
|
newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2400
2360
|
transactionId: transactionMeta.id,
|
|
2401
|
-
note: 'TransactionController#failTransaction - Add error message and set status to failed',
|
|
2402
2361
|
skipValidation: true,
|
|
2403
2362
|
}, (draftTransactionMeta) => {
|
|
2404
2363
|
draftTransactionMeta.status = TransactionStatus.failed;
|
|
@@ -2440,7 +2399,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2440
2399
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2441
2400
|
transactionId,
|
|
2442
2401
|
skipResimulateCheck: true,
|
|
2443
|
-
note: 'afterSimulate Hook',
|
|
2444
2402
|
}, (txMeta) => {
|
|
2445
2403
|
txMeta.txParamsOriginal = cloneDeep(txMeta.txParams);
|
|
2446
2404
|
updateTransaction(txMeta);
|