@metamask-previews/transaction-controller 60.4.0-preview-b896289e → 60.4.0-preview-6c94ae59
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 -9
- package/dist/TransactionController.cjs +61 -61
- 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 +60 -60
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/types.cjs +0 -16
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +0 -16
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +0 -16
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +0 -16
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,15 +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
|
-
### Added
|
|
16
|
-
|
|
17
|
-
- Add `predictBuy`, `predictClaim`, `predictDeposit` and `predictSell` to `TransactionType` ([#6690](https://github.com/MetaMask/core/pull/6690))
|
|
18
|
-
|
|
19
10
|
## [60.4.0]
|
|
20
11
|
|
|
21
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_updateFirstTimeInteraction, _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;
|
|
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
|
getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
|
|
@@ -342,7 +342,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
342
342
|
}),
|
|
343
343
|
getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
|
|
344
344
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f"),
|
|
345
|
-
messenger: this.
|
|
345
|
+
messenger: this.messagingSystem,
|
|
346
346
|
publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
|
|
347
347
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
348
348
|
publishTransaction: (ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta),
|
|
@@ -362,7 +362,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
362
362
|
return (0, batch_1.isAtomicBatchSupported)({
|
|
363
363
|
...request,
|
|
364
364
|
getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
|
|
365
|
-
messenger: this.
|
|
365
|
+
messenger: this.messagingSystem,
|
|
366
366
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
367
367
|
});
|
|
368
368
|
}
|
|
@@ -490,7 +490,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
490
490
|
addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
|
|
491
491
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
492
492
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
493
|
-
messenger: this.
|
|
493
|
+
messenger: this.messagingSystem,
|
|
494
494
|
});
|
|
495
495
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, addedTransactionMeta);
|
|
496
496
|
if (requireApproval !== false) {
|
|
@@ -509,7 +509,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
509
509
|
else {
|
|
510
510
|
(0, logger_1.projectLogger)('Skipping simulation & first interaction update as approval not required');
|
|
511
511
|
}
|
|
512
|
-
this.
|
|
512
|
+
this.messagingSystem.publish(`${controllerName}:unapprovedTransactionAdded`, addedTransactionMeta);
|
|
513
513
|
}
|
|
514
514
|
return {
|
|
515
515
|
result: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_processApproval).call(this, addedTransactionMeta, {
|
|
@@ -562,7 +562,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
562
562
|
txParams.value = '0x0';
|
|
563
563
|
},
|
|
564
564
|
afterSubmit: (newTransactionMeta) => {
|
|
565
|
-
this.
|
|
565
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
566
566
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${newTransactionMeta.id}:finished`, newTransactionMeta);
|
|
567
567
|
},
|
|
568
568
|
});
|
|
@@ -586,7 +586,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
586
586
|
transactionId,
|
|
587
587
|
transactionType: types_1.TransactionType.retry,
|
|
588
588
|
afterSubmit: (newTransactionMeta) => {
|
|
589
|
-
this.
|
|
589
|
+
this.messagingSystem.publish(`${controllerName}:speedupTransactionAdded`, newTransactionMeta);
|
|
590
590
|
},
|
|
591
591
|
});
|
|
592
592
|
}
|
|
@@ -609,7 +609,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
609
609
|
ignoreDelegationSignatures,
|
|
610
610
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
611
611
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
612
|
-
messenger: this.
|
|
612
|
+
messenger: this.messagingSystem,
|
|
613
613
|
txParams: transaction,
|
|
614
614
|
});
|
|
615
615
|
return { gas: estimatedGas, simulationFails };
|
|
@@ -631,7 +631,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
631
631
|
ethQuery,
|
|
632
632
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
633
633
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
634
|
-
messenger: this.
|
|
634
|
+
messenger: this.messagingSystem,
|
|
635
635
|
txParams: transaction,
|
|
636
636
|
});
|
|
637
637
|
const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
|
|
@@ -733,7 +733,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
733
733
|
(0, logger_1.projectLogger)('Error while updating post balance', error);
|
|
734
734
|
throw error;
|
|
735
735
|
});
|
|
736
|
-
this.
|
|
736
|
+
this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, updatedTransactionMeta);
|
|
737
737
|
}
|
|
738
738
|
catch (error) {
|
|
739
739
|
console.error('Failed to confirm external transaction', error);
|
|
@@ -930,7 +930,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
930
930
|
}
|
|
931
931
|
await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
|
|
932
932
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
933
|
-
messenger: this.
|
|
933
|
+
messenger: this.messagingSystem,
|
|
934
934
|
provider,
|
|
935
935
|
transactionMeta: updatedTransaction,
|
|
936
936
|
});
|
|
@@ -1058,7 +1058,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1058
1058
|
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateCustodialTransaction - Custodial transaction updated`);
|
|
1059
1059
|
if (status &&
|
|
1060
1060
|
[types_1.TransactionStatus.submitted, types_1.TransactionStatus.failed].includes(status)) {
|
|
1061
|
-
this.
|
|
1061
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
1062
1062
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${updatedTransactionMeta.id}:finished`, updatedTransactionMeta);
|
|
1063
1063
|
}
|
|
1064
1064
|
return updatedTransactionMeta;
|
|
@@ -1155,7 +1155,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1155
1155
|
networkClientId,
|
|
1156
1156
|
};
|
|
1157
1157
|
// Guaranteed as the default gas fee flow matches all transactions.
|
|
1158
|
-
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.
|
|
1158
|
+
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messagingSystem);
|
|
1159
1159
|
const ethQuery = new eth_query_1.default(provider);
|
|
1160
1160
|
const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
|
|
1161
1161
|
networkClientId,
|
|
@@ -1163,7 +1163,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1163
1163
|
return gasFeeFlow.getGasFees({
|
|
1164
1164
|
ethQuery,
|
|
1165
1165
|
gasFeeControllerData,
|
|
1166
|
-
messenger: this.
|
|
1166
|
+
messenger: this.messagingSystem,
|
|
1167
1167
|
transactionMeta,
|
|
1168
1168
|
});
|
|
1169
1169
|
}
|
|
@@ -1183,7 +1183,7 @@ class TransactionController extends next_1.BaseController {
|
|
|
1183
1183
|
});
|
|
1184
1184
|
return await (0, layer1_gas_fee_flow_1.getTransactionLayer1GasFee)({
|
|
1185
1185
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1186
|
-
messenger: this.
|
|
1186
|
+
messenger: this.messagingSystem,
|
|
1187
1187
|
provider,
|
|
1188
1188
|
transactionMeta: {
|
|
1189
1189
|
txParams: transactionParams,
|
|
@@ -1373,11 +1373,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1373
1373
|
newTransactionMeta.hash = hash;
|
|
1374
1374
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, newTransactionMeta);
|
|
1375
1375
|
// speedUpTransaction has no approval request, so we assume the user has already approved the transaction
|
|
1376
|
-
this.
|
|
1376
|
+
this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
|
|
1377
1377
|
transactionMeta: newTransactionMeta,
|
|
1378
1378
|
actionId,
|
|
1379
1379
|
});
|
|
1380
|
-
this.
|
|
1380
|
+
this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
|
|
1381
1381
|
transactionMeta: newTransactionMeta,
|
|
1382
1382
|
actionId,
|
|
1383
1383
|
});
|
|
@@ -1424,12 +1424,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1424
1424
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
1425
1425
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
1426
1426
|
getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
|
|
1427
|
-
messenger: this.
|
|
1427
|
+
messenger: this.messagingSystem,
|
|
1428
1428
|
txMeta: transactionMeta,
|
|
1429
1429
|
}));
|
|
1430
1430
|
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)({
|
|
1431
1431
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1432
|
-
messenger: this.
|
|
1432
|
+
messenger: this.messagingSystem,
|
|
1433
1433
|
provider,
|
|
1434
1434
|
transactionMeta,
|
|
1435
1435
|
}));
|
|
@@ -1474,7 +1474,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1474
1474
|
resultCallbacks.success();
|
|
1475
1475
|
}
|
|
1476
1476
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1477
|
-
this.
|
|
1477
|
+
this.messagingSystem.publish(`${controllerName}:transactionApproved`, {
|
|
1478
1478
|
transactionMeta: updatedTransactionMeta,
|
|
1479
1479
|
actionId,
|
|
1480
1480
|
});
|
|
@@ -1562,7 +1562,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1562
1562
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1563
1563
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1564
1564
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1565
|
-
this.
|
|
1565
|
+
this.messagingSystem.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1566
1566
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
1567
1567
|
}
|
|
1568
1568
|
if (!rawTx && !transactionMeta.isExternalSign) {
|
|
@@ -1612,10 +1612,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1612
1612
|
(0, logger_1.projectLogger)('Updated pre-transaction balance', preTxBalance);
|
|
1613
1613
|
}
|
|
1614
1614
|
});
|
|
1615
|
-
this.
|
|
1615
|
+
this.messagingSystem.publish(`${controllerName}:transactionSubmitted`, {
|
|
1616
1616
|
transactionMeta,
|
|
1617
1617
|
});
|
|
1618
|
-
this.
|
|
1618
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, transactionMeta);
|
|
1619
1619
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, transactionMeta);
|
|
1620
1620
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1621
1621
|
return ApprovalState.Approved;
|
|
@@ -1649,9 +1649,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1649
1649
|
status: types_1.TransactionStatus.rejected,
|
|
1650
1650
|
error: (0, utils_2.normalizeTxError)(error ?? rpc_errors_1.providerErrors.userRejectedRequest()),
|
|
1651
1651
|
};
|
|
1652
|
-
this.
|
|
1652
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
1653
1653
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, updatedTransactionMeta);
|
|
1654
|
-
this.
|
|
1654
|
+
this.messagingSystem.publish(`${controllerName}:transactionRejected`, {
|
|
1655
1655
|
transactionMeta: updatedTransactionMeta,
|
|
1656
1656
|
actionId,
|
|
1657
1657
|
});
|
|
@@ -1698,7 +1698,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1698
1698
|
id,
|
|
1699
1699
|
parentContext: traceContext,
|
|
1700
1700
|
});
|
|
1701
|
-
return (await this.
|
|
1701
|
+
return (await this.messagingSystem.call('ApprovalController:addRequest', {
|
|
1702
1702
|
id,
|
|
1703
1703
|
origin: origin || controller_utils_1.ORIGIN_METAMASK,
|
|
1704
1704
|
type,
|
|
@@ -1769,7 +1769,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1769
1769
|
]);
|
|
1770
1770
|
(0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
|
|
1771
1771
|
});
|
|
1772
|
-
this.
|
|
1772
|
+
this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
|
|
1773
1773
|
}, _TransactionController_generateDappSuggestedGasFees = function _TransactionController_generateDappSuggestedGasFees(txParams, origin) {
|
|
1774
1774
|
if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
|
|
1775
1775
|
return undefined;
|
|
@@ -1851,7 +1851,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1851
1851
|
...transactionMeta,
|
|
1852
1852
|
status: types_1.TransactionStatus.dropped,
|
|
1853
1853
|
};
|
|
1854
|
-
this.
|
|
1854
|
+
this.messagingSystem.publish(`${controllerName}:transactionDropped`, {
|
|
1855
1855
|
transactionMeta: updatedTransactionMeta,
|
|
1856
1856
|
});
|
|
1857
1857
|
this.updateTransaction(updatedTransactionMeta, 'TransactionController#setTransactionStatusDropped - Transaction dropped');
|
|
@@ -1887,7 +1887,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1887
1887
|
const { authorizationList, from } = txParams;
|
|
1888
1888
|
const signedAuthorizationList = await (0, eip7702_1.signAuthorizationList)({
|
|
1889
1889
|
authorizationList,
|
|
1890
|
-
messenger: this.
|
|
1890
|
+
messenger: this.messagingSystem,
|
|
1891
1891
|
transactionMeta,
|
|
1892
1892
|
});
|
|
1893
1893
|
if (signedAuthorizationList) {
|
|
@@ -1935,7 +1935,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1935
1935
|
this.updateTransaction(transactionMetaWithRawTx, 'TransactionController#approveTransaction - RawTransaction added');
|
|
1936
1936
|
return rawTx;
|
|
1937
1937
|
}, _TransactionController_onTransactionStatusChange = function _TransactionController_onTransactionStatusChange(transactionMeta) {
|
|
1938
|
-
this.
|
|
1938
|
+
this.messagingSystem.publish(`${controllerName}:transactionStatusUpdated`, {
|
|
1939
1939
|
transactionMeta,
|
|
1940
1940
|
});
|
|
1941
1941
|
}, _TransactionController_getNonceTrackerTransactions = function _TransactionController_getNonceTrackerTransactions(statuses, address, chainId) {
|
|
@@ -1943,7 +1943,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1943
1943
|
}, _TransactionController_onConfirmedTransaction = function _TransactionController_onConfirmedTransaction(transactionMeta) {
|
|
1944
1944
|
(0, logger_1.projectLogger)('Processing confirmed transaction', transactionMeta.id);
|
|
1945
1945
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_markNonceDuplicatesDropped).call(this, transactionMeta.id);
|
|
1946
|
-
this.
|
|
1946
|
+
this.messagingSystem.publish(`${controllerName}:transactionConfirmed`, transactionMeta);
|
|
1947
1947
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1948
1948
|
// Intentional given potential duration of process.
|
|
1949
1949
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updatePostBalance).call(this, transactionMeta).catch((error) => {
|
|
@@ -1962,7 +1962,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1962
1962
|
getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
|
|
1963
1963
|
updateTransaction: this.updateTransaction.bind(this),
|
|
1964
1964
|
});
|
|
1965
|
-
this.
|
|
1965
|
+
this.messagingSystem.publish(`${controllerName}:postTransactionBalanceUpdated`, {
|
|
1966
1966
|
transactionMeta: updatedTransactionMeta,
|
|
1967
1967
|
approvalTransactionMeta,
|
|
1968
1968
|
});
|
|
@@ -1993,7 +1993,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1993
1993
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
1994
1994
|
chainId,
|
|
1995
1995
|
}),
|
|
1996
|
-
messenger: this.
|
|
1996
|
+
messenger: this.messagingSystem,
|
|
1997
1997
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
1998
1998
|
skipSubmitHistory: true,
|
|
1999
1999
|
}),
|
|
@@ -2160,7 +2160,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2160
2160
|
chainId,
|
|
2161
2161
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2162
2162
|
isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
|
|
2163
|
-
messenger: this.
|
|
2163
|
+
messenger: this.messagingSystem,
|
|
2164
2164
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
2165
2165
|
transactionMeta,
|
|
2166
2166
|
});
|
|
@@ -2212,9 +2212,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2212
2212
|
state.transactionBatches[index] = updated ?? batch;
|
|
2213
2213
|
});
|
|
2214
2214
|
}, _TransactionController_getSelectedAccount = function _TransactionController_getSelectedAccount() {
|
|
2215
|
-
return this.
|
|
2215
|
+
return this.messagingSystem.call('AccountsController:getSelectedAccount');
|
|
2216
2216
|
}, _TransactionController_getInternalAccounts = function _TransactionController_getInternalAccounts() {
|
|
2217
|
-
const state = this.
|
|
2217
|
+
const state = this.messagingSystem.call('AccountsController:getState');
|
|
2218
2218
|
return Object.values(state.internalAccounts?.accounts ?? {})
|
|
2219
2219
|
.filter((account) => account.type === 'eip155:eoa')
|
|
2220
2220
|
.map((account) => account.address);
|
|
@@ -2254,16 +2254,16 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2254
2254
|
isCustomNetwork,
|
|
2255
2255
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2256
2256
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2257
|
-
messenger: this.
|
|
2257
|
+
messenger: this.messagingSystem,
|
|
2258
2258
|
txMeta: transactionMeta,
|
|
2259
2259
|
});
|
|
2260
2260
|
}, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
|
|
2261
|
-
this.
|
|
2262
|
-
this.
|
|
2263
|
-
this.
|
|
2264
|
-
this.
|
|
2265
|
-
this.
|
|
2266
|
-
this.
|
|
2261
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
|
|
2262
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2263
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2264
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
2265
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2266
|
+
this.messagingSystem.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
|
|
2267
2267
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2268
2268
|
this.update((state) => {
|
|
2269
2269
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|
|
@@ -2303,13 +2303,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2303
2303
|
error: (0, utils_2.normalizeTxError)(error),
|
|
2304
2304
|
};
|
|
2305
2305
|
}
|
|
2306
|
-
this.
|
|
2306
|
+
this.messagingSystem.publish(`${controllerName}:transactionFailed`, {
|
|
2307
2307
|
actionId,
|
|
2308
2308
|
error: error.message,
|
|
2309
2309
|
transactionMeta: newTransactionMeta,
|
|
2310
2310
|
});
|
|
2311
2311
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
|
|
2312
|
-
this.
|
|
2312
|
+
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
2313
2313
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
|
|
2314
2314
|
}, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
|
|
2315
2315
|
(0, logger_1.projectLogger)('Calling afterSimulate hook', transactionMeta);
|