@metamask-previews/transaction-controller 39.1.0-preview-608079df → 40.0.0-preview-e6722625
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 +8 -1
- package/dist/TransactionController.cjs +6 -58
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +1 -3
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +1 -3
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +8 -60
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/errors.cjs +1 -8
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +0 -4
- package/dist/errors.d.cts.map +1 -1
- package/dist/errors.d.mts +0 -4
- package/dist/errors.d.mts.map +1 -1
- package/dist/errors.mjs +0 -6
- package/dist/errors.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +2 -4
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +2 -4
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/validation.cjs +1 -13
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.cts +0 -7
- package/dist/utils/validation.d.cts.map +1 -1
- package/dist/utils/validation.d.mts +0 -7
- package/dist/utils/validation.d.mts.map +1 -1
- package/dist/utils/validation.mjs +0 -11
- package/dist/utils/validation.mjs.map +1 -1
- package/package.json +3 -4
- package/dist/api/accounts-api.cjs +0 -47
- package/dist/api/accounts-api.cjs.map +0 -1
- package/dist/api/accounts-api.d.cts +0 -43
- package/dist/api/accounts-api.d.cts.map +0 -1
- package/dist/api/accounts-api.d.mts +0 -43
- package/dist/api/accounts-api.d.mts.map +0 -1
- package/dist/api/accounts-api.mjs +0 -43
- package/dist/api/accounts-api.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [40.0.0]
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **BREAKING:** Bump `@metamask/accounts-controller` peer dependency from `^19.0.0` to `^20.0.0` ([#4195](https://github.com/MetaMask/core/pull/4956))
|
|
15
|
+
|
|
10
16
|
## [39.1.0]
|
|
11
17
|
|
|
12
18
|
### Changed
|
|
@@ -1127,7 +1133,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1127
1133
|
|
|
1128
1134
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1129
1135
|
|
|
1130
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@
|
|
1136
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@40.0.0...HEAD
|
|
1137
|
+
[40.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@39.1.0...@metamask/transaction-controller@40.0.0
|
|
1131
1138
|
[39.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@39.0.0...@metamask/transaction-controller@39.1.0
|
|
1132
1139
|
[39.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@38.3.0...@metamask/transaction-controller@39.0.0
|
|
1133
1140
|
[38.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@38.2.0...@metamask/transaction-controller@38.3.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_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit,
|
|
16
|
+
var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_createNonceTracker, _TransactionController_createIncomingTransactionHelper, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_removeIncomingTransactionHelperListeners, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getNetworkClientId, _TransactionController_getGlobalNetworkClientId, _TransactionController_getGlobalChainId, _TransactionController_isCustomNetwork, _TransactionController_getSelectedAccount, _TransactionController_updateSubmitHistory;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = exports.HARDFORK = void 0;
|
|
19
19
|
const common_1 = require("@ethereumjs/common");
|
|
@@ -31,7 +31,6 @@ const eth_method_registry_1 = require("eth-method-registry");
|
|
|
31
31
|
const events_1 = require("events");
|
|
32
32
|
const lodash_1 = require("lodash");
|
|
33
33
|
const uuid_1 = require("uuid");
|
|
34
|
-
const accounts_api_1 = require("./api/accounts-api.cjs");
|
|
35
34
|
const DefaultGasFeeFlow_1 = require("./gas-flows/DefaultGasFeeFlow.cjs");
|
|
36
35
|
const LineaGasFeeFlow_1 = require("./gas-flows/LineaGasFeeFlow.cjs");
|
|
37
36
|
const OptimismLayer1GasFeeFlow_1 = require("./gas-flows/OptimismLayer1GasFeeFlow.cjs");
|
|
@@ -178,7 +177,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
178
177
|
* @param options.getSavedGasFees - Gets the saved gas fee config.
|
|
179
178
|
* @param options.incomingTransactions - Configuration options for incoming transaction support.
|
|
180
179
|
* @param options.isMultichainEnabled - Enable multichain support.
|
|
181
|
-
* @param options.isFirstTimeInteractionEnabled - Whether first time interaction checks are enabled.
|
|
182
180
|
* @param options.isSimulationEnabled - Whether new transactions will be automatically simulated.
|
|
183
181
|
* @param options.messenger - The controller messenger.
|
|
184
182
|
* @param options.onNetworkStateChange - Allows subscribing to network controller state changes.
|
|
@@ -192,7 +190,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
192
190
|
* @param options.transactionHistoryLimit - Transaction history limit.
|
|
193
191
|
* @param options.hooks - The controller hooks.
|
|
194
192
|
*/
|
|
195
|
-
constructor({ blockTracker, disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isMultichainEnabled = false,
|
|
193
|
+
constructor({ blockTracker, disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, incomingTransactions = {}, isMultichainEnabled = false, isSimulationEnabled, messenger, onNetworkStateChange, pendingTransactions = {}, provider, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, hooks, }) {
|
|
196
194
|
super({
|
|
197
195
|
name: controllerName,
|
|
198
196
|
metadata,
|
|
@@ -211,7 +209,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
211
209
|
this.signAbortCallbacks = new Map();
|
|
212
210
|
_TransactionController_trace.set(this, void 0);
|
|
213
211
|
_TransactionController_transactionHistoryLimit.set(this, void 0);
|
|
214
|
-
_TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
|
|
215
212
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
216
213
|
_TransactionController_testGasFeeFlows.set(this, void 0);
|
|
217
214
|
_TransactionController_multichainTrackingHelper.set(this, void 0);
|
|
@@ -225,7 +222,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
225
222
|
this.isSendFlowHistoryDisabled = disableSendFlowHistory ?? false;
|
|
226
223
|
this.isHistoryDisabled = disableHistory ?? false;
|
|
227
224
|
this.isSwapsDisabled = disableSwaps ?? false;
|
|
228
|
-
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
229
225
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
230
226
|
// @ts-expect-error the type in eth-method-registry is inappropriate and should be changed
|
|
231
227
|
this.registry = new eth_method_registry_1.MethodRegistry({ provider });
|
|
@@ -407,16 +403,15 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
407
403
|
dappSuggestedGasFees,
|
|
408
404
|
deviceConfirmedOn,
|
|
409
405
|
id: (0, uuid_1.v1)(),
|
|
410
|
-
isFirstTimeInteraction: undefined,
|
|
411
|
-
networkClientId,
|
|
412
406
|
origin,
|
|
413
407
|
securityAlertResponse,
|
|
414
408
|
status: types_1.TransactionStatus.unapproved,
|
|
415
409
|
time: Date.now(),
|
|
416
410
|
txParams,
|
|
417
|
-
type: transactionType,
|
|
418
411
|
userEditedGasLimit: false,
|
|
419
412
|
verifiedOnBlockchain: false,
|
|
413
|
+
type: transactionType,
|
|
414
|
+
networkClientId,
|
|
420
415
|
};
|
|
421
416
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => this.updateGasProperties(addedTransactionMeta, {
|
|
422
417
|
traceContext: context,
|
|
@@ -449,14 +444,9 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
449
444
|
(0, logger_1.projectLogger)('Error while updating simulation data', error);
|
|
450
445
|
throw error;
|
|
451
446
|
});
|
|
452
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateFirstTimeInteraction).call(this, addedTransactionMeta, {
|
|
453
|
-
traceContext,
|
|
454
|
-
}).catch((error) => {
|
|
455
|
-
(0, logger_1.projectLogger)('Error while updating first interaction properties', error);
|
|
456
|
-
});
|
|
457
447
|
}
|
|
458
448
|
else {
|
|
459
|
-
(0, logger_1.projectLogger)('Skipping simulation
|
|
449
|
+
(0, logger_1.projectLogger)('Skipping simulation as approval not required');
|
|
460
450
|
}
|
|
461
451
|
this.messagingSystem.publish(`${controllerName}:unapprovedTransactionAdded`, addedTransactionMeta);
|
|
462
452
|
}
|
|
@@ -1795,7 +1785,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1795
1785
|
}
|
|
1796
1786
|
}
|
|
1797
1787
|
exports.TransactionController = TransactionController;
|
|
1798
|
-
_TransactionController_internalEvents = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(),
|
|
1788
|
+
_TransactionController_internalEvents = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = 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, }) {
|
|
1799
1789
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1800
1790
|
if (this.getTransactionWithActionId(actionId)) {
|
|
1801
1791
|
return;
|
|
@@ -1973,48 +1963,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
|
|
|
1973
1963
|
});
|
|
1974
1964
|
}
|
|
1975
1965
|
return transactionMeta;
|
|
1976
|
-
}, _TransactionController_updateFirstTimeInteraction = async function _TransactionController_updateFirstTimeInteraction(transactionMeta, { traceContext, } = {}) {
|
|
1977
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isFirstTimeInteractionEnabled, "f").call(this)) {
|
|
1978
|
-
return;
|
|
1979
|
-
}
|
|
1980
|
-
const { chainId, id: transactionId, txParams: { to, from }, } = transactionMeta;
|
|
1981
|
-
const request = {
|
|
1982
|
-
chainId: (0, utils_1.hexToNumber)(chainId),
|
|
1983
|
-
to: to,
|
|
1984
|
-
from,
|
|
1985
|
-
};
|
|
1986
|
-
(0, validation_1.validateParamTo)(to);
|
|
1987
|
-
const existingTransaction = this.state.transactions.find((tx) => tx.chainId === chainId &&
|
|
1988
|
-
tx.txParams.from === from &&
|
|
1989
|
-
tx.txParams.to === to &&
|
|
1990
|
-
tx.id !== transactionId);
|
|
1991
|
-
// Check if there is an existing transaction with the same from, to, and chainId
|
|
1992
|
-
// else we continue to check the account address relationship from API
|
|
1993
|
-
if (existingTransaction) {
|
|
1994
|
-
return;
|
|
1995
|
-
}
|
|
1996
|
-
try {
|
|
1997
|
-
const { count } = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Account Address Relationship', parentContext: traceContext }, () => (0, accounts_api_1.getAccountAddressRelationship)(request));
|
|
1998
|
-
const isFirstTimeInteraction = count === undefined ? undefined : count === 0;
|
|
1999
|
-
const finalTransactionMeta = this.getTransaction(transactionId);
|
|
2000
|
-
/* istanbul ignore if */
|
|
2001
|
-
if (!finalTransactionMeta) {
|
|
2002
|
-
(0, logger_1.projectLogger)('Cannot update first time interaction as transaction not found', transactionId);
|
|
2003
|
-
return;
|
|
2004
|
-
}
|
|
2005
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2006
|
-
transactionId,
|
|
2007
|
-
note: 'TransactionController#updateFirstInteraction - Update first time interaction',
|
|
2008
|
-
}, (txMeta) => {
|
|
2009
|
-
txMeta.isFirstTimeInteraction = isFirstTimeInteraction;
|
|
2010
|
-
});
|
|
2011
|
-
(0, logger_1.projectLogger)('Updated first time interaction', transactionId, {
|
|
2012
|
-
isFirstTimeInteraction,
|
|
2013
|
-
});
|
|
2014
|
-
}
|
|
2015
|
-
catch (error) {
|
|
2016
|
-
(0, logger_1.projectLogger)('Error fetching account address relationship, skipping first time interaction update', error);
|
|
2017
|
-
}
|
|
2018
1966
|
}, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
|
|
2019
1967
|
const { id: transactionId, chainId, txParams, simulationData: prevSimulationData, } = transactionMeta;
|
|
2020
1968
|
const { from, to, value, data } = txParams;
|