@metamask/transaction-controller 62.5.0 → 62.7.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 +29 -1
- package/dist/TransactionController.cjs +107 -49
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +33 -21
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +33 -21
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +108 -50
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/api/accounts-api.cjs +1 -1
- package/dist/api/accounts-api.cjs.map +1 -1
- package/dist/api/accounts-api.mjs +1 -1
- package/dist/api/accounts-api.mjs.map +1 -1
- package/dist/api/simulation-api.cjs +1 -1
- package/dist/api/simulation-api.cjs.map +1 -1
- package/dist/api/simulation-api.mjs +1 -1
- package/dist/api/simulation-api.mjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs +28 -17
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts +1 -6
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts +1 -6
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +28 -17
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs +1 -0
- package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs +1 -0
- package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
- package/dist/helpers/GasFeePoller.cjs.map +1 -1
- package/dist/helpers/GasFeePoller.mjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.cjs +2 -2
- package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.mjs +2 -2
- package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +88 -22
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts +7 -6
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts +7 -6
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +88 -22
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/helpers/ResimulateHelper.cjs.map +1 -1
- package/dist/helpers/ResimulateHelper.d.cts +1 -4
- package/dist/helpers/ResimulateHelper.d.cts.map +1 -1
- package/dist/helpers/ResimulateHelper.d.mts +1 -4
- package/dist/helpers/ResimulateHelper.d.mts.map +1 -1
- package/dist/helpers/ResimulateHelper.mjs.map +1 -1
- package/dist/helpers/TransactionPoller.cjs.map +1 -1
- package/dist/helpers/TransactionPoller.d.cts.map +1 -1
- package/dist/helpers/TransactionPoller.d.mts.map +1 -1
- package/dist/helpers/TransactionPoller.mjs.map +1 -1
- package/dist/hooks/CollectPublishHook.cjs +1 -1
- package/dist/hooks/CollectPublishHook.cjs.map +1 -1
- package/dist/hooks/CollectPublishHook.d.cts.map +1 -1
- package/dist/hooks/CollectPublishHook.d.mts.map +1 -1
- package/dist/hooks/CollectPublishHook.mjs +1 -1
- package/dist/hooks/CollectPublishHook.mjs.map +1 -1
- package/dist/hooks/ExtraTransactionsPublishHook.cjs.map +1 -1
- package/dist/hooks/ExtraTransactionsPublishHook.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs +5 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +18 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +18 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +5 -0
- package/dist/types.mjs.map +1 -1
- package/dist/utils/balance-changes.cjs +5 -5
- package/dist/utils/balance-changes.cjs.map +1 -1
- package/dist/utils/balance-changes.d.cts.map +1 -1
- package/dist/utils/balance-changes.d.mts.map +1 -1
- package/dist/utils/balance-changes.mjs +5 -5
- package/dist/utils/balance-changes.mjs.map +1 -1
- package/dist/utils/balance.cjs.map +1 -1
- package/dist/utils/balance.d.cts.map +1 -1
- package/dist/utils/balance.d.mts.map +1 -1
- package/dist/utils/balance.mjs.map +1 -1
- package/dist/utils/batch.cjs +10 -4
- 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 +10 -4
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/eip7702.cjs +4 -3
- package/dist/utils/eip7702.cjs.map +1 -1
- package/dist/utils/eip7702.d.cts +1 -1
- package/dist/utils/eip7702.d.cts.map +1 -1
- package/dist/utils/eip7702.d.mts +1 -1
- package/dist/utils/eip7702.d.mts.map +1 -1
- package/dist/utils/eip7702.mjs +4 -3
- package/dist/utils/eip7702.mjs.map +1 -1
- package/dist/utils/external-transactions.cjs.map +1 -1
- package/dist/utils/external-transactions.d.cts.map +1 -1
- package/dist/utils/external-transactions.d.mts.map +1 -1
- package/dist/utils/external-transactions.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +22 -7
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +24 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +24 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +20 -6
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/first-time-interaction.cjs +3 -5
- package/dist/utils/first-time-interaction.cjs.map +1 -1
- package/dist/utils/first-time-interaction.d.cts.map +1 -1
- package/dist/utils/first-time-interaction.d.mts.map +1 -1
- package/dist/utils/first-time-interaction.mjs +3 -5
- package/dist/utils/first-time-interaction.mjs.map +1 -1
- package/dist/utils/gas-fee-tokens.cjs +1 -1
- package/dist/utils/gas-fee-tokens.cjs.map +1 -1
- package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
- package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
- package/dist/utils/gas-fee-tokens.mjs +1 -1
- package/dist/utils/gas-fee-tokens.mjs.map +1 -1
- package/dist/utils/gas-fees.cjs +1 -3
- package/dist/utils/gas-fees.cjs.map +1 -1
- package/dist/utils/gas-fees.d.cts +1 -1
- package/dist/utils/gas-fees.d.cts.map +1 -1
- package/dist/utils/gas-fees.d.mts +1 -1
- package/dist/utils/gas-fees.d.mts.map +1 -1
- package/dist/utils/gas-fees.mjs +1 -3
- package/dist/utils/gas-fees.mjs.map +1 -1
- package/dist/utils/gas.cjs +71 -15
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +18 -12
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +18 -12
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +70 -15
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
- package/dist/utils/prepare.cjs.map +1 -1
- package/dist/utils/prepare.d.cts +1 -1
- package/dist/utils/prepare.d.cts.map +1 -1
- package/dist/utils/prepare.d.mts +1 -1
- package/dist/utils/prepare.d.mts.map +1 -1
- package/dist/utils/prepare.mjs.map +1 -1
- package/dist/utils/swaps.cjs.map +1 -1
- package/dist/utils/swaps.mjs.map +1 -1
- package/dist/utils/utils.cjs +10 -10
- package/dist/utils/utils.cjs.map +1 -1
- package/dist/utils/utils.d.cts +4 -4
- package/dist/utils/utils.d.cts.map +1 -1
- package/dist/utils/utils.d.mts +4 -4
- package/dist/utils/utils.d.mts.map +1 -1
- package/dist/utils/utils.mjs +10 -10
- package/dist/utils/utils.mjs.map +1 -1
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.cts.map +1 -1
- package/dist/utils/validation.d.mts.map +1 -1
- package/dist/utils/validation.mjs.map +1 -1
- package/package.json +1 -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, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _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;
|
|
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_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
|
|
13
13
|
function $importDefault(module) {
|
|
14
14
|
if (module?.__esModule) {
|
|
15
15
|
return module.default;
|
|
@@ -51,7 +51,7 @@ import { addTransactionBatch, isAtomicBatchSupported } from "./utils/batch.mjs";
|
|
|
51
51
|
import { generateEIP7702BatchTransaction, getDelegationAddress, signAuthorizationList } from "./utils/eip7702.mjs";
|
|
52
52
|
import { validateConfirmedExternalTransaction } from "./utils/external-transactions.mjs";
|
|
53
53
|
import { updateFirstTimeInteraction } from "./utils/first-time-interaction.mjs";
|
|
54
|
-
import { addGasBuffer, estimateGas, updateGas } from "./utils/gas.mjs";
|
|
54
|
+
import { addGasBuffer, estimateGas, estimateGasBatch, updateGas } from "./utils/gas.mjs";
|
|
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";
|
|
@@ -184,6 +184,7 @@ export class TransactionController extends BaseController {
|
|
|
184
184
|
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
185
185
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
186
186
|
_TransactionController_isSwapsDisabled.set(this, void 0);
|
|
187
|
+
_TransactionController_isTimeoutEnabled.set(this, void 0);
|
|
187
188
|
_TransactionController_layer1GasFeeFlows.set(this, void 0);
|
|
188
189
|
_TransactionController_methodDataHelper.set(this, void 0);
|
|
189
190
|
_TransactionController_multichainTrackingHelper.set(this, void 0);
|
|
@@ -204,32 +205,43 @@ export class TransactionController extends BaseController {
|
|
|
204
205
|
this.messenger = messenger;
|
|
205
206
|
__classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
|
|
206
207
|
__classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
|
|
207
|
-
__classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
|
|
208
|
+
__classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
|
|
209
|
+
(() => Promise.resolve({})), "f");
|
|
208
210
|
__classPrivateFieldSet(this, _TransactionController_beforeCheckPendingTransaction,
|
|
209
211
|
/* istanbul ignore next */
|
|
210
|
-
hooks?.beforeCheckPendingTransaction ??
|
|
212
|
+
hooks?.beforeCheckPendingTransaction ??
|
|
213
|
+
(() => Promise.resolve(true)), "f");
|
|
211
214
|
__classPrivateFieldSet(this, _TransactionController_beforePublish, hooks?.beforePublish ?? (() => Promise.resolve(true)), "f");
|
|
212
|
-
__classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
|
|
213
|
-
|
|
214
|
-
__classPrivateFieldSet(this,
|
|
215
|
+
__classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
|
|
216
|
+
(() => Promise.resolve({})), "f");
|
|
217
|
+
__classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ??
|
|
218
|
+
(() => []), "f");
|
|
219
|
+
__classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ??
|
|
220
|
+
(() => Promise.resolve(true)), "f");
|
|
215
221
|
__classPrivateFieldSet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, "f");
|
|
216
222
|
__classPrivateFieldSet(this, _TransactionController_getExternalPendingTransactions, getExternalPendingTransactions ?? (() => []), "f");
|
|
217
|
-
__classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates
|
|
223
|
+
__classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates ??
|
|
224
|
+
(() => Promise.resolve({})), "f");
|
|
218
225
|
__classPrivateFieldSet(this, _TransactionController_getNetworkState, getNetworkState, "f");
|
|
219
226
|
__classPrivateFieldSet(this, _TransactionController_getPermittedAccounts, getPermittedAccounts, "f");
|
|
220
227
|
__classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
|
|
221
|
-
__classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
|
|
228
|
+
__classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
|
|
229
|
+
(() => Promise.resolve({})), "f");
|
|
222
230
|
__classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
|
|
223
|
-
__classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ??
|
|
224
|
-
|
|
231
|
+
__classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ??
|
|
232
|
+
((_txMeta) => false), "f");
|
|
233
|
+
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
|
|
234
|
+
(() => Promise.resolve(false)), "f");
|
|
225
235
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
226
236
|
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
227
237
|
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
228
238
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
229
239
|
__classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
|
|
240
|
+
__classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
|
|
230
241
|
__classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
|
|
231
242
|
__classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
|
|
232
|
-
__classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
|
|
243
|
+
__classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
|
|
244
|
+
(() => Promise.resolve({ transactionHash: undefined })), "f");
|
|
233
245
|
__classPrivateFieldSet(this, _TransactionController_publishBatchHook, hooks?.publishBatch, "f");
|
|
234
246
|
__classPrivateFieldSet(this, _TransactionController_securityProviderRequest, securityProviderRequest, "f");
|
|
235
247
|
__classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
|
|
@@ -294,6 +306,7 @@ export class TransactionController extends BaseController {
|
|
|
294
306
|
// when transactionsController state changes
|
|
295
307
|
// check for pending transactions and start polling if there are any
|
|
296
308
|
this.messenger.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
|
|
309
|
+
// eslint-disable-next-line no-new
|
|
297
310
|
new ResimulateHelper({
|
|
298
311
|
simulateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).bind(this),
|
|
299
312
|
onTransactionsUpdate: (listener) => {
|
|
@@ -380,7 +393,8 @@ export class TransactionController extends BaseController {
|
|
|
380
393
|
*/
|
|
381
394
|
async addTransaction(txParams, options) {
|
|
382
395
|
log('Adding transaction', txParams, options);
|
|
383
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
396
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
397
|
+
// eslint-disable-next-line no-param-reassign
|
|
384
398
|
txParams = normalizeTransactionParams(txParams);
|
|
385
399
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
386
400
|
throw new Error(`Network client not found - ${networkClientId}`);
|
|
@@ -437,6 +451,7 @@ export class TransactionController extends BaseController {
|
|
|
437
451
|
nestedTransactions,
|
|
438
452
|
networkClientId,
|
|
439
453
|
origin,
|
|
454
|
+
requestId,
|
|
440
455
|
securityAlertResponse,
|
|
441
456
|
selectedGasFeeToken: gasFeeToken,
|
|
442
457
|
status: TransactionStatus.unapproved,
|
|
@@ -454,6 +469,7 @@ export class TransactionController extends BaseController {
|
|
|
454
469
|
addedTransactionMeta.txParamsOriginal = cloneDeep(addedTransactionMeta.txParams);
|
|
455
470
|
updateTransaction(addedTransactionMeta);
|
|
456
471
|
}
|
|
472
|
+
// eslint-disable-next-line no-negated-condition
|
|
457
473
|
if (!skipInitialGasEstimate) {
|
|
458
474
|
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, {
|
|
459
475
|
traceContext: context,
|
|
@@ -485,10 +501,12 @@ export class TransactionController extends BaseController {
|
|
|
485
501
|
// Set security provider response
|
|
486
502
|
if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
|
|
487
503
|
const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
|
|
504
|
+
// eslint-disable-next-line require-atomic-updates
|
|
488
505
|
addedTransactionMeta.securityProviderResponse =
|
|
489
506
|
securityProviderResponse;
|
|
490
507
|
}
|
|
491
508
|
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
509
|
+
// eslint-disable-next-line require-atomic-updates
|
|
492
510
|
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
493
511
|
}
|
|
494
512
|
// Initial history push
|
|
@@ -514,6 +532,7 @@ export class TransactionController extends BaseController {
|
|
|
514
532
|
return undefined;
|
|
515
533
|
})
|
|
516
534
|
.catch(noop);
|
|
535
|
+
// eslint-disable-next-line no-negated-condition
|
|
517
536
|
if (requireApproval !== false) {
|
|
518
537
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
519
538
|
traceContext,
|
|
@@ -561,7 +580,7 @@ export class TransactionController extends BaseController {
|
|
|
561
580
|
* @param request - Request object.
|
|
562
581
|
* @param request.tags - Additional tags to identify the source of the request.
|
|
563
582
|
*/
|
|
564
|
-
async updateIncomingTransactions({ tags } = {}) {
|
|
583
|
+
async updateIncomingTransactions({ tags, } = {}) {
|
|
565
584
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
|
|
566
585
|
}
|
|
567
586
|
/**
|
|
@@ -641,6 +660,29 @@ export class TransactionController extends BaseController {
|
|
|
641
660
|
});
|
|
642
661
|
return { gas: estimatedGas, simulationFails };
|
|
643
662
|
}
|
|
663
|
+
/**
|
|
664
|
+
* Estimates required gas for a batch of transactions.
|
|
665
|
+
*
|
|
666
|
+
* @param request - Request object.
|
|
667
|
+
* @param request.chainId - Chain ID of the transactions.
|
|
668
|
+
* @param request.from - Address of the sender.
|
|
669
|
+
* @param request.transactions - Array of transactions within a batch request.
|
|
670
|
+
* @returns Object containing the gas limit.
|
|
671
|
+
*/
|
|
672
|
+
async estimateGasBatch({ chainId, from, transactions, }) {
|
|
673
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
674
|
+
chainId,
|
|
675
|
+
});
|
|
676
|
+
return estimateGasBatch({
|
|
677
|
+
chainId,
|
|
678
|
+
ethQuery,
|
|
679
|
+
from,
|
|
680
|
+
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
681
|
+
isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
|
|
682
|
+
messenger: this.messenger,
|
|
683
|
+
transactions,
|
|
684
|
+
});
|
|
685
|
+
}
|
|
644
686
|
/**
|
|
645
687
|
* Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
|
|
646
688
|
*
|
|
@@ -1028,11 +1070,11 @@ export class TransactionController extends BaseController {
|
|
|
1028
1070
|
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
|
|
1029
1071
|
}));
|
|
1030
1072
|
}
|
|
1031
|
-
catch (
|
|
1032
|
-
log('Error while signing transactions with same nonce',
|
|
1073
|
+
catch (error) {
|
|
1074
|
+
log('Error while signing transactions with same nonce', error);
|
|
1033
1075
|
// Must set transaction to submitted/failed before releasing lock
|
|
1034
1076
|
// continue with error chain
|
|
1035
|
-
throw
|
|
1077
|
+
throw error;
|
|
1036
1078
|
}
|
|
1037
1079
|
finally {
|
|
1038
1080
|
nonceLock?.releaseLock();
|
|
@@ -1111,7 +1153,7 @@ export class TransactionController extends BaseController {
|
|
|
1111
1153
|
? predicate
|
|
1112
1154
|
: // TODO: Replace `any` with type
|
|
1113
1155
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1114
|
-
(
|
|
1156
|
+
(value) => value === predicate;
|
|
1115
1157
|
});
|
|
1116
1158
|
const transactionsToFilter = initialList ?? this.state.transactions;
|
|
1117
1159
|
// Combine sortBy and pickBy to transform our state object into an array of
|
|
@@ -1387,13 +1429,14 @@ export class TransactionController extends BaseController {
|
|
|
1387
1429
|
});
|
|
1388
1430
|
}
|
|
1389
1431
|
}
|
|
1390
|
-
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_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
|
+
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
|
|
1391
1433
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1392
1434
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1393
1435
|
return;
|
|
1394
1436
|
}
|
|
1395
1437
|
if (gasValues) {
|
|
1396
1438
|
// Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
|
|
1439
|
+
// eslint-disable-next-line no-param-reassign
|
|
1397
1440
|
gasValues = normalizeGasFeeValues(gasValues);
|
|
1398
1441
|
validateGasValues(gasValues);
|
|
1399
1442
|
}
|
|
@@ -1553,10 +1596,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1553
1596
|
resultCallbacks.success();
|
|
1554
1597
|
}
|
|
1555
1598
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1599
|
+
if (approvalResult === ApprovalState.Approved) {
|
|
1600
|
+
this.messenger.publish(`${controllerName}:transactionApproved`, {
|
|
1601
|
+
transactionMeta: updatedTransactionMeta,
|
|
1602
|
+
actionId,
|
|
1603
|
+
});
|
|
1604
|
+
}
|
|
1560
1605
|
}
|
|
1561
1606
|
}
|
|
1562
1607
|
catch (rawError) {
|
|
@@ -1577,17 +1622,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1577
1622
|
}
|
|
1578
1623
|
const finalMeta = await finishedPromise;
|
|
1579
1624
|
switch (finalMeta?.status) {
|
|
1580
|
-
case TransactionStatus.failed:
|
|
1625
|
+
case TransactionStatus.failed: {
|
|
1581
1626
|
const error = finalMeta.error;
|
|
1582
1627
|
resultCallbacks?.error(error);
|
|
1583
1628
|
throw rpcErrors.internal(error.message);
|
|
1629
|
+
}
|
|
1584
1630
|
case TransactionStatus.submitted:
|
|
1585
1631
|
resultCallbacks?.success();
|
|
1586
1632
|
return finalMeta.hash;
|
|
1587
|
-
default:
|
|
1588
|
-
const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta
|
|
1633
|
+
default: {
|
|
1634
|
+
const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
|
|
1589
1635
|
resultCallbacks?.error(internalError);
|
|
1590
1636
|
throw internalError;
|
|
1637
|
+
}
|
|
1591
1638
|
}
|
|
1592
1639
|
}, _TransactionController_approveTransaction =
|
|
1593
1640
|
/**
|
|
@@ -1625,6 +1672,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1625
1672
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1626
1673
|
const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1627
1674
|
clearNonceLock = releaseNonce;
|
|
1675
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1628
1676
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1629
1677
|
transactionId,
|
|
1630
1678
|
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
@@ -1641,6 +1689,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1641
1689
|
});
|
|
1642
1690
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1643
1691
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1692
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1644
1693
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1645
1694
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1646
1695
|
log('Skipping publishing transaction based on hook');
|
|
@@ -1676,6 +1725,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1676
1725
|
publishHook = extraTransactionsPublishHook.getHook();
|
|
1677
1726
|
}
|
|
1678
1727
|
const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
|
|
1728
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1679
1729
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1680
1730
|
transactionId,
|
|
1681
1731
|
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
@@ -1707,13 +1757,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1707
1757
|
clearNonceLock?.();
|
|
1708
1758
|
}
|
|
1709
1759
|
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1760
|
+
try {
|
|
1761
|
+
const transactionHash = await query(ethQuery, 'sendRawTransaction', [
|
|
1762
|
+
transactionMeta.rawTx,
|
|
1763
|
+
]);
|
|
1764
|
+
if (skipSubmitHistory !== true) {
|
|
1765
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
|
|
1766
|
+
}
|
|
1767
|
+
return transactionHash;
|
|
1768
|
+
}
|
|
1769
|
+
catch (error) {
|
|
1770
|
+
const errorObject = error;
|
|
1771
|
+
const errorMessage = errorObject?.data?.message ?? errorObject?.message ?? String(error);
|
|
1772
|
+
throw new Error(errorMessage);
|
|
1715
1773
|
}
|
|
1716
|
-
return transactionHash;
|
|
1717
1774
|
}, _TransactionController_rejectTransaction = function _TransactionController_rejectTransaction(transactionId, actionId, error) {
|
|
1718
1775
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1719
1776
|
if (!transactionMeta) {
|
|
@@ -1777,7 +1834,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1777
1834
|
});
|
|
1778
1835
|
return (await this.messenger.call('ApprovalController:addRequest', {
|
|
1779
1836
|
id,
|
|
1780
|
-
origin: origin
|
|
1837
|
+
origin: origin ?? ORIGIN_METAMASK,
|
|
1781
1838
|
type,
|
|
1782
1839
|
requestData,
|
|
1783
1840
|
expectsResult: true,
|
|
@@ -2077,19 +2134,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2077
2134
|
blockTracker,
|
|
2078
2135
|
getChainId: () => chainId,
|
|
2079
2136
|
getEthQuery: () => ethQuery,
|
|
2080
|
-
getNetworkClientId: () => networkClientId,
|
|
2081
|
-
getTransactions: () => this.state.transactions,
|
|
2082
|
-
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2083
2137
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2084
2138
|
chainId,
|
|
2085
2139
|
}),
|
|
2140
|
+
getNetworkClientId: () => networkClientId,
|
|
2141
|
+
getTransactions: () => this.state.transactions,
|
|
2142
|
+
hooks: {
|
|
2143
|
+
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2144
|
+
},
|
|
2145
|
+
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2146
|
+
isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
|
|
2086
2147
|
messenger: this.messenger,
|
|
2087
2148
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2088
2149
|
skipSubmitHistory: true,
|
|
2089
2150
|
}),
|
|
2090
|
-
hooks: {
|
|
2091
|
-
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2092
|
-
},
|
|
2093
2151
|
});
|
|
2094
2152
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|
|
2095
2153
|
return pendingTransactionTracker;
|
|
@@ -2126,8 +2184,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2126
2184
|
throw error;
|
|
2127
2185
|
}
|
|
2128
2186
|
}, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
|
|
2129
|
-
return (error?.message?.includes('nonce too low') ||
|
|
2130
|
-
error?.data?.message?.includes('nonce too low'));
|
|
2187
|
+
return (Boolean(error?.message?.includes('nonce too low')) ||
|
|
2188
|
+
Boolean(error?.data?.message?.includes('nonce too low')));
|
|
2131
2189
|
}, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
|
|
2132
2190
|
if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
|
|
2133
2191
|
return [new TestGasFeeFlow()];
|
|
@@ -2310,6 +2368,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2310
2368
|
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2311
2369
|
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2312
2370
|
this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2371
|
+
this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
|
|
2313
2372
|
this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
|
|
2314
2373
|
this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2315
2374
|
this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
@@ -2346,8 +2405,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2346
2405
|
draftTransactionMeta.error = normalizeTxError(error);
|
|
2347
2406
|
});
|
|
2348
2407
|
}
|
|
2349
|
-
catch (
|
|
2350
|
-
log('Failed to mark transaction as failed',
|
|
2408
|
+
catch (caughtError) {
|
|
2409
|
+
log('Failed to mark transaction as failed', caughtError);
|
|
2351
2410
|
newTransactionMeta = {
|
|
2352
2411
|
...transactionMeta,
|
|
2353
2412
|
status: TransactionStatus.failed,
|
|
@@ -2368,7 +2427,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2368
2427
|
const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
|
|
2369
2428
|
transactionMeta,
|
|
2370
2429
|
});
|
|
2371
|
-
const { skipSimulation, updateTransaction } = result
|
|
2430
|
+
const { skipSimulation, updateTransaction } = result ?? {};
|
|
2372
2431
|
if (skipSimulation) {
|
|
2373
2432
|
__classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
|
|
2374
2433
|
}
|
|
@@ -2392,12 +2451,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2392
2451
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
|
|
2393
2452
|
const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
|
|
2394
2453
|
({ transactionHash } = await publishHook(transactionMeta, signedTx));
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
}
|
|
2454
|
+
// eslint-disable-next-line require-atomic-updates
|
|
2455
|
+
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
|
|
2456
|
+
...transactionMeta,
|
|
2457
|
+
rawTx: signedTx,
|
|
2458
|
+
}));
|
|
2401
2459
|
});
|
|
2402
2460
|
log('Publish successful', transactionHash);
|
|
2403
2461
|
return { transactionHash };
|