@metamask-previews/transaction-controller 60.10.0-preview-0458fe94 → 60.10.0-preview-b6fecd10
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 +69 -71
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +3 -4
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +3 -4
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +68 -70
- package/dist/TransactionController.mjs.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,11 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
### Changed
|
|
11
|
-
|
|
12
|
-
- **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6386](https://github.com/MetaMask/core/pull/6386))
|
|
13
|
-
- Previously, `TransactionController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`.
|
|
14
|
-
|
|
15
10
|
## [60.10.0]
|
|
16
11
|
|
|
17
12
|
### Added
|
|
@@ -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,
|
|
@@ -1314,12 +1314,12 @@ class TransactionController extends next_1.BaseController {
|
|
|
1314
1314
|
return;
|
|
1315
1315
|
}
|
|
1316
1316
|
if (transactionMeta.type === types_1.TransactionType.swap) {
|
|
1317
|
-
this.
|
|
1317
|
+
this.messagingSystem.publish('TransactionController:transactionNewSwap', {
|
|
1318
1318
|
transactionMeta,
|
|
1319
1319
|
});
|
|
1320
1320
|
}
|
|
1321
1321
|
else if (transactionMeta.type === types_1.TransactionType.swapApproval) {
|
|
1322
|
-
this.
|
|
1322
|
+
this.messagingSystem.publish('TransactionController:transactionNewSwapApproval', { transactionMeta });
|
|
1323
1323
|
}
|
|
1324
1324
|
}
|
|
1325
1325
|
/**
|
|
@@ -1332,7 +1332,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1332
1332
|
...transactionMeta,
|
|
1333
1333
|
txParams: {
|
|
1334
1334
|
...transactionMeta.txParams,
|
|
1335
|
-
from: this.
|
|
1335
|
+
from: this.messagingSystem.call('AccountsController:getSelectedAccount')
|
|
1336
1336
|
.address,
|
|
1337
1337
|
},
|
|
1338
1338
|
};
|
|
@@ -1343,9 +1343,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1343
1343
|
});
|
|
1344
1344
|
}
|
|
1345
1345
|
this.updateTransaction(updatedTransactionMeta, 'Generated from user operation');
|
|
1346
|
-
this.
|
|
1347
|
-
transactionMeta: updatedTransactionMeta,
|
|
1348
|
-
});
|
|
1346
|
+
this.messagingSystem.publish('TransactionController:transactionStatusUpdated', { transactionMeta: updatedTransactionMeta });
|
|
1349
1347
|
}
|
|
1350
1348
|
}
|
|
1351
1349
|
exports.TransactionController = TransactionController;
|
|
@@ -1405,11 +1403,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1405
1403
|
newTransactionMeta.hash = hash;
|
|
1406
1404
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, newTransactionMeta);
|
|
1407
1405
|
// speedUpTransaction has no approval request, so we assume the user has already approved the transaction
|
|
1408
|
-
this.
|
|
1406
|
+
this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
|
|
1409
1407
|
transactionMeta: newTransactionMeta,
|
|
1410
1408
|
actionId,
|
|
1411
1409
|
});
|
|
1412
|
-
this.
|
|
1410
|
+
this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
|
|
1413
1411
|
transactionMeta: newTransactionMeta,
|
|
1414
1412
|
actionId,
|
|
1415
1413
|
});
|
|
@@ -1456,12 +1454,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1456
1454
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
1457
1455
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
1458
1456
|
getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
|
|
1459
|
-
messenger: this.
|
|
1457
|
+
messenger: this.messagingSystem,
|
|
1460
1458
|
txMeta: transactionMeta,
|
|
1461
1459
|
}));
|
|
1462
1460
|
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
1461
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1464
|
-
messenger: this.
|
|
1462
|
+
messenger: this.messagingSystem,
|
|
1465
1463
|
provider,
|
|
1466
1464
|
transactionMeta,
|
|
1467
1465
|
}));
|
|
@@ -1506,7 +1504,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1506
1504
|
resultCallbacks.success();
|
|
1507
1505
|
}
|
|
1508
1506
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1509
|
-
this.
|
|
1507
|
+
this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
|
|
1510
1508
|
transactionMeta: updatedTransactionMeta,
|
|
1511
1509
|
actionId,
|
|
1512
1510
|
});
|
|
@@ -1594,7 +1592,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1594
1592
|
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
1593
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1596
1594
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1597
|
-
this.
|
|
1595
|
+
this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1598
1596
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
1599
1597
|
}
|
|
1600
1598
|
if (!rawTx && !transactionMeta.isExternalSign) {
|
|
@@ -1640,10 +1638,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1640
1638
|
(0, logger_1.projectLogger)('Updated pre-transaction balance', preTxBalance);
|
|
1641
1639
|
}
|
|
1642
1640
|
});
|
|
1643
|
-
this.
|
|
1641
|
+
this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
|
|
1644
1642
|
transactionMeta,
|
|
1645
1643
|
});
|
|
1646
|
-
this.
|
|
1644
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, transactionMeta);
|
|
1647
1645
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, transactionMeta);
|
|
1648
1646
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1649
1647
|
return ApprovalState.Approved;
|
|
@@ -1677,9 +1675,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1677
1675
|
status: types_1.TransactionStatus.rejected,
|
|
1678
1676
|
error: (0, utils_2.normalizeTxError)(error ?? rpc_errors_1.providerErrors.userRejectedRequest()),
|
|
1679
1677
|
};
|
|
1680
|
-
this.
|
|
1678
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
1681
1679
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, updatedTransactionMeta);
|
|
1682
|
-
this.
|
|
1680
|
+
this.messagingSystem.publish(`${controllerName}:transactionRejected`, {
|
|
1683
1681
|
transactionMeta: updatedTransactionMeta,
|
|
1684
1682
|
actionId,
|
|
1685
1683
|
});
|
|
@@ -1726,7 +1724,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1726
1724
|
id,
|
|
1727
1725
|
parentContext: traceContext,
|
|
1728
1726
|
});
|
|
1729
|
-
return (await this.
|
|
1727
|
+
return (await this.messagingSystem.call('ApprovalController:addRequest', {
|
|
1730
1728
|
id,
|
|
1731
1729
|
origin: origin || controller_utils_1.ORIGIN_METAMASK,
|
|
1732
1730
|
type,
|
|
@@ -1797,7 +1795,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1797
1795
|
]);
|
|
1798
1796
|
(0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
|
|
1799
1797
|
});
|
|
1800
|
-
this.
|
|
1798
|
+
this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
|
|
1801
1799
|
}, _TransactionController_generateDappSuggestedGasFees = function _TransactionController_generateDappSuggestedGasFees(txParams, origin) {
|
|
1802
1800
|
if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
|
|
1803
1801
|
return undefined;
|
|
@@ -1879,7 +1877,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1879
1877
|
...transactionMeta,
|
|
1880
1878
|
status: types_1.TransactionStatus.dropped,
|
|
1881
1879
|
};
|
|
1882
|
-
this.
|
|
1880
|
+
this.messagingSystem.publish(`${controllerName}:transactionDropped`, {
|
|
1883
1881
|
transactionMeta: updatedTransactionMeta,
|
|
1884
1882
|
});
|
|
1885
1883
|
this.updateTransaction(updatedTransactionMeta, 'TransactionController#setTransactionStatusDropped - Transaction dropped');
|
|
@@ -1915,7 +1913,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1915
1913
|
const { authorizationList, from } = txParams;
|
|
1916
1914
|
const signedAuthorizationList = await (0, eip7702_1.signAuthorizationList)({
|
|
1917
1915
|
authorizationList,
|
|
1918
|
-
messenger: this.
|
|
1916
|
+
messenger: this.messagingSystem,
|
|
1919
1917
|
transactionMeta,
|
|
1920
1918
|
});
|
|
1921
1919
|
if (signedAuthorizationList) {
|
|
@@ -1963,7 +1961,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1963
1961
|
this.updateTransaction(transactionMetaWithRawTx, 'TransactionController#approveTransaction - RawTransaction added');
|
|
1964
1962
|
return rawTx;
|
|
1965
1963
|
}, _TransactionController_onTransactionStatusChange = function _TransactionController_onTransactionStatusChange(transactionMeta) {
|
|
1966
|
-
this.
|
|
1964
|
+
this.messagingSystem.publish(`${controllerName}:transactionStatusUpdated`, {
|
|
1967
1965
|
transactionMeta,
|
|
1968
1966
|
});
|
|
1969
1967
|
}, _TransactionController_getNonceTrackerTransactions = function _TransactionController_getNonceTrackerTransactions(statuses, address, chainId) {
|
|
@@ -1971,7 +1969,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1971
1969
|
}, _TransactionController_onConfirmedTransaction = function _TransactionController_onConfirmedTransaction(transactionMeta) {
|
|
1972
1970
|
(0, logger_1.projectLogger)('Processing confirmed transaction', transactionMeta.id);
|
|
1973
1971
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_markNonceDuplicatesDropped).call(this, transactionMeta.id);
|
|
1974
|
-
this.
|
|
1972
|
+
this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, transactionMeta);
|
|
1975
1973
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1976
1974
|
// Intentional given potential duration of process.
|
|
1977
1975
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updatePostBalance).call(this, transactionMeta).catch((error) => {
|
|
@@ -1990,7 +1988,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1990
1988
|
getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
|
|
1991
1989
|
updateTransaction: this.updateTransaction.bind(this),
|
|
1992
1990
|
});
|
|
1993
|
-
this.
|
|
1991
|
+
this.messagingSystem.publish(`${controllerName}:postTransactionBalanceUpdated`, {
|
|
1994
1992
|
transactionMeta: updatedTransactionMeta,
|
|
1995
1993
|
approvalTransactionMeta,
|
|
1996
1994
|
});
|
|
@@ -2021,7 +2019,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2021
2019
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2022
2020
|
chainId,
|
|
2023
2021
|
}),
|
|
2024
|
-
messenger: this.
|
|
2022
|
+
messenger: this.messagingSystem,
|
|
2025
2023
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2026
2024
|
skipSubmitHistory: true,
|
|
2027
2025
|
}),
|
|
@@ -2151,7 +2149,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2151
2149
|
chainId,
|
|
2152
2150
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2153
2151
|
isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
|
|
2154
|
-
messenger: this.
|
|
2152
|
+
messenger: this.messagingSystem,
|
|
2155
2153
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
2156
2154
|
transactionMeta,
|
|
2157
2155
|
});
|
|
@@ -2203,9 +2201,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2203
2201
|
state.transactionBatches[index] = updated ?? batch;
|
|
2204
2202
|
});
|
|
2205
2203
|
}, _TransactionController_getSelectedAccount = function _TransactionController_getSelectedAccount() {
|
|
2206
|
-
return this.
|
|
2204
|
+
return this.messagingSystem.call('AccountsController:getSelectedAccount');
|
|
2207
2205
|
}, _TransactionController_getInternalAccounts = function _TransactionController_getInternalAccounts() {
|
|
2208
|
-
const state = this.
|
|
2206
|
+
const state = this.messagingSystem.call('AccountsController:getState');
|
|
2209
2207
|
return Object.values(state.internalAccounts?.accounts ?? {})
|
|
2210
2208
|
.filter((account) => account.type === 'eip155:eoa')
|
|
2211
2209
|
.map((account) => account.address);
|
|
@@ -2245,20 +2243,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2245
2243
|
isCustomNetwork,
|
|
2246
2244
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2247
2245
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2248
|
-
messenger: this.
|
|
2246
|
+
messenger: this.messagingSystem,
|
|
2249
2247
|
txMeta: transactionMeta,
|
|
2250
2248
|
});
|
|
2251
2249
|
}, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
|
|
2252
|
-
this.
|
|
2253
|
-
this.
|
|
2254
|
-
this.
|
|
2255
|
-
this.
|
|
2256
|
-
this.
|
|
2257
|
-
this.
|
|
2258
|
-
this.
|
|
2259
|
-
this.
|
|
2260
|
-
this.
|
|
2261
|
-
this.
|
|
2250
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:addTransaction`, this.addTransaction.bind(this));
|
|
2251
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:addTransactionBatch`, this.addTransactionBatch.bind(this));
|
|
2252
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
|
|
2253
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2254
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2255
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
2256
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2257
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
|
|
2258
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2259
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2262
2260
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2263
2261
|
this.update((state) => {
|
|
2264
2262
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|
|
@@ -2298,13 +2296,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2298
2296
|
error: (0, utils_2.normalizeTxError)(error),
|
|
2299
2297
|
};
|
|
2300
2298
|
}
|
|
2301
|
-
this.
|
|
2299
|
+
this.messagingSystem.publish(`${controllerName}:transactionFailed`, {
|
|
2302
2300
|
actionId,
|
|
2303
2301
|
error: error.message,
|
|
2304
2302
|
transactionMeta: newTransactionMeta,
|
|
2305
2303
|
});
|
|
2306
2304
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
|
|
2307
|
-
this.
|
|
2305
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
2308
2306
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
|
|
2309
2307
|
}, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
|
|
2310
2308
|
(0, logger_1.projectLogger)('Calling afterSimulate hook', transactionMeta);
|