@metamask-previews/transaction-controller 52.3.0-preview-cff14565 → 52.3.0-preview-8ea9b81f
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/dist/TransactionController.cjs +34 -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 +34 -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/dist/utils/feature-flags.cjs +21 -1
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +35 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +35 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +19 -0
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/gas.cjs +10 -4
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +5 -2
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +5 -2
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +10 -4
- package/dist/utils/gas.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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.
|
|
@@ -568,6 +568,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
568
568
|
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
569
569
|
ethQuery,
|
|
570
570
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
571
|
+
messenger: this.messagingSystem,
|
|
571
572
|
txParams: transaction,
|
|
572
573
|
});
|
|
573
574
|
return { gas: estimatedGas, simulationFails };
|
|
@@ -588,6 +589,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
588
589
|
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
589
590
|
ethQuery,
|
|
590
591
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
592
|
+
messenger: this.messagingSystem,
|
|
591
593
|
txParams: transaction,
|
|
592
594
|
});
|
|
593
595
|
const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
|
|
@@ -682,6 +684,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
682
684
|
this.onTransactionStatusChange(updatedTransactionMeta);
|
|
683
685
|
// Intentional given potential duration of process.
|
|
684
686
|
this.updatePostBalance(updatedTransactionMeta).catch((error) => {
|
|
687
|
+
/* istanbul ignore next */
|
|
685
688
|
(0, logger_1.projectLogger)('Error while updating post balance', error);
|
|
686
689
|
throw error;
|
|
687
690
|
});
|
|
@@ -930,20 +933,16 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
930
933
|
/**
|
|
931
934
|
* Update a custodial transaction.
|
|
932
935
|
*
|
|
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.
|
|
936
|
+
* @param request - The custodial transaction update request.
|
|
937
|
+
*
|
|
938
|
+
* @returns The updated transaction metadata.
|
|
938
939
|
*/
|
|
939
|
-
updateCustodialTransaction(
|
|
940
|
+
updateCustodialTransaction(request) {
|
|
941
|
+
const { transactionId, errorMessage, hash, status, gasLimit, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, type, } = request;
|
|
940
942
|
const transactionMeta = this.getTransaction(transactionId);
|
|
941
943
|
if (!transactionMeta) {
|
|
942
944
|
throw new Error(`Cannot update custodial transaction as no transaction metadata found`);
|
|
943
945
|
}
|
|
944
|
-
if (!transactionMeta.custodyId) {
|
|
945
|
-
throw new Error('Transaction must be a custodian transaction');
|
|
946
|
-
}
|
|
947
946
|
if (status &&
|
|
948
947
|
![
|
|
949
948
|
types_1.TransactionStatus.submitted,
|
|
@@ -959,11 +958,27 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
959
958
|
if (updatedTransactionMeta.status === types_1.TransactionStatus.failed) {
|
|
960
959
|
updatedTransactionMeta.error = (0, utils_2.normalizeTxError)(new Error(errorMessage));
|
|
961
960
|
}
|
|
961
|
+
// Update txParams properties with a single pickBy operation
|
|
962
|
+
updatedTransactionMeta.txParams = (0, lodash_1.merge)({}, updatedTransactionMeta.txParams, (0, lodash_1.pickBy)({
|
|
963
|
+
gasLimit,
|
|
964
|
+
gasPrice,
|
|
965
|
+
maxFeePerGas,
|
|
966
|
+
maxPriorityFeePerGas,
|
|
967
|
+
nonce,
|
|
968
|
+
type,
|
|
969
|
+
}));
|
|
970
|
+
// Special case for type change to legacy
|
|
971
|
+
if (type === types_1.TransactionEnvelopeType.legacy) {
|
|
972
|
+
delete updatedTransactionMeta.txParams.maxFeePerGas;
|
|
973
|
+
delete updatedTransactionMeta.txParams.maxPriorityFeePerGas;
|
|
974
|
+
}
|
|
962
975
|
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateCustodialTransaction - Custodial transaction updated`);
|
|
963
|
-
if (
|
|
976
|
+
if (status &&
|
|
977
|
+
[types_1.TransactionStatus.submitted, types_1.TransactionStatus.failed].includes(status)) {
|
|
964
978
|
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
965
979
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${updatedTransactionMeta.id}:finished`, updatedTransactionMeta);
|
|
966
980
|
}
|
|
981
|
+
return updatedTransactionMeta;
|
|
967
982
|
}
|
|
968
983
|
/**
|
|
969
984
|
* Search transaction metadata for matching entries.
|
|
@@ -1380,7 +1395,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1380
1395
|
});
|
|
1381
1396
|
this.onTransactionStatusChange(transactionMeta);
|
|
1382
1397
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => this.signTransaction(transactionMeta));
|
|
1383
|
-
if (!this.beforePublish(transactionMeta)) {
|
|
1398
|
+
if (!(await this.beforePublish(transactionMeta))) {
|
|
1384
1399
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1385
1400
|
this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1386
1401
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
@@ -1966,7 +1981,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
1966
1981
|
}),
|
|
1967
1982
|
hooks: {
|
|
1968
1983
|
beforeCheckPendingTransaction: this.beforeCheckPendingTransaction.bind(this),
|
|
1969
|
-
beforePublish: this.beforePublish.bind(this),
|
|
1970
1984
|
},
|
|
1971
1985
|
});
|
|
1972
1986
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|
|
@@ -2182,8 +2196,11 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
2182
2196
|
ethQuery,
|
|
2183
2197
|
isCustomNetwork,
|
|
2184
2198
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2199
|
+
messenger: this.messagingSystem,
|
|
2185
2200
|
txMeta: transactionMeta,
|
|
2186
2201
|
});
|
|
2202
|
+
}, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
|
|
2203
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2187
2204
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2188
2205
|
this.update((state) => {
|
|
2189
2206
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|