@metamask/transaction-controller 62.5.0 → 62.6.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 +21 -1
- package/dist/TransactionController.cjs +105 -48
- 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 +106 -49
- 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 +6 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +6 -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 +9 -4
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +9 -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) => {
|
|
@@ -381,6 +394,7 @@ export class TransactionController extends BaseController {
|
|
|
381
394
|
async addTransaction(txParams, options) {
|
|
382
395
|
log('Adding transaction', txParams, options);
|
|
383
396
|
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, 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}`);
|
|
@@ -454,6 +468,7 @@ export class TransactionController extends BaseController {
|
|
|
454
468
|
addedTransactionMeta.txParamsOriginal = cloneDeep(addedTransactionMeta.txParams);
|
|
455
469
|
updateTransaction(addedTransactionMeta);
|
|
456
470
|
}
|
|
471
|
+
// eslint-disable-next-line no-negated-condition
|
|
457
472
|
if (!skipInitialGasEstimate) {
|
|
458
473
|
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
474
|
traceContext: context,
|
|
@@ -485,10 +500,12 @@ export class TransactionController extends BaseController {
|
|
|
485
500
|
// Set security provider response
|
|
486
501
|
if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
|
|
487
502
|
const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
|
|
503
|
+
// eslint-disable-next-line require-atomic-updates
|
|
488
504
|
addedTransactionMeta.securityProviderResponse =
|
|
489
505
|
securityProviderResponse;
|
|
490
506
|
}
|
|
491
507
|
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
508
|
+
// eslint-disable-next-line require-atomic-updates
|
|
492
509
|
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
493
510
|
}
|
|
494
511
|
// Initial history push
|
|
@@ -514,6 +531,7 @@ export class TransactionController extends BaseController {
|
|
|
514
531
|
return undefined;
|
|
515
532
|
})
|
|
516
533
|
.catch(noop);
|
|
534
|
+
// eslint-disable-next-line no-negated-condition
|
|
517
535
|
if (requireApproval !== false) {
|
|
518
536
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
519
537
|
traceContext,
|
|
@@ -561,7 +579,7 @@ export class TransactionController extends BaseController {
|
|
|
561
579
|
* @param request - Request object.
|
|
562
580
|
* @param request.tags - Additional tags to identify the source of the request.
|
|
563
581
|
*/
|
|
564
|
-
async updateIncomingTransactions({ tags } = {}) {
|
|
582
|
+
async updateIncomingTransactions({ tags, } = {}) {
|
|
565
583
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
|
|
566
584
|
}
|
|
567
585
|
/**
|
|
@@ -641,6 +659,29 @@ export class TransactionController extends BaseController {
|
|
|
641
659
|
});
|
|
642
660
|
return { gas: estimatedGas, simulationFails };
|
|
643
661
|
}
|
|
662
|
+
/**
|
|
663
|
+
* Estimates required gas for a batch of transactions.
|
|
664
|
+
*
|
|
665
|
+
* @param request - Request object.
|
|
666
|
+
* @param request.chainId - Chain ID of the transactions.
|
|
667
|
+
* @param request.from - Address of the sender.
|
|
668
|
+
* @param request.transactions - Array of transactions within a batch request.
|
|
669
|
+
* @returns Object containing the gas limit.
|
|
670
|
+
*/
|
|
671
|
+
async estimateGasBatch({ chainId, from, transactions, }) {
|
|
672
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
673
|
+
chainId,
|
|
674
|
+
});
|
|
675
|
+
return estimateGasBatch({
|
|
676
|
+
chainId,
|
|
677
|
+
ethQuery,
|
|
678
|
+
from,
|
|
679
|
+
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
680
|
+
isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
|
|
681
|
+
messenger: this.messenger,
|
|
682
|
+
transactions,
|
|
683
|
+
});
|
|
684
|
+
}
|
|
644
685
|
/**
|
|
645
686
|
* Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
|
|
646
687
|
*
|
|
@@ -1028,11 +1069,11 @@ export class TransactionController extends BaseController {
|
|
|
1028
1069
|
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
|
|
1029
1070
|
}));
|
|
1030
1071
|
}
|
|
1031
|
-
catch (
|
|
1032
|
-
log('Error while signing transactions with same nonce',
|
|
1072
|
+
catch (error) {
|
|
1073
|
+
log('Error while signing transactions with same nonce', error);
|
|
1033
1074
|
// Must set transaction to submitted/failed before releasing lock
|
|
1034
1075
|
// continue with error chain
|
|
1035
|
-
throw
|
|
1076
|
+
throw error;
|
|
1036
1077
|
}
|
|
1037
1078
|
finally {
|
|
1038
1079
|
nonceLock?.releaseLock();
|
|
@@ -1111,7 +1152,7 @@ export class TransactionController extends BaseController {
|
|
|
1111
1152
|
? predicate
|
|
1112
1153
|
: // TODO: Replace `any` with type
|
|
1113
1154
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1114
|
-
(
|
|
1155
|
+
(value) => value === predicate;
|
|
1115
1156
|
});
|
|
1116
1157
|
const transactionsToFilter = initialList ?? this.state.transactions;
|
|
1117
1158
|
// Combine sortBy and pickBy to transform our state object into an array of
|
|
@@ -1387,13 +1428,14 @@ export class TransactionController extends BaseController {
|
|
|
1387
1428
|
});
|
|
1388
1429
|
}
|
|
1389
1430
|
}
|
|
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, }) {
|
|
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(), _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
1432
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1392
1433
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1393
1434
|
return;
|
|
1394
1435
|
}
|
|
1395
1436
|
if (gasValues) {
|
|
1396
1437
|
// Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
|
|
1438
|
+
// eslint-disable-next-line no-param-reassign
|
|
1397
1439
|
gasValues = normalizeGasFeeValues(gasValues);
|
|
1398
1440
|
validateGasValues(gasValues);
|
|
1399
1441
|
}
|
|
@@ -1553,10 +1595,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1553
1595
|
resultCallbacks.success();
|
|
1554
1596
|
}
|
|
1555
1597
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1598
|
+
if (approvalResult === ApprovalState.Approved) {
|
|
1599
|
+
this.messenger.publish(`${controllerName}:transactionApproved`, {
|
|
1600
|
+
transactionMeta: updatedTransactionMeta,
|
|
1601
|
+
actionId,
|
|
1602
|
+
});
|
|
1603
|
+
}
|
|
1560
1604
|
}
|
|
1561
1605
|
}
|
|
1562
1606
|
catch (rawError) {
|
|
@@ -1577,17 +1621,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1577
1621
|
}
|
|
1578
1622
|
const finalMeta = await finishedPromise;
|
|
1579
1623
|
switch (finalMeta?.status) {
|
|
1580
|
-
case TransactionStatus.failed:
|
|
1624
|
+
case TransactionStatus.failed: {
|
|
1581
1625
|
const error = finalMeta.error;
|
|
1582
1626
|
resultCallbacks?.error(error);
|
|
1583
1627
|
throw rpcErrors.internal(error.message);
|
|
1628
|
+
}
|
|
1584
1629
|
case TransactionStatus.submitted:
|
|
1585
1630
|
resultCallbacks?.success();
|
|
1586
1631
|
return finalMeta.hash;
|
|
1587
|
-
default:
|
|
1588
|
-
const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta
|
|
1632
|
+
default: {
|
|
1633
|
+
const internalError = rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
|
|
1589
1634
|
resultCallbacks?.error(internalError);
|
|
1590
1635
|
throw internalError;
|
|
1636
|
+
}
|
|
1591
1637
|
}
|
|
1592
1638
|
}, _TransactionController_approveTransaction =
|
|
1593
1639
|
/**
|
|
@@ -1625,6 +1671,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1625
1671
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1626
1672
|
const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1627
1673
|
clearNonceLock = releaseNonce;
|
|
1674
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1628
1675
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1629
1676
|
transactionId,
|
|
1630
1677
|
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
@@ -1641,6 +1688,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1641
1688
|
});
|
|
1642
1689
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1643
1690
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1691
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1644
1692
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1645
1693
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1646
1694
|
log('Skipping publishing transaction based on hook');
|
|
@@ -1676,6 +1724,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1676
1724
|
publishHook = extraTransactionsPublishHook.getHook();
|
|
1677
1725
|
}
|
|
1678
1726
|
const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
|
|
1727
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1679
1728
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1680
1729
|
transactionId,
|
|
1681
1730
|
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
@@ -1707,13 +1756,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1707
1756
|
clearNonceLock?.();
|
|
1708
1757
|
}
|
|
1709
1758
|
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1759
|
+
try {
|
|
1760
|
+
const transactionHash = await query(ethQuery, 'sendRawTransaction', [
|
|
1761
|
+
transactionMeta.rawTx,
|
|
1762
|
+
]);
|
|
1763
|
+
if (skipSubmitHistory !== true) {
|
|
1764
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
|
|
1765
|
+
}
|
|
1766
|
+
return transactionHash;
|
|
1767
|
+
}
|
|
1768
|
+
catch (error) {
|
|
1769
|
+
const errorObject = error;
|
|
1770
|
+
const errorMessage = errorObject?.data?.message ?? errorObject?.message ?? String(error);
|
|
1771
|
+
throw new Error(errorMessage);
|
|
1715
1772
|
}
|
|
1716
|
-
return transactionHash;
|
|
1717
1773
|
}, _TransactionController_rejectTransaction = function _TransactionController_rejectTransaction(transactionId, actionId, error) {
|
|
1718
1774
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1719
1775
|
if (!transactionMeta) {
|
|
@@ -1777,7 +1833,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1777
1833
|
});
|
|
1778
1834
|
return (await this.messenger.call('ApprovalController:addRequest', {
|
|
1779
1835
|
id,
|
|
1780
|
-
origin: origin
|
|
1836
|
+
origin: origin ?? ORIGIN_METAMASK,
|
|
1781
1837
|
type,
|
|
1782
1838
|
requestData,
|
|
1783
1839
|
expectsResult: true,
|
|
@@ -2077,19 +2133,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2077
2133
|
blockTracker,
|
|
2078
2134
|
getChainId: () => chainId,
|
|
2079
2135
|
getEthQuery: () => ethQuery,
|
|
2080
|
-
getNetworkClientId: () => networkClientId,
|
|
2081
|
-
getTransactions: () => this.state.transactions,
|
|
2082
|
-
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2083
2136
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2084
2137
|
chainId,
|
|
2085
2138
|
}),
|
|
2139
|
+
getNetworkClientId: () => networkClientId,
|
|
2140
|
+
getTransactions: () => this.state.transactions,
|
|
2141
|
+
hooks: {
|
|
2142
|
+
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2143
|
+
},
|
|
2144
|
+
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2145
|
+
isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
|
|
2086
2146
|
messenger: this.messenger,
|
|
2087
2147
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2088
2148
|
skipSubmitHistory: true,
|
|
2089
2149
|
}),
|
|
2090
|
-
hooks: {
|
|
2091
|
-
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2092
|
-
},
|
|
2093
2150
|
});
|
|
2094
2151
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|
|
2095
2152
|
return pendingTransactionTracker;
|
|
@@ -2126,8 +2183,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2126
2183
|
throw error;
|
|
2127
2184
|
}
|
|
2128
2185
|
}, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
|
|
2129
|
-
return (error?.message?.includes('nonce too low') ||
|
|
2130
|
-
error?.data?.message?.includes('nonce too low'));
|
|
2186
|
+
return (Boolean(error?.message?.includes('nonce too low')) ||
|
|
2187
|
+
Boolean(error?.data?.message?.includes('nonce too low')));
|
|
2131
2188
|
}, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
|
|
2132
2189
|
if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
|
|
2133
2190
|
return [new TestGasFeeFlow()];
|
|
@@ -2310,6 +2367,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2310
2367
|
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2311
2368
|
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2312
2369
|
this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2370
|
+
this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
|
|
2313
2371
|
this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
|
|
2314
2372
|
this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2315
2373
|
this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
@@ -2346,8 +2404,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2346
2404
|
draftTransactionMeta.error = normalizeTxError(error);
|
|
2347
2405
|
});
|
|
2348
2406
|
}
|
|
2349
|
-
catch (
|
|
2350
|
-
log('Failed to mark transaction as failed',
|
|
2407
|
+
catch (caughtError) {
|
|
2408
|
+
log('Failed to mark transaction as failed', caughtError);
|
|
2351
2409
|
newTransactionMeta = {
|
|
2352
2410
|
...transactionMeta,
|
|
2353
2411
|
status: TransactionStatus.failed,
|
|
@@ -2368,7 +2426,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2368
2426
|
const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
|
|
2369
2427
|
transactionMeta,
|
|
2370
2428
|
});
|
|
2371
|
-
const { skipSimulation, updateTransaction } = result
|
|
2429
|
+
const { skipSimulation, updateTransaction } = result ?? {};
|
|
2372
2430
|
if (skipSimulation) {
|
|
2373
2431
|
__classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
|
|
2374
2432
|
}
|
|
@@ -2392,12 +2450,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2392
2450
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
|
|
2393
2451
|
const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
|
|
2394
2452
|
({ transactionHash } = await publishHook(transactionMeta, signedTx));
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
}
|
|
2453
|
+
// eslint-disable-next-line require-atomic-updates
|
|
2454
|
+
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
|
|
2455
|
+
...transactionMeta,
|
|
2456
|
+
rawTx: signedTx,
|
|
2457
|
+
}));
|
|
2401
2458
|
});
|
|
2402
2459
|
log('Publish successful', transactionHash);
|
|
2403
2460
|
return { transactionHash };
|