@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
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [62.6.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add `estimateGasBatch` function and messenger action to estimate gas for batch transactions ([#7405](https://github.com/MetaMask/core/pull/7405))
|
|
15
|
+
- Add optional `gasLimit7702` property to `TransactionBatchRequest`.
|
|
16
|
+
- Automatically fail pending transactions if no receipt and hash not recognised by network after multiple attempts ([#7329](https://github.com/MetaMask/core/pull/7329))
|
|
17
|
+
- Add optional `isTimeoutEnabled` callback to disable for specific transactions.
|
|
18
|
+
- Ignores transactions with future nonce.
|
|
19
|
+
- Threshold determined by feature flag.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Throw with more specific error message if publish fails ([#7418](https://github.com/MetaMask/core/pull/7418))
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Prevent `TransactionController:transactionApproved` event firing if keyring throws during signing ([#7410](https://github.com/MetaMask/core/pull/7410))
|
|
28
|
+
|
|
10
29
|
## [62.5.0]
|
|
11
30
|
|
|
12
31
|
### Changed
|
|
@@ -2009,7 +2028,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
2009
2028
|
|
|
2010
2029
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
2011
2030
|
|
|
2012
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.
|
|
2031
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...HEAD
|
|
2032
|
+
[62.6.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.5.0...@metamask/transaction-controller@62.6.0
|
|
2013
2033
|
[62.5.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.4.0...@metamask/transaction-controller@62.5.0
|
|
2014
2034
|
[62.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.1...@metamask/transaction-controller@62.4.0
|
|
2015
2035
|
[62.3.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.0...@metamask/transaction-controller@62.3.1
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
|
-
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _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;
|
|
16
|
+
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_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;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
|
|
19
19
|
const base_controller_1 = require("@metamask/base-controller");
|
|
@@ -182,6 +182,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
182
182
|
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
183
183
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
184
184
|
_TransactionController_isSwapsDisabled.set(this, void 0);
|
|
185
|
+
_TransactionController_isTimeoutEnabled.set(this, void 0);
|
|
185
186
|
_TransactionController_layer1GasFeeFlows.set(this, void 0);
|
|
186
187
|
_TransactionController_methodDataHelper.set(this, void 0);
|
|
187
188
|
_TransactionController_multichainTrackingHelper.set(this, void 0);
|
|
@@ -202,32 +203,43 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
202
203
|
this.messenger = messenger;
|
|
203
204
|
__classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
|
|
204
205
|
__classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
|
|
205
|
-
__classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
|
|
206
|
+
__classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ??
|
|
207
|
+
(() => Promise.resolve({})), "f");
|
|
206
208
|
__classPrivateFieldSet(this, _TransactionController_beforeCheckPendingTransaction,
|
|
207
209
|
/* istanbul ignore next */
|
|
208
|
-
hooks?.beforeCheckPendingTransaction ??
|
|
210
|
+
hooks?.beforeCheckPendingTransaction ??
|
|
211
|
+
(() => Promise.resolve(true)), "f");
|
|
209
212
|
__classPrivateFieldSet(this, _TransactionController_beforePublish, hooks?.beforePublish ?? (() => Promise.resolve(true)), "f");
|
|
210
|
-
__classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
|
|
211
|
-
|
|
212
|
-
__classPrivateFieldSet(this,
|
|
213
|
+
__classPrivateFieldSet(this, _TransactionController_beforeSign, hooks?.beforeSign ??
|
|
214
|
+
(() => Promise.resolve({})), "f");
|
|
215
|
+
__classPrivateFieldSet(this, _TransactionController_getAdditionalSignArguments, hooks?.getAdditionalSignArguments ??
|
|
216
|
+
(() => []), "f");
|
|
217
|
+
__classPrivateFieldSet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, getCurrentAccountEIP1559Compatibility ??
|
|
218
|
+
(() => Promise.resolve(true)), "f");
|
|
213
219
|
__classPrivateFieldSet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, "f");
|
|
214
220
|
__classPrivateFieldSet(this, _TransactionController_getExternalPendingTransactions, getExternalPendingTransactions ?? (() => []), "f");
|
|
215
|
-
__classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates
|
|
221
|
+
__classPrivateFieldSet(this, _TransactionController_getGasFeeEstimates, getGasFeeEstimates ??
|
|
222
|
+
(() => Promise.resolve({})), "f");
|
|
216
223
|
__classPrivateFieldSet(this, _TransactionController_getNetworkState, getNetworkState, "f");
|
|
217
224
|
__classPrivateFieldSet(this, _TransactionController_getPermittedAccounts, getPermittedAccounts, "f");
|
|
218
225
|
__classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
|
|
219
|
-
__classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
|
|
226
|
+
__classPrivateFieldSet(this, _TransactionController_getSimulationConfig, getSimulationConfig ??
|
|
227
|
+
(() => Promise.resolve({})), "f");
|
|
220
228
|
__classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
|
|
221
|
-
__classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ??
|
|
222
|
-
|
|
229
|
+
__classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ??
|
|
230
|
+
((_txMeta) => false), "f");
|
|
231
|
+
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
|
|
232
|
+
(() => Promise.resolve(false)), "f");
|
|
223
233
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
224
234
|
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
225
235
|
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
226
236
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
227
237
|
__classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
|
|
238
|
+
__classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
|
|
228
239
|
__classPrivateFieldSet(this, _TransactionController_pendingTransactionOptions, pendingTransactions, "f");
|
|
229
240
|
__classPrivateFieldSet(this, _TransactionController_publicKeyEIP7702, publicKeyEIP7702, "f");
|
|
230
|
-
__classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
|
|
241
|
+
__classPrivateFieldSet(this, _TransactionController_publish, hooks?.publish ??
|
|
242
|
+
(() => Promise.resolve({ transactionHash: undefined })), "f");
|
|
231
243
|
__classPrivateFieldSet(this, _TransactionController_publishBatchHook, hooks?.publishBatch, "f");
|
|
232
244
|
__classPrivateFieldSet(this, _TransactionController_securityProviderRequest, securityProviderRequest, "f");
|
|
233
245
|
__classPrivateFieldSet(this, _TransactionController_sign, sign, "f");
|
|
@@ -292,6 +304,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
292
304
|
// when transactionsController state changes
|
|
293
305
|
// check for pending transactions and start polling if there are any
|
|
294
306
|
this.messenger.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
|
|
307
|
+
// eslint-disable-next-line no-new
|
|
295
308
|
new ResimulateHelper_1.ResimulateHelper({
|
|
296
309
|
simulateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).bind(this),
|
|
297
310
|
onTransactionsUpdate: (listener) => {
|
|
@@ -379,6 +392,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
379
392
|
async addTransaction(txParams, options) {
|
|
380
393
|
(0, logger_1.projectLogger)('Adding transaction', txParams, options);
|
|
381
394
|
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
395
|
+
// eslint-disable-next-line no-param-reassign
|
|
382
396
|
txParams = (0, utils_2.normalizeTransactionParams)(txParams);
|
|
383
397
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
384
398
|
throw new Error(`Network client not found - ${networkClientId}`);
|
|
@@ -452,6 +466,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
452
466
|
addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
|
|
453
467
|
updateTransaction(addedTransactionMeta);
|
|
454
468
|
}
|
|
469
|
+
// eslint-disable-next-line no-negated-condition
|
|
455
470
|
if (!skipInitialGasEstimate) {
|
|
456
471
|
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, {
|
|
457
472
|
traceContext: context,
|
|
@@ -483,10 +498,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
483
498
|
// Set security provider response
|
|
484
499
|
if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
|
|
485
500
|
const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
|
|
501
|
+
// eslint-disable-next-line require-atomic-updates
|
|
486
502
|
addedTransactionMeta.securityProviderResponse =
|
|
487
503
|
securityProviderResponse;
|
|
488
504
|
}
|
|
489
505
|
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
506
|
+
// eslint-disable-next-line require-atomic-updates
|
|
490
507
|
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
491
508
|
}
|
|
492
509
|
// Initial history push
|
|
@@ -512,6 +529,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
512
529
|
return undefined;
|
|
513
530
|
})
|
|
514
531
|
.catch(lodash_1.noop);
|
|
532
|
+
// eslint-disable-next-line no-negated-condition
|
|
515
533
|
if (requireApproval !== false) {
|
|
516
534
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
517
535
|
traceContext,
|
|
@@ -559,7 +577,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
559
577
|
* @param request - Request object.
|
|
560
578
|
* @param request.tags - Additional tags to identify the source of the request.
|
|
561
579
|
*/
|
|
562
|
-
async updateIncomingTransactions({ tags } = {}) {
|
|
580
|
+
async updateIncomingTransactions({ tags, } = {}) {
|
|
563
581
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
|
|
564
582
|
}
|
|
565
583
|
/**
|
|
@@ -639,6 +657,29 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
639
657
|
});
|
|
640
658
|
return { gas: estimatedGas, simulationFails };
|
|
641
659
|
}
|
|
660
|
+
/**
|
|
661
|
+
* Estimates required gas for a batch of transactions.
|
|
662
|
+
*
|
|
663
|
+
* @param request - Request object.
|
|
664
|
+
* @param request.chainId - Chain ID of the transactions.
|
|
665
|
+
* @param request.from - Address of the sender.
|
|
666
|
+
* @param request.transactions - Array of transactions within a batch request.
|
|
667
|
+
* @returns Object containing the gas limit.
|
|
668
|
+
*/
|
|
669
|
+
async estimateGasBatch({ chainId, from, transactions, }) {
|
|
670
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
671
|
+
chainId,
|
|
672
|
+
});
|
|
673
|
+
return (0, gas_1.estimateGasBatch)({
|
|
674
|
+
chainId,
|
|
675
|
+
ethQuery,
|
|
676
|
+
from,
|
|
677
|
+
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
678
|
+
isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
|
|
679
|
+
messenger: this.messenger,
|
|
680
|
+
transactions,
|
|
681
|
+
});
|
|
682
|
+
}
|
|
642
683
|
/**
|
|
643
684
|
* Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
|
|
644
685
|
*
|
|
@@ -1026,11 +1067,11 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1026
1067
|
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
|
|
1027
1068
|
}));
|
|
1028
1069
|
}
|
|
1029
|
-
catch (
|
|
1030
|
-
(0, logger_1.projectLogger)('Error while signing transactions with same nonce',
|
|
1070
|
+
catch (error) {
|
|
1071
|
+
(0, logger_1.projectLogger)('Error while signing transactions with same nonce', error);
|
|
1031
1072
|
// Must set transaction to submitted/failed before releasing lock
|
|
1032
1073
|
// continue with error chain
|
|
1033
|
-
throw
|
|
1074
|
+
throw error;
|
|
1034
1075
|
}
|
|
1035
1076
|
finally {
|
|
1036
1077
|
nonceLock?.releaseLock();
|
|
@@ -1109,7 +1150,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1109
1150
|
? predicate
|
|
1110
1151
|
: // TODO: Replace `any` with type
|
|
1111
1152
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1112
|
-
(
|
|
1153
|
+
(value) => value === predicate;
|
|
1113
1154
|
});
|
|
1114
1155
|
const transactionsToFilter = initialList ?? this.state.transactions;
|
|
1115
1156
|
// Combine sortBy and pickBy to transform our state object into an array of
|
|
@@ -1386,13 +1427,14 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1386
1427
|
}
|
|
1387
1428
|
}
|
|
1388
1429
|
exports.TransactionController = TransactionController;
|
|
1389
|
-
_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, }) {
|
|
1430
|
+
_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, }) {
|
|
1390
1431
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1391
1432
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1392
1433
|
return;
|
|
1393
1434
|
}
|
|
1394
1435
|
if (gasValues) {
|
|
1395
1436
|
// Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
|
|
1437
|
+
// eslint-disable-next-line no-param-reassign
|
|
1396
1438
|
gasValues = (0, utils_2.normalizeGasFeeValues)(gasValues);
|
|
1397
1439
|
(0, utils_2.validateGasValues)(gasValues);
|
|
1398
1440
|
}
|
|
@@ -1552,10 +1594,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1552
1594
|
resultCallbacks.success();
|
|
1553
1595
|
}
|
|
1554
1596
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1597
|
+
if (approvalResult === ApprovalState.Approved) {
|
|
1598
|
+
this.messenger.publish(`${controllerName}:transactionApproved`, {
|
|
1599
|
+
transactionMeta: updatedTransactionMeta,
|
|
1600
|
+
actionId,
|
|
1601
|
+
});
|
|
1602
|
+
}
|
|
1559
1603
|
}
|
|
1560
1604
|
}
|
|
1561
1605
|
catch (rawError) {
|
|
@@ -1576,17 +1620,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1576
1620
|
}
|
|
1577
1621
|
const finalMeta = await finishedPromise;
|
|
1578
1622
|
switch (finalMeta?.status) {
|
|
1579
|
-
case types_1.TransactionStatus.failed:
|
|
1623
|
+
case types_1.TransactionStatus.failed: {
|
|
1580
1624
|
const error = finalMeta.error;
|
|
1581
1625
|
resultCallbacks?.error(error);
|
|
1582
1626
|
throw rpc_errors_1.rpcErrors.internal(error.message);
|
|
1627
|
+
}
|
|
1583
1628
|
case types_1.TransactionStatus.submitted:
|
|
1584
1629
|
resultCallbacks?.success();
|
|
1585
1630
|
return finalMeta.hash;
|
|
1586
|
-
default:
|
|
1587
|
-
const internalError = rpc_errors_1.rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta
|
|
1631
|
+
default: {
|
|
1632
|
+
const internalError = rpc_errors_1.rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
|
|
1588
1633
|
resultCallbacks?.error(internalError);
|
|
1589
1634
|
throw internalError;
|
|
1635
|
+
}
|
|
1590
1636
|
}
|
|
1591
1637
|
}, _TransactionController_approveTransaction =
|
|
1592
1638
|
/**
|
|
@@ -1624,6 +1670,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1624
1670
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1625
1671
|
const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1626
1672
|
clearNonceLock = releaseNonce;
|
|
1673
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1627
1674
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1628
1675
|
transactionId,
|
|
1629
1676
|
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
@@ -1640,6 +1687,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1640
1687
|
});
|
|
1641
1688
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1642
1689
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1690
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1643
1691
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1644
1692
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1645
1693
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
@@ -1675,6 +1723,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1675
1723
|
publishHook = extraTransactionsPublishHook.getHook();
|
|
1676
1724
|
}
|
|
1677
1725
|
const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
|
|
1726
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1678
1727
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1679
1728
|
transactionId,
|
|
1680
1729
|
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
@@ -1706,13 +1755,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1706
1755
|
clearNonceLock?.();
|
|
1707
1756
|
}
|
|
1708
1757
|
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1758
|
+
try {
|
|
1759
|
+
const transactionHash = await (0, controller_utils_1.query)(ethQuery, 'sendRawTransaction', [
|
|
1760
|
+
transactionMeta.rawTx,
|
|
1761
|
+
]);
|
|
1762
|
+
if (skipSubmitHistory !== true) {
|
|
1763
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
|
|
1764
|
+
}
|
|
1765
|
+
return transactionHash;
|
|
1766
|
+
}
|
|
1767
|
+
catch (error) {
|
|
1768
|
+
const errorObject = error;
|
|
1769
|
+
const errorMessage = errorObject?.data?.message ?? errorObject?.message ?? String(error);
|
|
1770
|
+
throw new Error(errorMessage);
|
|
1714
1771
|
}
|
|
1715
|
-
return transactionHash;
|
|
1716
1772
|
}, _TransactionController_rejectTransaction = function _TransactionController_rejectTransaction(transactionId, actionId, error) {
|
|
1717
1773
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1718
1774
|
if (!transactionMeta) {
|
|
@@ -1776,7 +1832,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1776
1832
|
});
|
|
1777
1833
|
return (await this.messenger.call('ApprovalController:addRequest', {
|
|
1778
1834
|
id,
|
|
1779
|
-
origin: origin
|
|
1835
|
+
origin: origin ?? controller_utils_1.ORIGIN_METAMASK,
|
|
1780
1836
|
type,
|
|
1781
1837
|
requestData,
|
|
1782
1838
|
expectsResult: true,
|
|
@@ -2076,19 +2132,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2076
2132
|
blockTracker,
|
|
2077
2133
|
getChainId: () => chainId,
|
|
2078
2134
|
getEthQuery: () => ethQuery,
|
|
2079
|
-
getNetworkClientId: () => networkClientId,
|
|
2080
|
-
getTransactions: () => this.state.transactions,
|
|
2081
|
-
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2082
2135
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2083
2136
|
chainId,
|
|
2084
2137
|
}),
|
|
2138
|
+
getNetworkClientId: () => networkClientId,
|
|
2139
|
+
getTransactions: () => this.state.transactions,
|
|
2140
|
+
hooks: {
|
|
2141
|
+
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2142
|
+
},
|
|
2143
|
+
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2144
|
+
isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
|
|
2085
2145
|
messenger: this.messenger,
|
|
2086
2146
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2087
2147
|
skipSubmitHistory: true,
|
|
2088
2148
|
}),
|
|
2089
|
-
hooks: {
|
|
2090
|
-
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2091
|
-
},
|
|
2092
2149
|
});
|
|
2093
2150
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|
|
2094
2151
|
return pendingTransactionTracker;
|
|
@@ -2125,8 +2182,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2125
2182
|
throw error;
|
|
2126
2183
|
}
|
|
2127
2184
|
}, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
|
|
2128
|
-
return (error?.message?.includes('nonce too low') ||
|
|
2129
|
-
error?.data?.message?.includes('nonce too low'));
|
|
2185
|
+
return (Boolean(error?.message?.includes('nonce too low')) ||
|
|
2186
|
+
Boolean(error?.data?.message?.includes('nonce too low')));
|
|
2130
2187
|
}, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
|
|
2131
2188
|
if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
|
|
2132
2189
|
return [new TestGasFeeFlow_1.TestGasFeeFlow()];
|
|
@@ -2309,6 +2366,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2309
2366
|
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2310
2367
|
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2311
2368
|
this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2369
|
+
this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
|
|
2312
2370
|
this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
|
|
2313
2371
|
this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2314
2372
|
this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
@@ -2345,8 +2403,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2345
2403
|
draftTransactionMeta.error = (0, utils_2.normalizeTxError)(error);
|
|
2346
2404
|
});
|
|
2347
2405
|
}
|
|
2348
|
-
catch (
|
|
2349
|
-
(0, logger_1.projectLogger)('Failed to mark transaction as failed',
|
|
2406
|
+
catch (caughtError) {
|
|
2407
|
+
(0, logger_1.projectLogger)('Failed to mark transaction as failed', caughtError);
|
|
2350
2408
|
newTransactionMeta = {
|
|
2351
2409
|
...transactionMeta,
|
|
2352
2410
|
status: types_1.TransactionStatus.failed,
|
|
@@ -2367,7 +2425,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2367
2425
|
const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
|
|
2368
2426
|
transactionMeta,
|
|
2369
2427
|
});
|
|
2370
|
-
const { skipSimulation, updateTransaction } = result
|
|
2428
|
+
const { skipSimulation, updateTransaction } = result ?? {};
|
|
2371
2429
|
if (skipSimulation) {
|
|
2372
2430
|
__classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
|
|
2373
2431
|
}
|
|
@@ -2391,12 +2449,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2391
2449
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
|
|
2392
2450
|
const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
|
|
2393
2451
|
({ transactionHash } = await publishHook(transactionMeta, signedTx));
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
}
|
|
2452
|
+
// eslint-disable-next-line require-atomic-updates
|
|
2453
|
+
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
|
|
2454
|
+
...transactionMeta,
|
|
2455
|
+
rawTx: signedTx,
|
|
2456
|
+
}));
|
|
2400
2457
|
});
|
|
2401
2458
|
(0, logger_1.projectLogger)('Publish successful', transactionHash);
|
|
2402
2459
|
return { transactionHash };
|