@metamask/transaction-controller 60.10.0 → 61.1.0
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 +28 -1
- package/dist/TransactionController.cjs +69 -67
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +3 -2
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +3 -2
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +69 -67
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs +26 -7
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts +7 -2
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts +7 -2
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs +26 -7
- package/dist/gas-flows/OptimismLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs +32 -16
- package/dist/gas-flows/OracleLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.cts +20 -2
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.mts +20 -2
- package/dist/gas-flows/OracleLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs +32 -16
- package/dist/gas-flows/OracleLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.cjs +6 -3
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.d.cts +4 -2
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.d.mts +4 -2
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.mjs +6 -3
- package/dist/gas-flows/ScrollLayer1GasFeeFlow.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +17 -11
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +17 -11
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +4 -2
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +4 -2
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.cjs +12 -6
- package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.mjs +12 -6
- package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
- package/package.json +14 -13
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [61.1.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add optional `isIntentComplete` property to `TransactionMeta` to indicate transaction outcome was achieved via an alternate chain or mechanism ([#6950](https://github.com/MetaMask/core/pull/6950))
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Bump `@metamask/controller-utils` from `^11.14.1` to `^11.15.0` ([#7003](https://github.com/MetaMask/core/pull/7003))
|
|
19
|
+
- Identify OP stack chains using gas API ([#6899](https://github.com/MetaMask/core/pull/6899))
|
|
20
|
+
|
|
21
|
+
## [61.0.0]
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6386](https://github.com/MetaMask/core/pull/6386))
|
|
26
|
+
- Previously, `TransactionController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`.
|
|
27
|
+
- **BREAKING:** Bump `@metamask/accounts-controller` from `^33.0.0` to `^34.0.0` ([#6962](https://github.com/MetaMask/core/pull/6962))
|
|
28
|
+
- **BREAKING:** Bump `@metamask/approval-controller` from `^7.0.0` to `^8.0.0` ([#6962](https://github.com/MetaMask/core/pull/6962))
|
|
29
|
+
- **BREAKING:** Bump `@metamask/gas-fee-controller` from `^24.0.0` to `^25.0.0` ([#6962](https://github.com/MetaMask/core/pull/6962))
|
|
30
|
+
- **BREAKING:** Bump `@metamask/network-controller` from `^24.0.0` to `^25.0.0` ([#6962](https://github.com/MetaMask/core/pull/6962))
|
|
31
|
+
- **BREAKING:** Bump `@metamask/remote-feature-flag-controller` from `^1.5.0` to `^2.0.0` ([#6962](https://github.com/MetaMask/core/pull/6962))
|
|
32
|
+
- Bump `@metamask/base-controller` from `^8.4.2` to `^9.0.0` ([#6962](https://github.com/MetaMask/core/pull/6962))
|
|
33
|
+
- Bump `@metamask/polling-controller` from `^14.0.2` to `^15.0.0` ( [#6962](https://github.com/MetaMask/core/pull/6962))
|
|
34
|
+
|
|
10
35
|
## [60.10.0]
|
|
11
36
|
|
|
12
37
|
### Added
|
|
@@ -1891,7 +1916,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1891
1916
|
|
|
1892
1917
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1893
1918
|
|
|
1894
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@
|
|
1919
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.1.0...HEAD
|
|
1920
|
+
[61.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.0.0...@metamask/transaction-controller@61.1.0
|
|
1921
|
+
[61.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.10.0...@metamask/transaction-controller@61.0.0
|
|
1895
1922
|
[60.10.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.9.0...@metamask/transaction-controller@60.10.0
|
|
1896
1923
|
[60.9.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.8.0...@metamask/transaction-controller@60.9.0
|
|
1897
1924
|
[60.8.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.7.0...@metamask/transaction-controller@60.8.0
|
|
@@ -70,31 +70,31 @@ const metadata = {
|
|
|
70
70
|
transactions: {
|
|
71
71
|
includeInStateLogs: true,
|
|
72
72
|
persist: true,
|
|
73
|
-
|
|
73
|
+
includeInDebugSnapshot: false,
|
|
74
74
|
usedInUi: true,
|
|
75
75
|
},
|
|
76
76
|
transactionBatches: {
|
|
77
77
|
includeInStateLogs: true,
|
|
78
78
|
persist: true,
|
|
79
|
-
|
|
79
|
+
includeInDebugSnapshot: false,
|
|
80
80
|
usedInUi: true,
|
|
81
81
|
},
|
|
82
82
|
methodData: {
|
|
83
83
|
includeInStateLogs: true,
|
|
84
84
|
persist: true,
|
|
85
|
-
|
|
85
|
+
includeInDebugSnapshot: false,
|
|
86
86
|
usedInUi: true,
|
|
87
87
|
},
|
|
88
88
|
lastFetchedBlockNumbers: {
|
|
89
89
|
includeInStateLogs: true,
|
|
90
90
|
persist: true,
|
|
91
|
-
|
|
91
|
+
includeInDebugSnapshot: false,
|
|
92
92
|
usedInUi: false,
|
|
93
93
|
},
|
|
94
94
|
submitHistory: {
|
|
95
95
|
includeInStateLogs: true,
|
|
96
96
|
persist: true,
|
|
97
|
-
|
|
97
|
+
includeInDebugSnapshot: false,
|
|
98
98
|
usedInUi: false,
|
|
99
99
|
},
|
|
100
100
|
};
|
|
@@ -199,7 +199,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
199
199
|
_TransactionController_checkForPendingTransactionAndStartPolling.set(this, () => {
|
|
200
200
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").checkForPendingTransactionAndStartPolling();
|
|
201
201
|
});
|
|
202
|
-
this.
|
|
202
|
+
this.messenger = 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 base_controller_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.messenger.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.messenger.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.messenger.subscribe('NetworkController:stateChange', listener);
|
|
251
251
|
},
|
|
252
252
|
}), "f");
|
|
253
253
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").initialize();
|
|
@@ -261,9 +261,9 @@ class TransactionController extends base_controller_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.messenger,
|
|
265
265
|
onStateChange: (listener) => {
|
|
266
|
-
this.
|
|
266
|
+
this.messenger.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 base_controller_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.messenger,
|
|
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 base_controller_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.messenger.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.messenger.subscribe('TransactionController:stateChange', listener, (controllerState) => controllerState.transactions);
|
|
299
299
|
},
|
|
300
300
|
getTransactions: () => this.state.transactions,
|
|
301
301
|
});
|
|
@@ -326,7 +326,7 @@ class TransactionController extends base_controller_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.messenger.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 base_controller_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.messenger,
|
|
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 base_controller_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.messenger,
|
|
367
367
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
368
368
|
});
|
|
369
369
|
}
|
|
@@ -472,7 +472,7 @@ class TransactionController extends base_controller_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.messenger,
|
|
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 base_controller_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.messenger.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 base_controller_1.BaseController {
|
|
|
550
550
|
txParams.value = '0x0';
|
|
551
551
|
},
|
|
552
552
|
afterSubmit: (newTransactionMeta) => {
|
|
553
|
-
this.
|
|
553
|
+
this.messenger.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 base_controller_1.BaseController {
|
|
|
574
574
|
transactionId,
|
|
575
575
|
transactionType: types_1.TransactionType.retry,
|
|
576
576
|
afterSubmit: (newTransactionMeta) => {
|
|
577
|
-
this.
|
|
577
|
+
this.messenger.publish(`${controllerName}:speedupTransactionAdded`, newTransactionMeta);
|
|
578
578
|
},
|
|
579
579
|
});
|
|
580
580
|
}
|
|
@@ -597,7 +597,7 @@ class TransactionController extends base_controller_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.messenger,
|
|
601
601
|
txParams: transaction,
|
|
602
602
|
});
|
|
603
603
|
return { gas: estimatedGas, simulationFails };
|
|
@@ -619,7 +619,7 @@ class TransactionController extends base_controller_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.messenger,
|
|
623
623
|
txParams: transaction,
|
|
624
624
|
});
|
|
625
625
|
const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
|
|
@@ -721,7 +721,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
721
721
|
(0, logger_1.projectLogger)('Error while updating post balance', error);
|
|
722
722
|
throw error;
|
|
723
723
|
});
|
|
724
|
-
this.
|
|
724
|
+
this.messenger.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 base_controller_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.messenger,
|
|
922
922
|
provider,
|
|
923
923
|
transactionMeta: updatedTransaction,
|
|
924
924
|
});
|
|
@@ -1046,7 +1046,7 @@ class TransactionController extends base_controller_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.messenger.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 base_controller_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.messenger);
|
|
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 base_controller_1.BaseController {
|
|
|
1151
1151
|
return gasFeeFlow.getGasFees({
|
|
1152
1152
|
ethQuery,
|
|
1153
1153
|
gasFeeControllerData,
|
|
1154
|
-
messenger: this.
|
|
1154
|
+
messenger: this.messenger,
|
|
1155
1155
|
transactionMeta,
|
|
1156
1156
|
});
|
|
1157
1157
|
}
|
|
@@ -1171,7 +1171,7 @@ class TransactionController extends base_controller_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.messenger,
|
|
1175
1175
|
provider,
|
|
1176
1176
|
transactionMeta: {
|
|
1177
1177
|
txParams: transactionParams,
|
|
@@ -1314,12 +1314,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1314
1314
|
return;
|
|
1315
1315
|
}
|
|
1316
1316
|
if (transactionMeta.type === types_1.TransactionType.swap) {
|
|
1317
|
-
this.
|
|
1317
|
+
this.messenger.publish('TransactionController:transactionNewSwap', {
|
|
1318
1318
|
transactionMeta,
|
|
1319
1319
|
});
|
|
1320
1320
|
}
|
|
1321
1321
|
else if (transactionMeta.type === types_1.TransactionType.swapApproval) {
|
|
1322
|
-
this.
|
|
1322
|
+
this.messenger.publish('TransactionController:transactionNewSwapApproval', { transactionMeta });
|
|
1323
1323
|
}
|
|
1324
1324
|
}
|
|
1325
1325
|
/**
|
|
@@ -1332,7 +1332,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1332
1332
|
...transactionMeta,
|
|
1333
1333
|
txParams: {
|
|
1334
1334
|
...transactionMeta.txParams,
|
|
1335
|
-
from: this.
|
|
1335
|
+
from: this.messenger.call('AccountsController:getSelectedAccount')
|
|
1336
1336
|
.address,
|
|
1337
1337
|
},
|
|
1338
1338
|
};
|
|
@@ -1343,7 +1343,9 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1343
1343
|
});
|
|
1344
1344
|
}
|
|
1345
1345
|
this.updateTransaction(updatedTransactionMeta, 'Generated from user operation');
|
|
1346
|
-
this.
|
|
1346
|
+
this.messenger.publish('TransactionController:transactionStatusUpdated', {
|
|
1347
|
+
transactionMeta: updatedTransactionMeta,
|
|
1348
|
+
});
|
|
1347
1349
|
}
|
|
1348
1350
|
}
|
|
1349
1351
|
exports.TransactionController = TransactionController;
|
|
@@ -1403,11 +1405,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1403
1405
|
newTransactionMeta.hash = hash;
|
|
1404
1406
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addMetadata).call(this, newTransactionMeta);
|
|
1405
1407
|
// speedUpTransaction has no approval request, so we assume the user has already approved the transaction
|
|
1406
|
-
this.
|
|
1408
|
+
this.messenger.publish(`${controllerName}:transactionApproved`, {
|
|
1407
1409
|
transactionMeta: newTransactionMeta,
|
|
1408
1410
|
actionId,
|
|
1409
1411
|
});
|
|
1410
|
-
this.
|
|
1412
|
+
this.messenger.publish(`${controllerName}:transactionSubmitted`, {
|
|
1411
1413
|
transactionMeta: newTransactionMeta,
|
|
1412
1414
|
actionId,
|
|
1413
1415
|
});
|
|
@@ -1454,12 +1456,12 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1454
1456
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
1455
1457
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
1456
1458
|
getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
|
|
1457
|
-
messenger: this.
|
|
1459
|
+
messenger: this.messenger,
|
|
1458
1460
|
txMeta: transactionMeta,
|
|
1459
1461
|
}));
|
|
1460
1462
|
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)({
|
|
1461
1463
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1462
|
-
messenger: this.
|
|
1464
|
+
messenger: this.messenger,
|
|
1463
1465
|
provider,
|
|
1464
1466
|
transactionMeta,
|
|
1465
1467
|
}));
|
|
@@ -1504,7 +1506,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1504
1506
|
resultCallbacks.success();
|
|
1505
1507
|
}
|
|
1506
1508
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1507
|
-
this.
|
|
1509
|
+
this.messenger.publish(`${controllerName}:transactionApproved`, {
|
|
1508
1510
|
transactionMeta: updatedTransactionMeta,
|
|
1509
1511
|
actionId,
|
|
1510
1512
|
});
|
|
@@ -1592,7 +1594,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1592
1594
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1593
1595
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1594
1596
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1595
|
-
this.
|
|
1597
|
+
this.messenger.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
1596
1598
|
return ApprovalState.SkippedViaBeforePublishHook;
|
|
1597
1599
|
}
|
|
1598
1600
|
if (!rawTx && !transactionMeta.isExternalSign) {
|
|
@@ -1638,10 +1640,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1638
1640
|
(0, logger_1.projectLogger)('Updated pre-transaction balance', preTxBalance);
|
|
1639
1641
|
}
|
|
1640
1642
|
});
|
|
1641
|
-
this.
|
|
1643
|
+
this.messenger.publish(`${controllerName}:transactionSubmitted`, {
|
|
1642
1644
|
transactionMeta,
|
|
1643
1645
|
});
|
|
1644
|
-
this.
|
|
1646
|
+
this.messenger.publish(`${controllerName}:transactionFinished`, transactionMeta);
|
|
1645
1647
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, transactionMeta);
|
|
1646
1648
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1647
1649
|
return ApprovalState.Approved;
|
|
@@ -1675,9 +1677,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1675
1677
|
status: types_1.TransactionStatus.rejected,
|
|
1676
1678
|
error: (0, utils_2.normalizeTxError)(error ?? rpc_errors_1.providerErrors.userRejectedRequest()),
|
|
1677
1679
|
};
|
|
1678
|
-
this.
|
|
1680
|
+
this.messenger.publish(`${controllerName}:transactionFinished`, updatedTransactionMeta);
|
|
1679
1681
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, updatedTransactionMeta);
|
|
1680
|
-
this.
|
|
1682
|
+
this.messenger.publish(`${controllerName}:transactionRejected`, {
|
|
1681
1683
|
transactionMeta: updatedTransactionMeta,
|
|
1682
1684
|
actionId,
|
|
1683
1685
|
});
|
|
@@ -1724,7 +1726,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1724
1726
|
id,
|
|
1725
1727
|
parentContext: traceContext,
|
|
1726
1728
|
});
|
|
1727
|
-
return (await this.
|
|
1729
|
+
return (await this.messenger.call('ApprovalController:addRequest', {
|
|
1728
1730
|
id,
|
|
1729
1731
|
origin: origin || controller_utils_1.ORIGIN_METAMASK,
|
|
1730
1732
|
type,
|
|
@@ -1795,7 +1797,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1795
1797
|
]);
|
|
1796
1798
|
(0, logger_1.projectLogger)('Added incoming transactions to state', finalTransactions.length, finalTransactions);
|
|
1797
1799
|
});
|
|
1798
|
-
this.
|
|
1800
|
+
this.messenger.publish(`${controllerName}:incomingTransactionsReceived`, finalTransactions);
|
|
1799
1801
|
}, _TransactionController_generateDappSuggestedGasFees = function _TransactionController_generateDappSuggestedGasFees(txParams, origin) {
|
|
1800
1802
|
if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
|
|
1801
1803
|
return undefined;
|
|
@@ -1877,7 +1879,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1877
1879
|
...transactionMeta,
|
|
1878
1880
|
status: types_1.TransactionStatus.dropped,
|
|
1879
1881
|
};
|
|
1880
|
-
this.
|
|
1882
|
+
this.messenger.publish(`${controllerName}:transactionDropped`, {
|
|
1881
1883
|
transactionMeta: updatedTransactionMeta,
|
|
1882
1884
|
});
|
|
1883
1885
|
this.updateTransaction(updatedTransactionMeta, 'TransactionController#setTransactionStatusDropped - Transaction dropped');
|
|
@@ -1913,7 +1915,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1913
1915
|
const { authorizationList, from } = txParams;
|
|
1914
1916
|
const signedAuthorizationList = await (0, eip7702_1.signAuthorizationList)({
|
|
1915
1917
|
authorizationList,
|
|
1916
|
-
messenger: this.
|
|
1918
|
+
messenger: this.messenger,
|
|
1917
1919
|
transactionMeta,
|
|
1918
1920
|
});
|
|
1919
1921
|
if (signedAuthorizationList) {
|
|
@@ -1961,7 +1963,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1961
1963
|
this.updateTransaction(transactionMetaWithRawTx, 'TransactionController#approveTransaction - RawTransaction added');
|
|
1962
1964
|
return rawTx;
|
|
1963
1965
|
}, _TransactionController_onTransactionStatusChange = function _TransactionController_onTransactionStatusChange(transactionMeta) {
|
|
1964
|
-
this.
|
|
1966
|
+
this.messenger.publish(`${controllerName}:transactionStatusUpdated`, {
|
|
1965
1967
|
transactionMeta,
|
|
1966
1968
|
});
|
|
1967
1969
|
}, _TransactionController_getNonceTrackerTransactions = function _TransactionController_getNonceTrackerTransactions(statuses, address, chainId) {
|
|
@@ -1969,7 +1971,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1969
1971
|
}, _TransactionController_onConfirmedTransaction = function _TransactionController_onConfirmedTransaction(transactionMeta) {
|
|
1970
1972
|
(0, logger_1.projectLogger)('Processing confirmed transaction', transactionMeta.id);
|
|
1971
1973
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_markNonceDuplicatesDropped).call(this, transactionMeta.id);
|
|
1972
|
-
this.
|
|
1974
|
+
this.messenger.publish(`${controllerName}:transactionConfirmed`, transactionMeta);
|
|
1973
1975
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1974
1976
|
// Intentional given potential duration of process.
|
|
1975
1977
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updatePostBalance).call(this, transactionMeta).catch((error) => {
|
|
@@ -1988,7 +1990,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1988
1990
|
getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
|
|
1989
1991
|
updateTransaction: this.updateTransaction.bind(this),
|
|
1990
1992
|
});
|
|
1991
|
-
this.
|
|
1993
|
+
this.messenger.publish(`${controllerName}:postTransactionBalanceUpdated`, {
|
|
1992
1994
|
transactionMeta: updatedTransactionMeta,
|
|
1993
1995
|
approvalTransactionMeta,
|
|
1994
1996
|
});
|
|
@@ -2019,7 +2021,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2019
2021
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2020
2022
|
chainId,
|
|
2021
2023
|
}),
|
|
2022
|
-
messenger: this.
|
|
2024
|
+
messenger: this.messenger,
|
|
2023
2025
|
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2024
2026
|
skipSubmitHistory: true,
|
|
2025
2027
|
}),
|
|
@@ -2149,7 +2151,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2149
2151
|
chainId,
|
|
2150
2152
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2151
2153
|
isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
|
|
2152
|
-
messenger: this.
|
|
2154
|
+
messenger: this.messenger,
|
|
2153
2155
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
2154
2156
|
transactionMeta,
|
|
2155
2157
|
});
|
|
@@ -2201,9 +2203,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2201
2203
|
state.transactionBatches[index] = updated ?? batch;
|
|
2202
2204
|
});
|
|
2203
2205
|
}, _TransactionController_getSelectedAccount = function _TransactionController_getSelectedAccount() {
|
|
2204
|
-
return this.
|
|
2206
|
+
return this.messenger.call('AccountsController:getSelectedAccount');
|
|
2205
2207
|
}, _TransactionController_getInternalAccounts = function _TransactionController_getInternalAccounts() {
|
|
2206
|
-
const state = this.
|
|
2208
|
+
const state = this.messenger.call('AccountsController:getState');
|
|
2207
2209
|
return Object.values(state.internalAccounts?.accounts ?? {})
|
|
2208
2210
|
.filter((account) => account.type === 'eip155:eoa')
|
|
2209
2211
|
.map((account) => account.address);
|
|
@@ -2243,20 +2245,20 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2243
2245
|
isCustomNetwork,
|
|
2244
2246
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2245
2247
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2246
|
-
messenger: this.
|
|
2248
|
+
messenger: this.messenger,
|
|
2247
2249
|
txMeta: transactionMeta,
|
|
2248
2250
|
});
|
|
2249
2251
|
}, _TransactionController_registerActionHandlers = function _TransactionController_registerActionHandlers() {
|
|
2250
|
-
this.
|
|
2251
|
-
this.
|
|
2252
|
-
this.
|
|
2253
|
-
this.
|
|
2254
|
-
this.
|
|
2255
|
-
this.
|
|
2256
|
-
this.
|
|
2257
|
-
this.
|
|
2258
|
-
this.
|
|
2259
|
-
this.
|
|
2252
|
+
this.messenger.registerActionHandler(`${controllerName}:addTransaction`, this.addTransaction.bind(this));
|
|
2253
|
+
this.messenger.registerActionHandler(`${controllerName}:addTransactionBatch`, this.addTransactionBatch.bind(this));
|
|
2254
|
+
this.messenger.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
|
|
2255
|
+
this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2256
|
+
this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2257
|
+
this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
2258
|
+
this.messenger.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2259
|
+
this.messenger.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
|
|
2260
|
+
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2261
|
+
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2260
2262
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2261
2263
|
this.update((state) => {
|
|
2262
2264
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|
|
@@ -2296,13 +2298,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2296
2298
|
error: (0, utils_2.normalizeTxError)(error),
|
|
2297
2299
|
};
|
|
2298
2300
|
}
|
|
2299
|
-
this.
|
|
2301
|
+
this.messenger.publish(`${controllerName}:transactionFailed`, {
|
|
2300
2302
|
actionId,
|
|
2301
2303
|
error: error.message,
|
|
2302
2304
|
transactionMeta: newTransactionMeta,
|
|
2303
2305
|
});
|
|
2304
2306
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
|
|
2305
|
-
this.
|
|
2307
|
+
this.messenger.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
2306
2308
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
|
|
2307
2309
|
}, _TransactionController_runAfterSimulateHook = async function _TransactionController_runAfterSimulateHook(transactionMeta) {
|
|
2308
2310
|
(0, logger_1.projectLogger)('Calling afterSimulate hook', transactionMeta);
|