@metamask-previews/transaction-controller 50.0.0-preview-86cafc23 → 51.0.0-preview-29fe07c
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 +22 -1
- package/dist/TransactionController.cjs +18 -18
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +3 -3
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +3 -3
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +18 -18
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/gas-flows/DefaultGasFeeFlow.cjs +0 -1
- package/dist/gas-flows/DefaultGasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/DefaultGasFeeFlow.mjs +0 -1
- package/dist/gas-flows/DefaultGasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.cjs +162 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.cjs.map +1 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.d.cts +11 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.d.cts.map +1 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.d.mts +11 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.d.mts.map +1 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.mjs +158 -0
- package/dist/gas-flows/RandomisedEstimationsGasFeeFlow.mjs.map +1 -0
- 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 +10 -4
- package/dist/helpers/GasFeePoller.cjs.map +1 -1
- package/dist/helpers/GasFeePoller.d.cts +4 -1
- package/dist/helpers/GasFeePoller.d.cts.map +1 -1
- package/dist/helpers/GasFeePoller.d.mts +4 -1
- package/dist/helpers/GasFeePoller.d.mts.map +1 -1
- package/dist/helpers/GasFeePoller.mjs +10 -4
- 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 +4 -5
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +4 -5
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +3 -1
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +16 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +16 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +2 -1
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/gas-fees.cjs +3 -2
- package/dist/utils/gas-fees.cjs.map +1 -1
- package/dist/utils/gas-fees.d.cts +2 -0
- package/dist/utils/gas-fees.d.cts.map +1 -1
- package/dist/utils/gas-fees.d.mts +2 -0
- package/dist/utils/gas-fees.d.mts.map +1 -1
- package/dist/utils/gas-fees.mjs +3 -2
- package/dist/utils/gas-fees.mjs.map +1 -1
- package/dist/utils/gas-flow.cjs +3 -2
- package/dist/utils/gas-flow.cjs.map +1 -1
- package/dist/utils/gas-flow.d.cts +3 -1
- package/dist/utils/gas-flow.d.cts.map +1 -1
- package/dist/utils/gas-flow.d.mts +3 -1
- package/dist/utils/gas-flow.d.mts.map +1 -1
- package/dist/utils/gas-flow.mjs +3 -2
- package/dist/utils/gas-flow.mjs.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Adds `RandomisedEstimationsGasFeeFlow` to gas fee flows in `TransactionController` ([#5511](https://github.com/MetaMask/core/pull/5511))
|
|
13
|
+
- Added flow only will be activated if chainId is defined in feature flags.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- **BREAKING:** Remove `chainIds` argument from incoming transaction methods ([#5436](https://github.com/MetaMask/core/pull/5436))
|
|
18
|
+
- `startIncomingTransactionPolling`
|
|
19
|
+
- `stopIncomingTransactionPolling`
|
|
20
|
+
- `updateIncomingTransactions`
|
|
21
|
+
|
|
22
|
+
## [51.0.0]
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **BREAKING:** Bump peer dependency `@metamask/accounts-controller` to `^27.0.0` ([#5507](https://github.com/MetaMask/core/pull/5507))
|
|
27
|
+
- **BREAKING:** Bump peer dependency `@metamask/gas-fee-controller` to `^23.0.0` ([#5507](https://github.com/MetaMask/core/pull/5507))
|
|
28
|
+
- **BREAKING:** Bump peer dependency `@metamask/network-controller` to `^23.0.0` ([#5507](https://github.com/MetaMask/core/pull/5507))
|
|
29
|
+
|
|
10
30
|
## [50.0.0]
|
|
11
31
|
|
|
12
32
|
### Added
|
|
@@ -1380,7 +1400,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1380
1400
|
|
|
1381
1401
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1382
1402
|
|
|
1383
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@
|
|
1403
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@51.0.0...HEAD
|
|
1404
|
+
[51.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@50.0.0...@metamask/transaction-controller@51.0.0
|
|
1384
1405
|
[50.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@49.0.0...@metamask/transaction-controller@50.0.0
|
|
1385
1406
|
[49.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.2.0...@metamask/transaction-controller@49.0.0
|
|
1386
1407
|
[48.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@48.1.0...@metamask/transaction-controller@48.2.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");
|
|
@@ -33,6 +33,7 @@ const accounts_api_1 = require("./api/accounts-api.cjs");
|
|
|
33
33
|
const DefaultGasFeeFlow_1 = require("./gas-flows/DefaultGasFeeFlow.cjs");
|
|
34
34
|
const LineaGasFeeFlow_1 = require("./gas-flows/LineaGasFeeFlow.cjs");
|
|
35
35
|
const OptimismLayer1GasFeeFlow_1 = require("./gas-flows/OptimismLayer1GasFeeFlow.cjs");
|
|
36
|
+
const RandomisedEstimationsGasFeeFlow_1 = require("./gas-flows/RandomisedEstimationsGasFeeFlow.cjs");
|
|
36
37
|
const ScrollLayer1GasFeeFlow_1 = require("./gas-flows/ScrollLayer1GasFeeFlow.cjs");
|
|
37
38
|
const TestGasFeeFlow_1 = require("./gas-flows/TestGasFeeFlow.cjs");
|
|
38
39
|
const AccountsApiRemoteTransactionSource_1 = require("./helpers/AccountsApiRemoteTransactionSource.cjs");
|
|
@@ -47,6 +48,7 @@ const types_1 = require("./types.cjs");
|
|
|
47
48
|
const batch_1 = require("./utils/batch.cjs");
|
|
48
49
|
const eip7702_1 = require("./utils/eip7702.cjs");
|
|
49
50
|
const external_transactions_1 = require("./utils/external-transactions.cjs");
|
|
51
|
+
const feature_flags_1 = require("./utils/feature-flags.cjs");
|
|
50
52
|
const gas_1 = require("./utils/gas.cjs");
|
|
51
53
|
const gas_fees_1 = require("./utils/gas-fees.cjs");
|
|
52
54
|
const gas_flow_1 = require("./utils/gas-flow.cjs");
|
|
@@ -171,7 +173,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
171
173
|
this.approvingTransactionIds = new Set();
|
|
172
174
|
_TransactionController_methodDataHelper.set(this, void 0);
|
|
173
175
|
this.mutex = new async_mutex_1.Mutex();
|
|
174
|
-
_TransactionController_incomingTransactionChainIds.set(this, new Set());
|
|
175
176
|
_TransactionController_incomingTransactionHelper.set(this, void 0);
|
|
176
177
|
_TransactionController_incomingTransactionOptions.set(this, void 0);
|
|
177
178
|
_TransactionController_pendingTransactionOptions.set(this, void 0);
|
|
@@ -247,6 +248,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
247
248
|
getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
|
|
248
249
|
getTransactions: () => this.state.transactions,
|
|
249
250
|
layer1GasFeeFlows: this.layer1GasFeeFlows,
|
|
251
|
+
messenger: this.messagingSystem,
|
|
250
252
|
onStateChange: (listener) => {
|
|
251
253
|
this.messagingSystem.subscribe('TransactionController:stateChange', listener);
|
|
252
254
|
},
|
|
@@ -268,7 +270,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
268
270
|
};
|
|
269
271
|
__classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
|
|
270
272
|
getCache: () => this.state.lastFetchedBlockNumbers,
|
|
271
|
-
getChainIds: () => [...__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f")],
|
|
272
273
|
getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
|
|
273
274
|
getLocalTransactions: () => this.state.transactions,
|
|
274
275
|
includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
|
|
@@ -478,21 +479,13 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
478
479
|
transactionMeta: addedTransactionMeta,
|
|
479
480
|
};
|
|
480
481
|
}
|
|
481
|
-
startIncomingTransactionPolling(
|
|
482
|
-
chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
|
|
482
|
+
startIncomingTransactionPolling() {
|
|
483
483
|
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
|
|
484
484
|
}
|
|
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
|
-
}
|
|
485
|
+
stopIncomingTransactionPolling() {
|
|
486
|
+
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
|
|
493
487
|
}
|
|
494
|
-
async updateIncomingTransactions(
|
|
495
|
-
chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
|
|
488
|
+
async updateIncomingTransactions() {
|
|
496
489
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update();
|
|
497
490
|
}
|
|
498
491
|
/**
|
|
@@ -1031,19 +1024,21 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1031
1024
|
chainId,
|
|
1032
1025
|
networkClientId: requestNetworkClientId,
|
|
1033
1026
|
});
|
|
1027
|
+
const featureFlags = (0, feature_flags_1.getFeatureFlags)(this.messagingSystem);
|
|
1034
1028
|
const transactionMeta = {
|
|
1035
1029
|
txParams: transactionParams,
|
|
1036
1030
|
chainId,
|
|
1037
1031
|
networkClientId,
|
|
1038
1032
|
};
|
|
1039
1033
|
// Guaranteed as the default gas fee flow matches all transactions.
|
|
1040
|
-
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, this.gasFeeFlows);
|
|
1034
|
+
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, this.gasFeeFlows, featureFlags);
|
|
1041
1035
|
const ethQuery = new eth_query_1.default(provider);
|
|
1042
1036
|
const gasFeeControllerData = await this.getGasFeeEstimates({
|
|
1043
1037
|
networkClientId,
|
|
1044
1038
|
});
|
|
1045
1039
|
return gasFeeFlow.getGasFees({
|
|
1046
1040
|
ethQuery,
|
|
1041
|
+
featureFlags,
|
|
1047
1042
|
gasFeeControllerData,
|
|
1048
1043
|
transactionMeta,
|
|
1049
1044
|
});
|
|
@@ -1187,6 +1182,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1187
1182
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await (0, gas_fees_1.updateGasFees)({
|
|
1188
1183
|
eip1559: isEIP1559Compatible,
|
|
1189
1184
|
ethQuery,
|
|
1185
|
+
featureFlags: (0, feature_flags_1.getFeatureFlags)(this.messagingSystem),
|
|
1190
1186
|
gasFeeFlows: this.gasFeeFlows,
|
|
1191
1187
|
getGasFeeEstimates: this.getGasFeeEstimates,
|
|
1192
1188
|
getSavedGasFees: this.getSavedGasFees.bind(this),
|
|
@@ -1769,7 +1765,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1769
1765
|
}
|
|
1770
1766
|
}
|
|
1771
1767
|
exports.TransactionController = TransactionController;
|
|
1772
|
-
_TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(),
|
|
1768
|
+
_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
1769
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1774
1770
|
if (this.getTransactionWithActionId(actionId)) {
|
|
1775
1771
|
return;
|
|
@@ -1923,7 +1919,11 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
1923
1919
|
if (__classPrivateFieldGet(this, _TransactionController_testGasFeeFlows, "f")) {
|
|
1924
1920
|
return [new TestGasFeeFlow_1.TestGasFeeFlow()];
|
|
1925
1921
|
}
|
|
1926
|
-
return [
|
|
1922
|
+
return [
|
|
1923
|
+
new RandomisedEstimationsGasFeeFlow_1.RandomisedEstimationsGasFeeFlow(),
|
|
1924
|
+
new LineaGasFeeFlow_1.LineaGasFeeFlow(),
|
|
1925
|
+
new DefaultGasFeeFlow_1.DefaultGasFeeFlow(),
|
|
1926
|
+
];
|
|
1927
1927
|
}, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
|
|
1928
1928
|
return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
|
|
1929
1929
|
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, note, skipHistory, skipValidation, skipResimulateCheck, }, callback) {
|