@metamask-previews/transaction-controller 60.9.0-preview-1f64ffa6 → 60.9.0-preview-63ea58af
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 +0 -5
- package/dist/TransactionController.cjs +63 -107
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +4 -35
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +4 -35
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +62 -106
- package/dist/TransactionController.mjs.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -42,11 +42,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
42
42
|
|
|
43
43
|
- Add `txMeta` property to `GetSimulationConfig` callback ([#6833](https://github.com/MetaMask/core/pull/6833))
|
|
44
44
|
|
|
45
|
-
### Changed
|
|
46
|
-
|
|
47
|
-
- **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6386](https://github.com/MetaMask/core/pull/6386))
|
|
48
|
-
- Previously, `TransactionController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`.
|
|
49
|
-
|
|
50
45
|
## [60.6.1]
|
|
51
46
|
|
|
52
47
|
### Changed
|
|
@@ -16,7 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
|
|
19
|
-
const
|
|
19
|
+
const base_controller_1 = require("@metamask/base-controller");
|
|
20
20
|
const controller_utils_1 = require("@metamask/controller-utils");
|
|
21
21
|
const eth_query_1 = __importDefault(require("@metamask/eth-query"));
|
|
22
22
|
const network_controller_1 = require("@metamask/network-controller");
|
|
@@ -70,31 +70,31 @@ const metadata = {
|
|
|
70
70
|
transactions: {
|
|
71
71
|
includeInStateLogs: true,
|
|
72
72
|
persist: true,
|
|
73
|
-
|
|
73
|
+
anonymous: false,
|
|
74
74
|
usedInUi: true,
|
|
75
75
|
},
|
|
76
76
|
transactionBatches: {
|
|
77
77
|
includeInStateLogs: true,
|
|
78
78
|
persist: true,
|
|
79
|
-
|
|
79
|
+
anonymous: false,
|
|
80
80
|
usedInUi: true,
|
|
81
81
|
},
|
|
82
82
|
methodData: {
|
|
83
83
|
includeInStateLogs: true,
|
|
84
84
|
persist: true,
|
|
85
|
-
|
|
85
|
+
anonymous: false,
|
|
86
86
|
usedInUi: true,
|
|
87
87
|
},
|
|
88
88
|
lastFetchedBlockNumbers: {
|
|
89
89
|
includeInStateLogs: true,
|
|
90
90
|
persist: true,
|
|
91
|
-
|
|
91
|
+
anonymous: false,
|
|
92
92
|
usedInUi: false,
|
|
93
93
|
},
|
|
94
94
|
submitHistory: {
|
|
95
95
|
includeInStateLogs: true,
|
|
96
96
|
persist: true,
|
|
97
|
-
|
|
97
|
+
anonymous: false,
|
|
98
98
|
usedInUi: false,
|
|
99
99
|
},
|
|
100
100
|
};
|
|
@@ -137,7 +137,7 @@ function getDefaultTransactionControllerState() {
|
|
|
137
137
|
/**
|
|
138
138
|
* Controller responsible for submitting and managing transactions.
|
|
139
139
|
*/
|
|
140
|
-
class TransactionController extends
|
|
140
|
+
class TransactionController extends base_controller_1.BaseController {
|
|
141
141
|
/**
|
|
142
142
|
* Constructs a TransactionController.
|
|
143
143
|
*
|
|
@@ -199,7 +199,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
199
199
|
_TransactionController_checkForPendingTransactionAndStartPolling.set(this, () => {
|
|
200
200
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").checkForPendingTransactionAndStartPolling();
|
|
201
201
|
});
|
|
202
|
-
this.
|
|
202
|
+
this.messagingSystem = messenger;
|
|
203
203
|
__classPrivateFieldSet(this, _TransactionController_afterAdd, hooks?.afterAdd ?? (() => Promise.resolve({})), "f");
|
|
204
204
|
__classPrivateFieldSet(this, _TransactionController_afterSign, hooks?.afterSign ?? (() => true), "f");
|
|
205
205
|
__classPrivateFieldSet(this, _TransactionController_afterSimulate, hooks?.afterSimulate ?? (() => Promise.resolve({})), "f");
|
|
@@ -235,19 +235,19 @@ class TransactionController extends next_1.BaseController {
|
|
|
235
235
|
__classPrivateFieldSet(this, _TransactionController_trace, trace ?? ((_request, fn) => fn?.()), "f");
|
|
236
236
|
__classPrivateFieldSet(this, _TransactionController_transactionHistoryLimit, transactionHistoryLimit, "f");
|
|
237
237
|
const findNetworkClientIdByChainId = (chainId) => {
|
|
238
|
-
return this.
|
|
238
|
+
return this.messagingSystem.call(`NetworkController:findNetworkClientIdByChainId`, chainId);
|
|
239
239
|
};
|
|
240
240
|
__classPrivateFieldSet(this, _TransactionController_multichainTrackingHelper, new MultichainTrackingHelper_1.MultichainTrackingHelper({
|
|
241
241
|
findNetworkClientIdByChainId,
|
|
242
242
|
getNetworkClientById: ((networkClientId) => {
|
|
243
|
-
return this.
|
|
243
|
+
return this.messagingSystem.call(`NetworkController:getNetworkClientById`, networkClientId);
|
|
244
244
|
}),
|
|
245
245
|
getNetworkClientRegistry,
|
|
246
246
|
removePendingTransactionTrackerListeners: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removePendingTransactionTrackerListeners).bind(this),
|
|
247
247
|
createNonceTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createNonceTracker).bind(this),
|
|
248
248
|
createPendingTransactionTracker: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).bind(this),
|
|
249
249
|
onNetworkStateChange: (listener) => {
|
|
250
|
-
this.
|
|
250
|
+
this.messagingSystem.subscribe('NetworkController:stateChange', listener);
|
|
251
251
|
},
|
|
252
252
|
}), "f");
|
|
253
253
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").initialize();
|
|
@@ -261,9 +261,9 @@ class TransactionController extends next_1.BaseController {
|
|
|
261
261
|
getTransactions: () => this.state.transactions,
|
|
262
262
|
getTransactionBatches: () => this.state.transactionBatches,
|
|
263
263
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
264
|
-
messenger: this.
|
|
264
|
+
messenger: this.messagingSystem,
|
|
265
265
|
onStateChange: (listener) => {
|
|
266
|
-
this.
|
|
266
|
+
this.messagingSystem.subscribe('TransactionController:stateChange', listener);
|
|
267
267
|
},
|
|
268
268
|
});
|
|
269
269
|
gasFeePoller.hub.on('transaction-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionUpdate).bind(this));
|
|
@@ -283,7 +283,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
283
283
|
getLocalTransactions: () => this.state.transactions,
|
|
284
284
|
includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
|
|
285
285
|
isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
|
|
286
|
-
messenger: this.
|
|
286
|
+
messenger: this.messagingSystem,
|
|
287
287
|
remoteTransactionSource: new AccountsApiRemoteTransactionSource_1.AccountsApiRemoteTransactionSource(),
|
|
288
288
|
trimTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).bind(this),
|
|
289
289
|
updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
|
|
@@ -291,11 +291,11 @@ class TransactionController extends next_1.BaseController {
|
|
|
291
291
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, __classPrivateFieldGet(this, _TransactionController_incomingTransactionHelper, "f"));
|
|
292
292
|
// when transactionsController state changes
|
|
293
293
|
// check for pending transactions and start polling if there are any
|
|
294
|
-
this.
|
|
294
|
+
this.messagingSystem.subscribe('TransactionController:stateChange', __classPrivateFieldGet(this, _TransactionController_checkForPendingTransactionAndStartPolling, "f"));
|
|
295
295
|
new ResimulateHelper_1.ResimulateHelper({
|
|
296
296
|
simulateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).bind(this),
|
|
297
297
|
onTransactionsUpdate: (listener) => {
|
|
298
|
-
this.
|
|
298
|
+
this.messagingSystem.subscribe('TransactionController:stateChange', listener, (controllerState) => controllerState.transactions);
|
|
299
299
|
},
|
|
300
300
|
getTransactions: () => this.state.transactions,
|
|
301
301
|
});
|
|
@@ -326,7 +326,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
326
326
|
* @returns Result object containing the generated batch ID.
|
|
327
327
|
*/
|
|
328
328
|
async addTransactionBatch(request) {
|
|
329
|
-
const { blockTracker } = this.
|
|
329
|
+
const { blockTracker } = this.messagingSystem.call(`NetworkController:getNetworkClientById`, request.networkClientId);
|
|
330
330
|
return await (0, batch_1.addTransactionBatch)({
|
|
331
331
|
addTransaction: this.addTransaction.bind(this),
|
|
332
332
|
estimateGas: this.estimateGas.bind(this),
|
|
@@ -343,7 +343,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
343
343
|
}),
|
|
344
344
|
getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
|
|
345
345
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f"),
|
|
346
|
-
messenger: this.
|
|
346
|
+
messenger: this.messagingSystem,
|
|
347
347
|
publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
|
|
348
348
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
349
349
|
publishTransaction: (ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta),
|
|
@@ -363,7 +363,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
363
363
|
return (0, batch_1.isAtomicBatchSupported)({
|
|
364
364
|
...request,
|
|
365
365
|
getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
|
|
366
|
-
messenger: this.
|
|
366
|
+
messenger: this.messagingSystem,
|
|
367
367
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
368
368
|
});
|
|
369
369
|
}
|
|
@@ -472,7 +472,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
472
472
|
addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
|
|
473
473
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
474
474
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
475
|
-
messenger: this.
|
|
475
|
+
messenger: this.messagingSystem,
|
|
476
476
|
});
|
|
477
477
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, addedTransactionMeta);
|
|
478
478
|
if (requireApproval !== false) {
|
|
@@ -497,7 +497,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
497
497
|
else {
|
|
498
498
|
(0, logger_1.projectLogger)('Skipping simulation & first interaction update as approval not required');
|
|
499
499
|
}
|
|
500
|
-
this.
|
|
500
|
+
this.messagingSystem.publish(`${controllerName}:unapprovedTransactionAdded`, addedTransactionMeta);
|
|
501
501
|
}
|
|
502
502
|
return {
|
|
503
503
|
result: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_processApproval).call(this, addedTransactionMeta, {
|
|
@@ -550,7 +550,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
550
550
|
txParams.value = '0x0';
|
|
551
551
|
},
|
|
552
552
|
afterSubmit: (newTransactionMeta) => {
|
|
553
|
-
this.
|
|
553
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
554
554
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${newTransactionMeta.id}:finished`, newTransactionMeta);
|
|
555
555
|
},
|
|
556
556
|
});
|
|
@@ -574,7 +574,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
574
574
|
transactionId,
|
|
575
575
|
transactionType: types_1.TransactionType.retry,
|
|
576
576
|
afterSubmit: (newTransactionMeta) => {
|
|
577
|
-
this.
|
|
577
|
+
this.messagingSystem.publish(`${controllerName}:speedupTransactionAdded`, newTransactionMeta);
|
|
578
578
|
},
|
|
579
579
|
});
|
|
580
580
|
}
|
|
@@ -597,7 +597,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
597
597
|
ignoreDelegationSignatures,
|
|
598
598
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
599
599
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
600
|
-
messenger: this.
|
|
600
|
+
messenger: this.messagingSystem,
|
|
601
601
|
txParams: transaction,
|
|
602
602
|
});
|
|
603
603
|
return { gas: estimatedGas, simulationFails };
|
|
@@ -619,7 +619,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
619
619
|
ethQuery,
|
|
620
620
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
621
621
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
622
|
-
messenger: this.
|
|
622
|
+
messenger: this.messagingSystem,
|
|
623
623
|
txParams: transaction,
|
|
624
624
|
});
|
|
625
625
|
const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
|
|
@@ -721,7 +721,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
721
721
|
(0, logger_1.projectLogger)('Error while updating post balance', error);
|
|
722
722
|
throw error;
|
|
723
723
|
});
|
|
724
|
-
this.
|
|
724
|
+
this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, updatedTransactionMeta);
|
|
725
725
|
}
|
|
726
726
|
catch (error) {
|
|
727
727
|
console.error('Failed to confirm external transaction', error);
|
|
@@ -918,7 +918,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
918
918
|
}
|
|
919
919
|
await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
|
|
920
920
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
921
|
-
messenger: this.
|
|
921
|
+
messenger: this.messagingSystem,
|
|
922
922
|
provider,
|
|
923
923
|
transactionMeta: updatedTransaction,
|
|
924
924
|
});
|
|
@@ -1046,7 +1046,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1046
1046
|
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateCustodialTransaction - Custodial transaction updated`);
|
|
1047
1047
|
if (status &&
|
|
1048
1048
|
[types_1.TransactionStatus.submitted, types_1.TransactionStatus.failed].includes(status)) {
|
|
1049
|
-
this.
|
|
1049
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
1050
1050
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${updatedTransactionMeta.id}:finished`, updatedTransactionMeta);
|
|
1051
1051
|
}
|
|
1052
1052
|
return updatedTransactionMeta;
|
|
@@ -1143,7 +1143,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1143
1143
|
networkClientId,
|
|
1144
1144
|
};
|
|
1145
1145
|
// Guaranteed as the default gas fee flow matches all transactions.
|
|
1146
|
-
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.
|
|
1146
|
+
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messagingSystem);
|
|
1147
1147
|
const ethQuery = new eth_query_1.default(provider);
|
|
1148
1148
|
const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
|
|
1149
1149
|
networkClientId,
|
|
@@ -1151,7 +1151,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1151
1151
|
return gasFeeFlow.getGasFees({
|
|
1152
1152
|
ethQuery,
|
|
1153
1153
|
gasFeeControllerData,
|
|
1154
|
-
messenger: this.
|
|
1154
|
+
messenger: this.messagingSystem,
|
|
1155
1155
|
transactionMeta,
|
|
1156
1156
|
});
|
|
1157
1157
|
}
|
|
@@ -1171,7 +1171,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1171
1171
|
});
|
|
1172
1172
|
return await (0, layer1_gas_fee_flow_1.getTransactionLayer1GasFee)({
|
|
1173
1173
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1174
|
-
messenger: this.
|
|
1174
|
+
messenger: this.messagingSystem,
|
|
1175
1175
|
provider,
|
|
1176
1176
|
transactionMeta: {
|
|
1177
1177
|
txParams: transactionParams,
|
|
@@ -1303,50 +1303,6 @@ class TransactionController extends next_1.BaseController {
|
|
|
1303
1303
|
];
|
|
1304
1304
|
});
|
|
1305
1305
|
}
|
|
1306
|
-
/**
|
|
1307
|
-
* Emulate a new transaction.
|
|
1308
|
-
*
|
|
1309
|
-
* @param transactionId - The transaction ID.
|
|
1310
|
-
*/
|
|
1311
|
-
emulateNewTransaction(transactionId) {
|
|
1312
|
-
const transactionMeta = this.state.transactions.find((tx) => tx.id === transactionId);
|
|
1313
|
-
if (!transactionMeta) {
|
|
1314
|
-
return;
|
|
1315
|
-
}
|
|
1316
|
-
if (transactionMeta.type === types_1.TransactionType.swap) {
|
|
1317
|
-
this.messenger.publish('TransactionController:transactionNewSwap', {
|
|
1318
|
-
transactionMeta,
|
|
1319
|
-
});
|
|
1320
|
-
}
|
|
1321
|
-
else if (transactionMeta.type === types_1.TransactionType.swapApproval) {
|
|
1322
|
-
this.messenger.publish('TransactionController:transactionNewSwapApproval', { transactionMeta });
|
|
1323
|
-
}
|
|
1324
|
-
}
|
|
1325
|
-
/**
|
|
1326
|
-
* Emmulate a transaction update.
|
|
1327
|
-
*
|
|
1328
|
-
* @param transactionMeta - Transaction metadata.
|
|
1329
|
-
*/
|
|
1330
|
-
emulateTransactionUpdate(transactionMeta) {
|
|
1331
|
-
const updatedTransactionMeta = {
|
|
1332
|
-
...transactionMeta,
|
|
1333
|
-
txParams: {
|
|
1334
|
-
...transactionMeta.txParams,
|
|
1335
|
-
from: this.messenger.call('AccountsController:getSelectedAccount')
|
|
1336
|
-
.address,
|
|
1337
|
-
},
|
|
1338
|
-
};
|
|
1339
|
-
const transactionExists = this.state.transactions.some((tx) => tx.id === updatedTransactionMeta.id);
|
|
1340
|
-
if (!transactionExists) {
|
|
1341
|
-
this.update((state) => {
|
|
1342
|
-
state.transactions.push(updatedTransactionMeta);
|
|
1343
|
-
});
|
|
1344
|
-
}
|
|
1345
|
-
this.updateTransaction(updatedTransactionMeta, 'Generated from user operation');
|
|
1346
|
-
this.messenger.publish('TransactionController:transactionStatusUpdated', {
|
|
1347
|
-
transactionMeta: updatedTransactionMeta,
|
|
1348
|
-
});
|
|
1349
|
-
}
|
|
1350
1306
|
}
|
|
1351
1307
|
exports.TransactionController = TransactionController;
|
|
1352
1308
|
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = 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, }) {
|
|
@@ -1405,11 +1361,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1405
1361
|
newTransactionMeta.hash = hash;
|
|
1406
1362
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, newTransactionMeta);
|
|
1407
1363
|
// speedUpTransaction has no approval request, so we assume the user has already approved the transaction
|
|
1408
|
-
this.
|
|
1364
|
+
this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
|
|
1409
1365
|
transactionMeta: newTransactionMeta,
|
|
1410
1366
|
actionId,
|
|
1411
1367
|
});
|
|
1412
|
-
this.
|
|
1368
|
+
this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
|
|
1413
1369
|
transactionMeta: newTransactionMeta,
|
|
1414
1370
|
actionId,
|
|
1415
1371
|
});
|
|
@@ -1456,12 +1412,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1456
1412
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
1457
1413
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
1458
1414
|
getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
|
|
1459
|
-
messenger: this.
|
|
1415
|
+
messenger: this.messagingSystem,
|
|
1460
1416
|
txMeta: transactionMeta,
|
|
1461
1417
|
}));
|
|
1462
1418
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Layer 1 Gas Fees', parentContext: traceContext }, async () => await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
|
|
1463
1419
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1464
|
-
messenger: this.
|
|
1420
|
+
messenger: this.messagingSystem,
|
|
1465
1421
|
provider,
|
|
1466
1422
|
transactionMeta,
|
|
1467
1423
|
}));
|
|
@@ -1506,7 +1462,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1506
1462
|
resultCallbacks.success();
|
|
1507
1463
|
}
|
|
1508
1464
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1509
|
-
this.
|
|
1465
|
+
this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
|
|
1510
1466
|
transactionMeta: updatedTransactionMeta,
|
|
1511
1467
|
actionId,
|
|
1512
1468
|
});
|
|
@@ -1594,7 +1550,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1594
1550
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1595
1551
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1596
1552
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1597
|
-
this.
|
|
1553
|
+
this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1598
1554
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
1599
1555
|
}
|
|
1600
1556
|
if (!rawTx && !transactionMeta.isExternalSign) {
|
|
@@ -1640,10 +1596,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1640
1596
|
(0, logger_1.projectLogger)('Updated pre-transaction balance', preTxBalance);
|
|
1641
1597
|
}
|
|
1642
1598
|
});
|
|
1643
|
-
this.
|
|
1599
|
+
this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
|
|
1644
1600
|
transactionMeta,
|
|
1645
1601
|
});
|
|
1646
|
-
this.
|
|
1602
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, transactionMeta);
|
|
1647
1603
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, transactionMeta);
|
|
1648
1604
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1649
1605
|
return ApprovalState.Approved;
|
|
@@ -1677,9 +1633,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1677
1633
|
status: types_1.TransactionStatus.rejected,
|
|
1678
1634
|
error: (0, utils_2.normalizeTxError)(error ?? rpc_errors_1.providerErrors.userRejectedRequest()),
|
|
1679
1635
|
};
|
|
1680
|
-
this.
|
|
1636
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
1681
1637
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, updatedTransactionMeta);
|
|
1682
|
-
this.
|
|
1638
|
+
this.messagingSystem.publish(`${controllerName}:transactionRejected`, {
|
|
1683
1639
|
transactionMeta: updatedTransactionMeta,
|
|
1684
1640
|
actionId,
|
|
1685
1641
|
});
|
|
@@ -1726,7 +1682,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1726
1682
|
id,
|
|
1727
1683
|
parentContext: traceContext,
|
|
1728
1684
|
});
|
|
1729
|
-
return (await this.
|
|
1685
|
+
return (await this.messagingSystem.call('ApprovalController:addRequest', {
|
|
1730
1686
|
id,
|
|
1731
1687
|
origin: origin || controller_utils_1.ORIGIN_METAMASK,
|
|
1732
1688
|
type,
|
|
@@ -1797,7 +1753,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1797
1753
|
]);
|
|
1798
1754
|
(0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
|
|
1799
1755
|
});
|
|
1800
|
-
this.
|
|
1756
|
+
this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
|
|
1801
1757
|
}, _TransactionController_generateDappSuggestedGasFees = function _TransactionController_generateDappSuggestedGasFees(txParams, origin) {
|
|
1802
1758
|
if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
|
|
1803
1759
|
return undefined;
|
|
@@ -1879,7 +1835,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1879
1835
|
...transactionMeta,
|
|
1880
1836
|
status: types_1.TransactionStatus.dropped,
|
|
1881
1837
|
};
|
|
1882
|
-
this.
|
|
1838
|
+
this.messagingSystem.publish(`${controllerName}:transactionDropped`, {
|
|
1883
1839
|
transactionMeta: updatedTransactionMeta,
|
|
1884
1840
|
});
|
|
1885
1841
|
this.updateTransaction(updatedTransactionMeta, 'TransactionController#setTransactionStatusDropped - Transaction dropped');
|
|
@@ -1915,7 +1871,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1915
1871
|
const { authorizationList, from } = txParams;
|
|
1916
1872
|
const signedAuthorizationList = await (0, eip7702_1.signAuthorizationList)({
|
|
1917
1873
|
authorizationList,
|
|
1918
|
-
messenger: this.
|
|
1874
|
+
messenger: this.messagingSystem,
|
|
1919
1875
|
transactionMeta,
|
|
1920
1876
|
});
|
|
1921
1877
|
if (signedAuthorizationList) {
|
|
@@ -1963,7 +1919,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1963
1919
|
this.updateTransaction(transactionMetaWithRawTx, 'TransactionController#approveTransaction - RawTransaction added');
|
|
1964
1920
|
return rawTx;
|
|
1965
1921
|
}, _TransactionController_onTransactionStatusChange = function _TransactionController_onTransactionStatusChange(transactionMeta) {
|
|
1966
|
-
this.
|
|
1922
|
+
this.messagingSystem.publish(`${controllerName}:transactionStatusUpdated`, {
|
|
1967
1923
|
transactionMeta,
|
|
1968
1924
|
});
|
|
1969
1925
|
}, _TransactionController_getNonceTrackerTransactions = function _TransactionController_getNonceTrackerTransactions(statuses, address, chainId) {
|
|
@@ -1971,7 +1927,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1971
1927
|
}, _TransactionController_onConfirmedTransaction = function _TransactionController_onConfirmedTransaction(transactionMeta) {
|
|
1972
1928
|
(0, logger_1.projectLogger)('Processing confirmed transaction', transactionMeta.id);
|
|
1973
1929
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_markNonceDuplicatesDropped).call(this, transactionMeta.id);
|
|
1974
|
-
this.
|
|
1930
|
+
this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, transactionMeta);
|
|
1975
1931
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1976
1932
|
// Intentional given potential duration of process.
|
|
1977
1933
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updatePostBalance).call(this, transactionMeta).catch((error) => {
|
|
@@ -1990,7 +1946,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1990
1946
|
getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
|
|
1991
1947
|
updateTransaction: this.updateTransaction.bind(this),
|
|
1992
1948
|
});
|
|
1993
|
-
this.
|
|
1949
|
+
this.messagingSystem.publish(`${controllerName}:postTransactionBalanceUpdated`, {
|
|
1994
1950
|
transactionMeta: updatedTransactionMeta,
|
|
1995
1951
|
approvalTransactionMeta,
|
|
1996
1952
|
});
|
|
@@ -2021,7 +1977,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2021
1977
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2022
1978
|
chainId,
|
|
2023
1979
|
}),
|
|
2024
|
-
messenger: this.
|
|
1980
|
+
messenger: this.messagingSystem,
|
|
2025
1981
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2026
1982
|
skipSubmitHistory: true,
|
|
2027
1983
|
}),
|
|
@@ -2151,7 +2107,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2151
2107
|
chainId,
|
|
2152
2108
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2153
2109
|
isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
|
|
2154
|
-
messenger: this.
|
|
2110
|
+
messenger: this.messagingSystem,
|
|
2155
2111
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
2156
2112
|
transactionMeta,
|
|
2157
2113
|
});
|
|
@@ -2203,9 +2159,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2203
2159
|
state.transactionBatches[index] = updated ?? batch;
|
|
2204
2160
|
});
|
|
2205
2161
|
}, _TransactionController_getSelectedAccount = function _TransactionController_getSelectedAccount() {
|
|
2206
|
-
return this.
|
|
2162
|
+
return this.messagingSystem.call('AccountsController:getSelectedAccount');
|
|
2207
2163
|
}, _TransactionController_getInternalAccounts = function _TransactionController_getInternalAccounts() {
|
|
2208
|
-
const state = this.
|
|
2164
|
+
const state = this.messagingSystem.call('AccountsController:getState');
|
|
2209
2165
|
return Object.values(state.internalAccounts?.accounts ?? {})
|
|
2210
2166
|
.filter((account) => account.type === 'eip155:eoa')
|
|
2211
2167
|
.map((account) => account.address);
|
|
@@ -2245,18 +2201,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2245
2201
|
isCustomNetwork,
|
|
2246
2202
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2247
2203
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2248
|
-
messenger: this.
|
|
2204
|
+
messenger: this.messagingSystem,
|
|
2249
2205
|
txMeta: transactionMeta,
|
|
2250
2206
|
});
|
|
2251
2207
|
}, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
|
|
2252
|
-
this.
|
|
2253
|
-
this.
|
|
2254
|
-
this.
|
|
2255
|
-
this.
|
|
2256
|
-
this.
|
|
2257
|
-
this.
|
|
2258
|
-
this.
|
|
2259
|
-
this.
|
|
2208
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:addTransaction`, this.addTransaction.bind(this));
|
|
2209
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:addTransactionBatch`, this.addTransactionBatch.bind(this));
|
|
2210
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
|
|
2211
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2212
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2213
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
2214
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2215
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
|
|
2260
2216
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2261
2217
|
this.update((state) => {
|
|
2262
2218
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|
|
@@ -2296,13 +2252,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2296
2252
|
error: (0, utils_2.normalizeTxError)(error),
|
|
2297
2253
|
};
|
|
2298
2254
|
}
|
|
2299
|
-
this.
|
|
2255
|
+
this.messagingSystem.publish(`${controllerName}:transactionFailed`, {
|
|
2300
2256
|
actionId,
|
|
2301
2257
|
error: error.message,
|
|
2302
2258
|
transactionMeta: newTransactionMeta,
|
|
2303
2259
|
});
|
|
2304
2260
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
|
|
2305
|
-
this.
|
|
2261
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
2306
2262
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
|
|
2307
2263
|
}, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
|
|
2308
2264
|
(0, logger_1.projectLogger)('Calling afterSimulate hook', transactionMeta);
|