@metamask-previews/transaction-controller 48.0.0-preview-b08aa8e7 → 48.0.0-preview-a615cdf2
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 +21 -63
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +14 -35
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +14 -35
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +21 -61
- 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/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/helpers/PendingTransactionTracker.cjs +7 -7
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts +2 -1
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts +2 -1
- 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 +8 -4
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +8 -4
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* istanbul ignore file */
|
|
3
|
-
// FIXME - remove above ignore
|
|
4
2
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
5
3
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
6
4
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
@@ -15,7 +13,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
15
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
15
|
};
|
|
18
|
-
var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper,
|
|
16
|
+
var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _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;
|
|
19
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
18
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
|
|
21
19
|
const base_controller_1 = require("@metamask/base-controller");
|
|
@@ -173,7 +171,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
173
171
|
this.approvingTransactionIds = new Set();
|
|
174
172
|
_TransactionController_methodDataHelper.set(this, void 0);
|
|
175
173
|
this.mutex = new async_mutex_1.Mutex();
|
|
176
|
-
_TransactionController_incomingTransactionChainIds.set(this, new Set());
|
|
177
174
|
_TransactionController_incomingTransactionHelper.set(this, void 0);
|
|
178
175
|
_TransactionController_incomingTransactionOptions.set(this, void 0);
|
|
179
176
|
_TransactionController_pendingTransactionOptions.set(this, void 0);
|
|
@@ -213,9 +210,10 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
213
210
|
__classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
|
|
214
211
|
this.afterSign = hooks?.afterSign ?? (() => true);
|
|
215
212
|
this.beforeCheckPendingTransaction =
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
213
|
+
hooks?.beforeCheckPendingTransaction ??
|
|
214
|
+
/* istanbul ignore next */
|
|
215
|
+
(() => true);
|
|
216
|
+
this.beforePublish = hooks?.beforePublish ?? (() => true);
|
|
219
217
|
this.getAdditionalSignArguments =
|
|
220
218
|
hooks?.getAdditionalSignArguments ?? (() => []);
|
|
221
219
|
this.publish =
|
|
@@ -267,7 +265,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
267
265
|
};
|
|
268
266
|
__classPrivateFieldSet(this, _TransactionController_incomingTransactionHelper, new IncomingTransactionHelper_1.IncomingTransactionHelper({
|
|
269
267
|
getCache: () => this.state.lastFetchedBlockNumbers,
|
|
270
|
-
getChainIds: () => [...__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f")],
|
|
271
268
|
getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
|
|
272
269
|
getLocalTransactions: () => this.state.transactions,
|
|
273
270
|
includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
|
|
@@ -291,10 +288,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
291
288
|
});
|
|
292
289
|
this.onBootCleanup();
|
|
293
290
|
__classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f").call(this);
|
|
294
|
-
this.registerMessageHandlers();
|
|
295
|
-
}
|
|
296
|
-
registerMessageHandlers() {
|
|
297
|
-
this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
298
291
|
}
|
|
299
292
|
/**
|
|
300
293
|
* Stops polling and removes listeners to prepare the controller for garbage collection.
|
|
@@ -468,21 +461,13 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
468
461
|
transactionMeta: addedTransactionMeta,
|
|
469
462
|
};
|
|
470
463
|
}
|
|
471
|
-
startIncomingTransactionPolling(
|
|
472
|
-
chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
|
|
464
|
+
startIncomingTransactionPolling() {
|
|
473
465
|
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").start();
|
|
474
466
|
}
|
|
475
|
-
stopIncomingTransactionPolling(
|
|
476
|
-
|
|
477
|
-
if (!chainIds) {
|
|
478
|
-
__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").clear();
|
|
479
|
-
}
|
|
480
|
-
if (__classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").size === 0) {
|
|
481
|
-
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
|
|
482
|
-
}
|
|
467
|
+
stopIncomingTransactionPolling() {
|
|
468
|
+
__classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").stop();
|
|
483
469
|
}
|
|
484
|
-
async updateIncomingTransactions(
|
|
485
|
-
chainIds.forEach((chainId) => __classPrivateFieldGet(this, _TransactionController_incomingTransactionChainIds, "f").add(chainId));
|
|
470
|
+
async updateIncomingTransactions() {
|
|
486
471
|
await __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f").update();
|
|
487
472
|
}
|
|
488
473
|
/**
|
|
@@ -657,7 +642,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
657
642
|
this.onTransactionStatusChange(updatedTransactionMeta);
|
|
658
643
|
// Intentional given potential duration of process.
|
|
659
644
|
this.updatePostBalance(updatedTransactionMeta).catch((error) => {
|
|
660
|
-
/* istanbul ignore next */
|
|
661
645
|
(0, logger_1.projectLogger)('Error while updating post balance', error);
|
|
662
646
|
throw error;
|
|
663
647
|
});
|
|
@@ -901,23 +885,20 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
901
885
|
/**
|
|
902
886
|
* Update a custodial transaction.
|
|
903
887
|
*
|
|
904
|
-
* @param
|
|
905
|
-
* @param
|
|
906
|
-
* @param
|
|
907
|
-
* @param
|
|
908
|
-
* @param
|
|
909
|
-
* @param payload.gasLimit - The new gas limit value to be assigned
|
|
910
|
-
* @param payload.gasPrice - The new gas price value to be assigned
|
|
911
|
-
* @param payload.maxFeePerGas - The new max fee per gas value to be assigned
|
|
912
|
-
* @param payload.maxPriorityFeePerGas - The new max priority fee per gas value to be assigned
|
|
913
|
-
* @param payload.nonce - The new nonce value to be assigned
|
|
914
|
-
* @param payload.type - The tranasction type (hardfork) to be assigned
|
|
888
|
+
* @param transactionId - The ID of the transaction to update.
|
|
889
|
+
* @param options - The custodial transaction options to update.
|
|
890
|
+
* @param options.errorMessage - The error message to be assigned in case transaction status update to failed.
|
|
891
|
+
* @param options.hash - The new hash value to be assigned.
|
|
892
|
+
* @param options.status - The new status value to be assigned.
|
|
915
893
|
*/
|
|
916
|
-
updateCustodialTransaction(
|
|
894
|
+
updateCustodialTransaction(transactionId, { errorMessage, hash, status, }) {
|
|
917
895
|
const transactionMeta = this.getTransaction(transactionId);
|
|
918
896
|
if (!transactionMeta) {
|
|
919
897
|
throw new Error(`Cannot update custodial transaction as no transaction metadata found`);
|
|
920
898
|
}
|
|
899
|
+
if (!transactionMeta.custodyId) {
|
|
900
|
+
throw new Error('Transaction must be a custodian transaction');
|
|
901
|
+
}
|
|
921
902
|
if (status &&
|
|
922
903
|
![
|
|
923
904
|
types_1.TransactionStatus.submitted,
|
|
@@ -933,30 +914,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
933
914
|
if (updatedTransactionMeta.status === types_1.TransactionStatus.failed) {
|
|
934
915
|
updatedTransactionMeta.error = (0, utils_2.normalizeTxError)(new Error(errorMessage));
|
|
935
916
|
}
|
|
936
|
-
if (gasLimit) {
|
|
937
|
-
updatedTransactionMeta.txParams.gasLimit = gasLimit;
|
|
938
|
-
}
|
|
939
|
-
if (gasPrice) {
|
|
940
|
-
updatedTransactionMeta.txParams.gasPrice = gasPrice;
|
|
941
|
-
}
|
|
942
|
-
if (maxFeePerGas) {
|
|
943
|
-
updatedTransactionMeta.txParams.maxFeePerGas = maxFeePerGas;
|
|
944
|
-
}
|
|
945
|
-
if (maxPriorityFeePerGas) {
|
|
946
|
-
updatedTransactionMeta.txParams.maxPriorityFeePerGas =
|
|
947
|
-
maxPriorityFeePerGas;
|
|
948
|
-
}
|
|
949
|
-
if (type) {
|
|
950
|
-
updatedTransactionMeta.txParams.type = type;
|
|
951
|
-
// If the type was reverted to legacy, we need to remove the maxFeePerGas and maxPriorityFeePerGas values
|
|
952
|
-
if (type === types_1.TransactionEnvelopeType.legacy) {
|
|
953
|
-
updatedTransactionMeta.txParams.maxFeePerGas = undefined;
|
|
954
|
-
updatedTransactionMeta.txParams.maxPriorityFeePerGas = undefined;
|
|
955
|
-
}
|
|
956
|
-
}
|
|
957
|
-
if (nonce) {
|
|
958
|
-
updatedTransactionMeta.txParams.nonce = nonce;
|
|
959
|
-
}
|
|
960
917
|
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateCustodialTransaction - Custodial transaction updated`);
|
|
961
918
|
if ([types_1.TransactionStatus.submitted, types_1.TransactionStatus.failed].includes(status)) {
|
|
962
919
|
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
@@ -1345,7 +1302,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1345
1302
|
});
|
|
1346
1303
|
this.onTransactionStatusChange(transactionMeta);
|
|
1347
1304
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => this.signTransaction(transactionMeta));
|
|
1348
|
-
if (!
|
|
1305
|
+
if (!this.beforePublish(transactionMeta)) {
|
|
1349
1306
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1350
1307
|
this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1351
1308
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
@@ -1819,7 +1776,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1819
1776
|
}
|
|
1820
1777
|
}
|
|
1821
1778
|
exports.TransactionController = TransactionController;
|
|
1822
|
-
_TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(),
|
|
1779
|
+
_TransactionController_internalEvents = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_pendingTransactionOptions = 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, }) {
|
|
1823
1780
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1824
1781
|
if (this.getTransactionWithActionId(actionId)) {
|
|
1825
1782
|
return;
|
|
@@ -1928,6 +1885,7 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
1928
1885
|
}),
|
|
1929
1886
|
hooks: {
|
|
1930
1887
|
beforeCheckPendingTransaction: this.beforeCheckPendingTransaction.bind(this),
|
|
1888
|
+
beforePublish: this.beforePublish.bind(this),
|
|
1931
1889
|
},
|
|
1932
1890
|
});
|
|
1933
1891
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addPendingTransactionTrackerListeners).call(this, pendingTransactionTracker);
|