@metamask-previews/transaction-controller 52.2.0-preview-b881bfc9 → 52.3.0-preview-8365901
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 +7 -1
- package/dist/TransactionController.cjs +31 -17
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +17 -16
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +17 -16
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +31 -17
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +7 -7
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts +1 -2
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts +1 -2
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +7 -7
- package/dist/helpers/PendingTransactionTracker.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.map +1 -1
- package/dist/types.d.cts +25 -8
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +25 -8
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,15 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [52.3.0]
|
|
11
|
+
|
|
10
12
|
### Added
|
|
11
13
|
|
|
12
14
|
- Adds `RandomisedEstimationsGasFeeFlow` to gas fee flows in `TransactionController` ([#5511](https://github.com/MetaMask/core/pull/5511))
|
|
13
15
|
- Added flow only will be activated if chainId is defined in feature flags.
|
|
16
|
+
- Configure pending transaction polling intervals using remote feature flags ([#5549](https://github.com/MetaMask/core/pull/5549))
|
|
14
17
|
|
|
15
18
|
### Fixed
|
|
16
19
|
|
|
17
20
|
- Fix EIP-7702 contract signature validation on chains with odd-length hexadecimal ID ([#5563](https://github.com/MetaMask/core/pull/5563))
|
|
18
21
|
- Fix simulation of type-4 transactions ([#5552](https://github.com/MetaMask/core/pull/5552))
|
|
22
|
+
- Display incoming transactions in active tab ([#5487](https://github.com/MetaMask/core/pull/5487))
|
|
23
|
+
- Fix bug in `updateTransactionGasFees` affecting `txParams` gas updates when `enableTxParamsGasFeeUpdates` is enabled. ([#5539](https://github.com/MetaMask/core/pull/5539))
|
|
19
24
|
|
|
20
25
|
## [52.2.0]
|
|
21
26
|
|
|
@@ -1453,7 +1458,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1453
1458
|
|
|
1454
1459
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1455
1460
|
|
|
1456
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.
|
|
1461
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.3.0...HEAD
|
|
1462
|
+
[52.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.2.0...@metamask/transaction-controller@52.3.0
|
|
1457
1463
|
[52.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.1.0...@metamask/transaction-controller@52.2.0
|
|
1458
1464
|
[52.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@52.0.0...@metamask/transaction-controller@52.1.0
|
|
1459
1465
|
[52.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@51.0.0...@metamask/transaction-controller@52.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, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_publishBatchHook, _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;
|
|
16
|
+
var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_publishBatchHook, _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_registerActionHandlers, _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");
|
|
@@ -215,10 +215,9 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
215
215
|
__classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
|
|
216
216
|
this.afterSign = hooks?.afterSign ?? (() => true);
|
|
217
217
|
this.beforeCheckPendingTransaction =
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
this.beforePublish = hooks?.beforePublish ?? (() => true);
|
|
218
|
+
/* istanbul ignore next */
|
|
219
|
+
hooks?.beforeCheckPendingTransaction ?? (() => Promise.resolve(true));
|
|
220
|
+
this.beforePublish = hooks?.beforePublish ?? (() => Promise.resolve(true));
|
|
222
221
|
this.getAdditionalSignArguments =
|
|
223
222
|
hooks?.getAdditionalSignArguments ?? (() => []);
|
|
224
223
|
this.publish =
|
|
@@ -294,6 +293,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
294
293
|
});
|
|
295
294
|
this.onBootCleanup();
|
|
296
295
|
__classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f").call(this);
|
|
296
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_registerActionHandlers).call(this);
|
|
297
297
|
}
|
|
298
298
|
/**
|
|
299
299
|
* Stops polling and removes listeners to prepare the controller for garbage collection.
|
|
@@ -682,6 +682,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
682
682
|
this.onTransactionStatusChange(updatedTransactionMeta);
|
|
683
683
|
// Intentional given potential duration of process.
|
|
684
684
|
this.updatePostBalance(updatedTransactionMeta).catch((error) => {
|
|
685
|
+
/* istanbul ignore next */
|
|
685
686
|
(0, logger_1.projectLogger)('Error while updating post balance', error);
|
|
686
687
|
throw error;
|
|
687
688
|
});
|
|
@@ -930,20 +931,16 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
930
931
|
/**
|
|
931
932
|
* Update a custodial transaction.
|
|
932
933
|
*
|
|
933
|
-
* @param
|
|
934
|
-
*
|
|
935
|
-
* @
|
|
936
|
-
* @param options.hash - The new hash value to be assigned.
|
|
937
|
-
* @param options.status - The new status value to be assigned.
|
|
934
|
+
* @param request - The custodial transaction update request.
|
|
935
|
+
*
|
|
936
|
+
* @returns The updated transaction metadata.
|
|
938
937
|
*/
|
|
939
|
-
updateCustodialTransaction(
|
|
938
|
+
updateCustodialTransaction(request) {
|
|
939
|
+
const { transactionId, errorMessage, hash, status, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, type, } = request;
|
|
940
940
|
const transactionMeta = this.getTransaction(transactionId);
|
|
941
941
|
if (!transactionMeta) {
|
|
942
942
|
throw new Error(`Cannot update custodial transaction as no transaction metadata found`);
|
|
943
943
|
}
|
|
944
|
-
if (!transactionMeta.custodyId) {
|
|
945
|
-
throw new Error('Transaction must be a custodian transaction');
|
|
946
|
-
}
|
|
947
944
|
if (status &&
|
|
948
945
|
![
|
|
949
946
|
types_1.TransactionStatus.submitted,
|
|
@@ -959,11 +956,27 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
959
956
|
if (updatedTransactionMeta.status === types_1.TransactionStatus.failed) {
|
|
960
957
|
updatedTransactionMeta.error = (0, utils_2.normalizeTxError)(new Error(errorMessage));
|
|
961
958
|
}
|
|
959
|
+
// Update txParams properties with a single pickBy operation
|
|
960
|
+
updatedTransactionMeta.txParams = (0, lodash_1.merge)({}, updatedTransactionMeta.txParams, (0, lodash_1.pickBy)({
|
|
961
|
+
gasLimit,
|
|
962
|
+
gasPrice,
|
|
963
|
+
maxFeePerGas,
|
|
964
|
+
maxPriorityFeePerGas,
|
|
965
|
+
nonce,
|
|
966
|
+
type,
|
|
967
|
+
}));
|
|
968
|
+
// Special case for type change to legacy
|
|
969
|
+
if (type === types_1.TransactionEnvelopeType.legacy) {
|
|
970
|
+
delete updatedTransactionMeta.txParams.maxFeePerGas;
|
|
971
|
+
delete updatedTransactionMeta.txParams.maxPriorityFeePerGas;
|
|
972
|
+
}
|
|
962
973
|
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateCustodialTransaction - Custodial transaction updated`);
|
|
963
|
-
if (
|
|
974
|
+
if (status &&
|
|
975
|
+
[types_1.TransactionStatus.submitted, types_1.TransactionStatus.failed].includes(status)) {
|
|
964
976
|
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
965
977
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${updatedTransactionMeta.id}:finished`, updatedTransactionMeta);
|
|
966
978
|
}
|
|
979
|
+
return updatedTransactionMeta;
|
|
967
980
|
}
|
|
968
981
|
/**
|
|
969
982
|
* Search transaction metadata for matching entries.
|
|
@@ -1380,7 +1393,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1380
1393
|
});
|
|
1381
1394
|
this.onTransactionStatusChange(transactionMeta);
|
|
1382
1395
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => this.signTransaction(transactionMeta));
|
|
1383
|
-
if (!this.beforePublish(transactionMeta)) {
|
|
1396
|
+
if (!(await this.beforePublish(transactionMeta))) {
|
|
1384
1397
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1385
1398
|
this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1386
1399
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
@@ -1966,7 +1979,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
1966
1979
|
}),
|
|
1967
1980
|
hooks: {
|
|
1968
1981
|
beforeCheckPendingTransaction: this.beforeCheckPendingTransaction.bind(this),
|
|
1969
|
-
beforePublish: this.beforePublish.bind(this),
|
|
1970
1982
|
},
|
|
1971
1983
|
});
|
|
1972
1984
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|
|
@@ -2184,6 +2196,8 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
2184
2196
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2185
2197
|
txMeta: transactionMeta,
|
|
2186
2198
|
});
|
|
2199
|
+
}, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
|
|
2200
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2187
2201
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2188
2202
|
this.update((state) => {
|
|
2189
2203
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|