@metamask/transaction-controller 62.5.0 → 62.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -1
- package/dist/TransactionController.cjs +107 -49
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +33 -21
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +33 -21
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +108 -50
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/api/accounts-api.cjs +1 -1
- package/dist/api/accounts-api.cjs.map +1 -1
- package/dist/api/accounts-api.mjs +1 -1
- package/dist/api/accounts-api.mjs.map +1 -1
- package/dist/api/simulation-api.cjs +1 -1
- package/dist/api/simulation-api.cjs.map +1 -1
- package/dist/api/simulation-api.mjs +1 -1
- package/dist/api/simulation-api.mjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs +28 -17
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts +1 -6
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts +1 -6
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +28 -17
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs +1 -0
- package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs +1 -0
- package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
- package/dist/helpers/GasFeePoller.cjs.map +1 -1
- package/dist/helpers/GasFeePoller.mjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.cjs +2 -2
- package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.mjs +2 -2
- package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +88 -22
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts +7 -6
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts +7 -6
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +88 -22
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/helpers/ResimulateHelper.cjs.map +1 -1
- package/dist/helpers/ResimulateHelper.d.cts +1 -4
- package/dist/helpers/ResimulateHelper.d.cts.map +1 -1
- package/dist/helpers/ResimulateHelper.d.mts +1 -4
- package/dist/helpers/ResimulateHelper.d.mts.map +1 -1
- package/dist/helpers/ResimulateHelper.mjs.map +1 -1
- package/dist/helpers/TransactionPoller.cjs.map +1 -1
- package/dist/helpers/TransactionPoller.d.cts.map +1 -1
- package/dist/helpers/TransactionPoller.d.mts.map +1 -1
- package/dist/helpers/TransactionPoller.mjs.map +1 -1
- package/dist/hooks/CollectPublishHook.cjs +1 -1
- package/dist/hooks/CollectPublishHook.cjs.map +1 -1
- package/dist/hooks/CollectPublishHook.d.cts.map +1 -1
- package/dist/hooks/CollectPublishHook.d.mts.map +1 -1
- package/dist/hooks/CollectPublishHook.mjs +1 -1
- package/dist/hooks/CollectPublishHook.mjs.map +1 -1
- package/dist/hooks/ExtraTransactionsPublishHook.cjs.map +1 -1
- package/dist/hooks/ExtraTransactionsPublishHook.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs +5 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +18 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +18 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +5 -0
- package/dist/types.mjs.map +1 -1
- package/dist/utils/balance-changes.cjs +5 -5
- package/dist/utils/balance-changes.cjs.map +1 -1
- package/dist/utils/balance-changes.d.cts.map +1 -1
- package/dist/utils/balance-changes.d.mts.map +1 -1
- package/dist/utils/balance-changes.mjs +5 -5
- package/dist/utils/balance-changes.mjs.map +1 -1
- package/dist/utils/balance.cjs.map +1 -1
- package/dist/utils/balance.d.cts.map +1 -1
- package/dist/utils/balance.d.mts.map +1 -1
- package/dist/utils/balance.mjs.map +1 -1
- package/dist/utils/batch.cjs +10 -4
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts +1 -0
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts +1 -0
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +10 -4
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/eip7702.cjs +4 -3
- package/dist/utils/eip7702.cjs.map +1 -1
- package/dist/utils/eip7702.d.cts +1 -1
- package/dist/utils/eip7702.d.cts.map +1 -1
- package/dist/utils/eip7702.d.mts +1 -1
- package/dist/utils/eip7702.d.mts.map +1 -1
- package/dist/utils/eip7702.mjs +4 -3
- package/dist/utils/eip7702.mjs.map +1 -1
- package/dist/utils/external-transactions.cjs.map +1 -1
- package/dist/utils/external-transactions.d.cts.map +1 -1
- package/dist/utils/external-transactions.d.mts.map +1 -1
- package/dist/utils/external-transactions.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +22 -7
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +24 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +24 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +20 -6
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/first-time-interaction.cjs +3 -5
- package/dist/utils/first-time-interaction.cjs.map +1 -1
- package/dist/utils/first-time-interaction.d.cts.map +1 -1
- package/dist/utils/first-time-interaction.d.mts.map +1 -1
- package/dist/utils/first-time-interaction.mjs +3 -5
- package/dist/utils/first-time-interaction.mjs.map +1 -1
- package/dist/utils/gas-fee-tokens.cjs +1 -1
- package/dist/utils/gas-fee-tokens.cjs.map +1 -1
- package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
- package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
- package/dist/utils/gas-fee-tokens.mjs +1 -1
- package/dist/utils/gas-fee-tokens.mjs.map +1 -1
- package/dist/utils/gas-fees.cjs +1 -3
- package/dist/utils/gas-fees.cjs.map +1 -1
- package/dist/utils/gas-fees.d.cts +1 -1
- package/dist/utils/gas-fees.d.cts.map +1 -1
- package/dist/utils/gas-fees.d.mts +1 -1
- package/dist/utils/gas-fees.d.mts.map +1 -1
- package/dist/utils/gas-fees.mjs +1 -3
- package/dist/utils/gas-fees.mjs.map +1 -1
- package/dist/utils/gas.cjs +71 -15
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +18 -12
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +18 -12
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +70 -15
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
- package/dist/utils/prepare.cjs.map +1 -1
- package/dist/utils/prepare.d.cts +1 -1
- package/dist/utils/prepare.d.cts.map +1 -1
- package/dist/utils/prepare.d.mts +1 -1
- package/dist/utils/prepare.d.mts.map +1 -1
- package/dist/utils/prepare.mjs.map +1 -1
- package/dist/utils/swaps.cjs.map +1 -1
- package/dist/utils/swaps.mjs.map +1 -1
- package/dist/utils/utils.cjs +10 -10
- package/dist/utils/utils.cjs.map +1 -1
- package/dist/utils/utils.d.cts +4 -4
- package/dist/utils/utils.d.cts.map +1 -1
- package/dist/utils/utils.d.mts +4 -4
- package/dist/utils/utils.d.mts.map +1 -1
- package/dist/utils/utils.mjs +10 -10
- package/dist/utils/utils.mjs.map +1 -1
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.cts.map +1 -1
- package/dist/utils/validation.d.mts.map +1 -1
- package/dist/utils/validation.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [62.7.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
|
|
15
|
+
|
|
16
|
+
## [62.6.0]
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- Add `estimateGasBatch` function and messenger action to estimate gas for batch transactions ([#7405](https://github.com/MetaMask/core/pull/7405))
|
|
21
|
+
- Add optional `gasLimit7702` property to `TransactionBatchRequest`.
|
|
22
|
+
- Automatically fail pending transactions if no receipt and hash not recognised by network after multiple attempts ([#7329](https://github.com/MetaMask/core/pull/7329))
|
|
23
|
+
- Add optional `isTimeoutEnabled` callback to disable for specific transactions.
|
|
24
|
+
- Ignores transactions with future nonce.
|
|
25
|
+
- Threshold determined by feature flag.
|
|
26
|
+
- Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- Throw with more specific error message if publish fails ([#7418](https://github.com/MetaMask/core/pull/7418))
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- Prevent `TransactionController:transactionApproved` event firing if keyring throws during signing ([#7410](https://github.com/MetaMask/core/pull/7410))
|
|
35
|
+
|
|
10
36
|
## [62.5.0]
|
|
11
37
|
|
|
12
38
|
### Changed
|
|
@@ -2009,7 +2035,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
2009
2035
|
|
|
2010
2036
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
2011
2037
|
|
|
2012
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.
|
|
2038
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.7.0...HEAD
|
|
2039
|
+
[62.7.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...@metamask/transaction-controller@62.7.0
|
|
2040
|
+
[62.6.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.5.0...@metamask/transaction-controller@62.6.0
|
|
2013
2041
|
[62.5.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.4.0...@metamask/transaction-controller@62.5.0
|
|
2014
2042
|
[62.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.1...@metamask/transaction-controller@62.4.0
|
|
2015
2043
|
[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) => {
|
|
@@ -378,7 +391,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
378
391
|
*/
|
|
379
392
|
async addTransaction(txParams, options) {
|
|
380
393
|
(0, logger_1.projectLogger)('Adding transaction', txParams, options);
|
|
381
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
394
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requestId, 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}`);
|
|
@@ -435,6 +449,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
435
449
|
nestedTransactions,
|
|
436
450
|
networkClientId,
|
|
437
451
|
origin,
|
|
452
|
+
requestId,
|
|
438
453
|
securityAlertResponse,
|
|
439
454
|
selectedGasFeeToken: gasFeeToken,
|
|
440
455
|
status: types_1.TransactionStatus.unapproved,
|
|
@@ -452,6 +467,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
452
467
|
addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
|
|
453
468
|
updateTransaction(addedTransactionMeta);
|
|
454
469
|
}
|
|
470
|
+
// eslint-disable-next-line no-negated-condition
|
|
455
471
|
if (!skipInitialGasEstimate) {
|
|
456
472
|
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
473
|
traceContext: context,
|
|
@@ -483,10 +499,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
483
499
|
// Set security provider response
|
|
484
500
|
if (method && __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f")) {
|
|
485
501
|
const securityProviderResponse = await __classPrivateFieldGet(this, _TransactionController_securityProviderRequest, "f").call(this, addedTransactionMeta, method);
|
|
502
|
+
// eslint-disable-next-line require-atomic-updates
|
|
486
503
|
addedTransactionMeta.securityProviderResponse =
|
|
487
504
|
securityProviderResponse;
|
|
488
505
|
}
|
|
489
506
|
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
507
|
+
// eslint-disable-next-line require-atomic-updates
|
|
490
508
|
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
491
509
|
}
|
|
492
510
|
// Initial history push
|
|
@@ -512,6 +530,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
512
530
|
return undefined;
|
|
513
531
|
})
|
|
514
532
|
.catch(lodash_1.noop);
|
|
533
|
+
// eslint-disable-next-line no-negated-condition
|
|
515
534
|
if (requireApproval !== false) {
|
|
516
535
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
517
536
|
traceContext,
|
|
@@ -559,7 +578,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
559
578
|
* @param request - Request object.
|
|
560
579
|
* @param request.tags - Additional tags to identify the source of the request.
|
|
561
580
|
*/
|
|
562
|
-
async updateIncomingTransactions({ tags } = {}) {
|
|
581
|
+
async updateIncomingTransactions({ tags, } = {}) {
|
|
563
582
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update({ tags });
|
|
564
583
|
}
|
|
565
584
|
/**
|
|
@@ -639,6 +658,29 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
639
658
|
});
|
|
640
659
|
return { gas: estimatedGas, simulationFails };
|
|
641
660
|
}
|
|
661
|
+
/**
|
|
662
|
+
* Estimates required gas for a batch of transactions.
|
|
663
|
+
*
|
|
664
|
+
* @param request - Request object.
|
|
665
|
+
* @param request.chainId - Chain ID of the transactions.
|
|
666
|
+
* @param request.from - Address of the sender.
|
|
667
|
+
* @param request.transactions - Array of transactions within a batch request.
|
|
668
|
+
* @returns Object containing the gas limit.
|
|
669
|
+
*/
|
|
670
|
+
async estimateGasBatch({ chainId, from, transactions, }) {
|
|
671
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
672
|
+
chainId,
|
|
673
|
+
});
|
|
674
|
+
return (0, gas_1.estimateGasBatch)({
|
|
675
|
+
chainId,
|
|
676
|
+
ethQuery,
|
|
677
|
+
from,
|
|
678
|
+
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
679
|
+
isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
|
|
680
|
+
messenger: this.messenger,
|
|
681
|
+
transactions,
|
|
682
|
+
});
|
|
683
|
+
}
|
|
642
684
|
/**
|
|
643
685
|
* Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
|
|
644
686
|
*
|
|
@@ -1026,11 +1068,11 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1026
1068
|
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signExternalTransaction).call(this, txParams.chainId, txParams);
|
|
1027
1069
|
}));
|
|
1028
1070
|
}
|
|
1029
|
-
catch (
|
|
1030
|
-
(0, logger_1.projectLogger)('Error while signing transactions with same nonce',
|
|
1071
|
+
catch (error) {
|
|
1072
|
+
(0, logger_1.projectLogger)('Error while signing transactions with same nonce', error);
|
|
1031
1073
|
// Must set transaction to submitted/failed before releasing lock
|
|
1032
1074
|
// continue with error chain
|
|
1033
|
-
throw
|
|
1075
|
+
throw error;
|
|
1034
1076
|
}
|
|
1035
1077
|
finally {
|
|
1036
1078
|
nonceLock?.releaseLock();
|
|
@@ -1109,7 +1151,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1109
1151
|
? predicate
|
|
1110
1152
|
: // TODO: Replace `any` with type
|
|
1111
1153
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1112
|
-
(
|
|
1154
|
+
(value) => value === predicate;
|
|
1113
1155
|
});
|
|
1114
1156
|
const transactionsToFilter = initialList ?? this.state.transactions;
|
|
1115
1157
|
// Combine sortBy and pickBy to transform our state object into an array of
|
|
@@ -1386,13 +1428,14 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1386
1428
|
}
|
|
1387
1429
|
}
|
|
1388
1430
|
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, }) {
|
|
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, }) {
|
|
1390
1432
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1391
1433
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1392
1434
|
return;
|
|
1393
1435
|
}
|
|
1394
1436
|
if (gasValues) {
|
|
1395
1437
|
// Not good practice to reassign a parameter but temporarily avoiding a larger refactor.
|
|
1438
|
+
// eslint-disable-next-line no-param-reassign
|
|
1396
1439
|
gasValues = (0, utils_2.normalizeGasFeeValues)(gasValues);
|
|
1397
1440
|
(0, utils_2.validateGasValues)(gasValues);
|
|
1398
1441
|
}
|
|
@@ -1552,10 +1595,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1552
1595
|
resultCallbacks.success();
|
|
1553
1596
|
}
|
|
1554
1597
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1598
|
+
if (approvalResult === ApprovalState.Approved) {
|
|
1599
|
+
this.messenger.publish(`${controllerName}:transactionApproved`, {
|
|
1600
|
+
transactionMeta: updatedTransactionMeta,
|
|
1601
|
+
actionId,
|
|
1602
|
+
});
|
|
1603
|
+
}
|
|
1559
1604
|
}
|
|
1560
1605
|
}
|
|
1561
1606
|
catch (rawError) {
|
|
@@ -1576,17 +1621,19 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1576
1621
|
}
|
|
1577
1622
|
const finalMeta = await finishedPromise;
|
|
1578
1623
|
switch (finalMeta?.status) {
|
|
1579
|
-
case types_1.TransactionStatus.failed:
|
|
1624
|
+
case types_1.TransactionStatus.failed: {
|
|
1580
1625
|
const error = finalMeta.error;
|
|
1581
1626
|
resultCallbacks?.error(error);
|
|
1582
1627
|
throw rpc_errors_1.rpcErrors.internal(error.message);
|
|
1628
|
+
}
|
|
1583
1629
|
case types_1.TransactionStatus.submitted:
|
|
1584
1630
|
resultCallbacks?.success();
|
|
1585
1631
|
return finalMeta.hash;
|
|
1586
|
-
default:
|
|
1587
|
-
const internalError = rpc_errors_1.rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta
|
|
1632
|
+
default: {
|
|
1633
|
+
const internalError = rpc_errors_1.rpcErrors.internal(`MetaMask Tx Signature: Unknown problem: ${JSON.stringify(finalMeta ?? transactionId)}`);
|
|
1588
1634
|
resultCallbacks?.error(internalError);
|
|
1589
1635
|
throw internalError;
|
|
1636
|
+
}
|
|
1590
1637
|
}
|
|
1591
1638
|
}, _TransactionController_approveTransaction =
|
|
1592
1639
|
/**
|
|
@@ -1624,6 +1671,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1624
1671
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1625
1672
|
const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1626
1673
|
clearNonceLock = releaseNonce;
|
|
1674
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1627
1675
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1628
1676
|
transactionId,
|
|
1629
1677
|
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
@@ -1640,6 +1688,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1640
1688
|
});
|
|
1641
1689
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1642
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
|
|
1643
1692
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1644
1693
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1645
1694
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
@@ -1675,6 +1724,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1675
1724
|
publishHook = extraTransactionsPublishHook.getHook();
|
|
1676
1725
|
}
|
|
1677
1726
|
const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
|
|
1727
|
+
// eslint-disable-next-line require-atomic-updates
|
|
1678
1728
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1679
1729
|
transactionId,
|
|
1680
1730
|
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
@@ -1706,13 +1756,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1706
1756
|
clearNonceLock?.();
|
|
1707
1757
|
}
|
|
1708
1758
|
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1759
|
+
try {
|
|
1760
|
+
const transactionHash = await (0, controller_utils_1.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);
|
|
1714
1772
|
}
|
|
1715
|
-
return transactionHash;
|
|
1716
1773
|
}, _TransactionController_rejectTransaction = function _TransactionController_rejectTransaction(transactionId, actionId, error) {
|
|
1717
1774
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1718
1775
|
if (!transactionMeta) {
|
|
@@ -1776,7 +1833,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1776
1833
|
});
|
|
1777
1834
|
return (await this.messenger.call('ApprovalController:addRequest', {
|
|
1778
1835
|
id,
|
|
1779
|
-
origin: origin
|
|
1836
|
+
origin: origin ?? controller_utils_1.ORIGIN_METAMASK,
|
|
1780
1837
|
type,
|
|
1781
1838
|
requestData,
|
|
1782
1839
|
expectsResult: true,
|
|
@@ -2076,19 +2133,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2076
2133
|
blockTracker,
|
|
2077
2134
|
getChainId: () => chainId,
|
|
2078
2135
|
getEthQuery: () => ethQuery,
|
|
2079
|
-
getNetworkClientId: () => networkClientId,
|
|
2080
|
-
getTransactions: () => this.state.transactions,
|
|
2081
|
-
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2082
2136
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2083
2137
|
chainId,
|
|
2084
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"),
|
|
2085
2146
|
messenger: this.messenger,
|
|
2086
2147
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2087
2148
|
skipSubmitHistory: true,
|
|
2088
2149
|
}),
|
|
2089
|
-
hooks: {
|
|
2090
|
-
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
2091
|
-
},
|
|
2092
2150
|
});
|
|
2093
2151
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|
|
2094
2152
|
return pendingTransactionTracker;
|
|
@@ -2125,8 +2183,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2125
2183
|
throw error;
|
|
2126
2184
|
}
|
|
2127
2185
|
}, _TransactionController_isTransactionAlreadyConfirmedError = function _TransactionController_isTransactionAlreadyConfirmedError(error) {
|
|
2128
|
-
return (error?.message?.includes('nonce too low') ||
|
|
2129
|
-
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')));
|
|
2130
2188
|
}, _TransactionController_getGasFeeFlows = function _TransactionController_getGasFeeFlows() {
|
|
2131
2189
|
if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
|
|
2132
2190
|
return [new TestGasFeeFlow_1.TestGasFeeFlow()];
|
|
@@ -2309,6 +2367,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2309
2367
|
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2310
2368
|
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2311
2369
|
this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2370
|
+
this.messenger.registerActionHandler(`${controllerName}:estimateGasBatch`, this.estimateGasBatch.bind(this));
|
|
2312
2371
|
this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
|
|
2313
2372
|
this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2314
2373
|
this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
@@ -2345,8 +2404,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2345
2404
|
draftTransactionMeta.error = (0, utils_2.normalizeTxError)(error);
|
|
2346
2405
|
});
|
|
2347
2406
|
}
|
|
2348
|
-
catch (
|
|
2349
|
-
(0, logger_1.projectLogger)('Failed to mark transaction as failed',
|
|
2407
|
+
catch (caughtError) {
|
|
2408
|
+
(0, logger_1.projectLogger)('Failed to mark transaction as failed', caughtError);
|
|
2350
2409
|
newTransactionMeta = {
|
|
2351
2410
|
...transactionMeta,
|
|
2352
2411
|
status: types_1.TransactionStatus.failed,
|
|
@@ -2367,7 +2426,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2367
2426
|
const result = await __classPrivateFieldGet(this, _TransactionController_afterSimulate, "f").call(this, {
|
|
2368
2427
|
transactionMeta,
|
|
2369
2428
|
});
|
|
2370
|
-
const { skipSimulation, updateTransaction } = result
|
|
2429
|
+
const { skipSimulation, updateTransaction } = result ?? {};
|
|
2371
2430
|
if (skipSimulation) {
|
|
2372
2431
|
__classPrivateFieldGet(this, _TransactionController_skipSimulationTransactionIds, "f").add(transactionId);
|
|
2373
2432
|
}
|
|
@@ -2391,12 +2450,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2391
2450
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
|
|
2392
2451
|
const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
|
|
2393
2452
|
({ transactionHash } = await publishHook(transactionMeta, signedTx));
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
}
|
|
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
|
+
}));
|
|
2400
2458
|
});
|
|
2401
2459
|
(0, logger_1.projectLogger)('Publish successful', transactionHash);
|
|
2402
2460
|
return { transactionHash };
|