@metamask/transaction-controller 51.0.0 → 52.1.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 +24 -1
- package/dist/TransactionController.cjs +30 -28
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +6 -3
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +6 -3
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +31 -29
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +3 -8
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +3 -8
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
- package/dist/helpers/GasFeePoller.cjs +73 -1
- package/dist/helpers/GasFeePoller.cjs.map +1 -1
- package/dist/helpers/GasFeePoller.d.cts +20 -2
- package/dist/helpers/GasFeePoller.d.cts.map +1 -1
- package/dist/helpers/GasFeePoller.d.mts +20 -2
- package/dist/helpers/GasFeePoller.d.mts.map +1 -1
- package/dist/helpers/GasFeePoller.mjs +72 -1
- package/dist/helpers/GasFeePoller.mjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.cjs +4 -12
- package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.cts +1 -3
- package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.mts +1 -3
- package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.mjs +4 -12
- package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +0 -4
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +0 -4
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +2 -2
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +2 -2
- package/dist/utils/feature-flags.d.mts +2 -2
- package/dist/utils/feature-flags.mjs +2 -2
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/gas.cjs +108 -8
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +16 -5
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +16 -5
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +108 -8
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/simulation-api.cjs.map +1 -1
- package/dist/utils/simulation-api.d.cts +9 -5
- package/dist/utils/simulation-api.d.cts.map +1 -1
- package/dist/utils/simulation-api.d.mts +9 -5
- package/dist/utils/simulation-api.d.mts.map +1 -1
- package/dist/utils/simulation-api.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [52.1.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add `enableTxParamsGasFeeUpdates` constructor option ([5394](https://github.com/MetaMask/core/pull/5394))
|
|
15
|
+
- If not set it will default to `false`.
|
|
16
|
+
- Automatically update gas fee properties in `txParams` when the `gasFeeEstimates` are updated via polling.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Fix gas estimation for type 4 transactions ([#5519](https://github.com/MetaMask/core/pull/5519))
|
|
21
|
+
|
|
22
|
+
## [52.0.0]
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **BREAKING:** Remove `chainIds` argument from incoming transaction methods ([#5436](https://github.com/MetaMask/core/pull/5436))
|
|
27
|
+
- `startIncomingTransactionPolling`
|
|
28
|
+
- `stopIncomingTransactionPolling`
|
|
29
|
+
- `updateIncomingTransactions`
|
|
30
|
+
|
|
10
31
|
## [51.0.0]
|
|
11
32
|
|
|
12
33
|
### Changed
|
|
@@ -1388,7 +1409,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1388
1409
|
|
|
1389
1410
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1390
1411
|
|
|
1391
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@
|
|
1412
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.1.0...HEAD
|
|
1413
|
+
[52.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.0.0...@metamask/transaction-controller@52.1.0
|
|
1414
|
+
[52.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@51.0.0...@metamask/transaction-controller@52.0.0
|
|
1392
1415
|
[51.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@50.0.0...@metamask/transaction-controller@51.0.0
|
|
1393
1416
|
[50.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@49.0.0...@metamask/transaction-controller@50.0.0
|
|
1394
1417
|
[49.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.2.0...@metamask/transaction-controller@49.0.0
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || 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_internalEvents, _TransactionController_methodDataHelper,
|
|
16
|
+
var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_rejectTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow;
|
|
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");
|
|
@@ -156,7 +156,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
156
156
|
* @param options - The controller options.
|
|
157
157
|
*/
|
|
158
158
|
constructor(options) {
|
|
159
|
-
const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, } = options;
|
|
159
|
+
const { disableHistory, disableSendFlowHistory, disableSwaps, enableTxParamsGasFeeUpdates, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, } = options;
|
|
160
160
|
super({
|
|
161
161
|
name: controllerName,
|
|
162
162
|
metadata,
|
|
@@ -171,7 +171,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
171
171
|
this.approvingTransactionIds = new Set();
|
|
172
172
|
_TransactionController_methodDataHelper.set(this, void 0);
|
|
173
173
|
this.mutex = new async_mutex_1.Mutex();
|
|
174
|
-
_TransactionController_incomingTransactionChainIds.set(this, new Set());
|
|
175
174
|
_TransactionController_incomingTransactionHelper.set(this, void 0);
|
|
176
175
|
_TransactionController_incomingTransactionOptions.set(this, void 0);
|
|
177
176
|
_TransactionController_pendingTransactionOptions.set(this, void 0);
|
|
@@ -187,6 +186,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
187
186
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").checkForPendingTransactionAndStartPolling();
|
|
188
187
|
});
|
|
189
188
|
this.messagingSystem = messenger;
|
|
189
|
+
this.isTxParamsGasFeeUpdatesEnabled = enableTxParamsGasFeeUpdates ?? false;
|
|
190
190
|
this.getNetworkState = getNetworkState;
|
|
191
191
|
this.isSendFlowHistoryDisabled = disableSendFlowHistory ?? false;
|
|
192
192
|
this.isHistoryDisabled = disableHistory ?? false;
|
|
@@ -268,7 +268,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
268
268
|
};
|
|
269
269
|
__classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
|
|
270
270
|
getCache: () => this.state.lastFetchedBlockNumbers,
|
|
271
|
-
getChainIds: () => [...__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f")],
|
|
272
271
|
getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
|
|
273
272
|
getLocalTransactions: () => this.state.transactions,
|
|
274
273
|
includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
|
|
@@ -478,21 +477,13 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
478
477
|
transactionMeta: addedTransactionMeta,
|
|
479
478
|
};
|
|
480
479
|
}
|
|
481
|
-
startIncomingTransactionPolling(
|
|
482
|
-
chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
|
|
480
|
+
startIncomingTransactionPolling() {
|
|
483
481
|
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
|
|
484
482
|
}
|
|
485
|
-
stopIncomingTransactionPolling(
|
|
486
|
-
|
|
487
|
-
if (!chainIds) {
|
|
488
|
-
__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").clear();
|
|
489
|
-
}
|
|
490
|
-
if (__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").size === 0) {
|
|
491
|
-
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
|
|
492
|
-
}
|
|
483
|
+
stopIncomingTransactionPolling() {
|
|
484
|
+
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
|
|
493
485
|
}
|
|
494
|
-
async updateIncomingTransactions(
|
|
495
|
-
chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
|
|
486
|
+
async updateIncomingTransactions() {
|
|
496
487
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update();
|
|
497
488
|
}
|
|
498
489
|
/**
|
|
@@ -559,7 +550,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
559
550
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
560
551
|
networkClientId,
|
|
561
552
|
});
|
|
562
|
-
const { estimatedGas, simulationFails } = await (0, gas_1.estimateGas)(
|
|
553
|
+
const { estimatedGas, simulationFails } = await (0, gas_1.estimateGas)({
|
|
554
|
+
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
555
|
+
ethQuery,
|
|
556
|
+
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
557
|
+
txParams: transaction,
|
|
558
|
+
});
|
|
563
559
|
return { gas: estimatedGas, simulationFails };
|
|
564
560
|
}
|
|
565
561
|
/**
|
|
@@ -574,7 +570,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
574
570
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
575
571
|
networkClientId,
|
|
576
572
|
});
|
|
577
|
-
const { blockGasLimit, estimatedGas, simulationFails } = await (0, gas_1.estimateGas)(
|
|
573
|
+
const { blockGasLimit, estimatedGas, simulationFails } = await (0, gas_1.estimateGas)({
|
|
574
|
+
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
575
|
+
ethQuery,
|
|
576
|
+
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
577
|
+
txParams: transaction,
|
|
578
|
+
});
|
|
578
579
|
const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
|
|
579
580
|
return {
|
|
580
581
|
gas,
|
|
@@ -1769,7 +1770,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1769
1770
|
}
|
|
1770
1771
|
}
|
|
1771
1772
|
exports.TransactionController = TransactionController;
|
|
1772
|
-
_TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(),
|
|
1773
|
+
_TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_multichainTrackingHelper = 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, }) {
|
|
1773
1774
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1774
1775
|
if (this.getTransactionWithActionId(actionId)) {
|
|
1775
1776
|
return;
|
|
@@ -2046,15 +2047,15 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
2046
2047
|
(0, logger_1.projectLogger)('Updated simulation data', transactionId, simulationData);
|
|
2047
2048
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2048
2049
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipHistory: true }, (txMeta) => {
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
}
|
|
2050
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
2051
|
+
(0, GasFeePoller_1.updateTransactionGasFees)({
|
|
2052
|
+
txMeta,
|
|
2053
|
+
gasFeeEstimates,
|
|
2054
|
+
gasFeeEstimatesLoaded,
|
|
2055
|
+
getEIP1559Compatibility: this.getEIP1559Compatibility.bind(this),
|
|
2056
|
+
isTxParamsGasFeeUpdatesEnabled: this.isTxParamsGasFeeUpdatesEnabled,
|
|
2057
|
+
layer1GasFee,
|
|
2058
|
+
});
|
|
2058
2059
|
});
|
|
2059
2060
|
}, _TransactionController_getSelectedAccount = function _TransactionController_getSelectedAccount() {
|
|
2060
2061
|
return this.messagingSystem.call('AccountsController:getSelectedAccount');
|
|
@@ -2097,6 +2098,7 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
2097
2098
|
chainId,
|
|
2098
2099
|
ethQuery,
|
|
2099
2100
|
isCustomNetwork,
|
|
2101
|
+
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2100
2102
|
txMeta: transactionMeta,
|
|
2101
2103
|
});
|
|
2102
2104
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|