@metamask/transaction-controller 62.6.0 → 62.8.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 +34 -1
- package/dist/TransactionController.cjs +34 -75
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +12 -13
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +12 -13
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +34 -75
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +39 -26
- 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 +40 -27
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/index.cjs +1 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +0 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +32 -5
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +32 -5
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/batch.cjs +2 -1
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts +1 -0
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts +1 -0
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +2 -1
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +4 -1
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts +5 -0
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts +5 -0
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs +4 -1
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/nonce.cjs +10 -6
- package/dist/utils/nonce.cjs.map +1 -1
- package/dist/utils/nonce.d.cts.map +1 -1
- package/dist/utils/nonce.d.mts.map +1 -1
- package/dist/utils/nonce.mjs +10 -6
- package/dist/utils/nonce.mjs.map +1 -1
- package/package.json +5 -5
- package/dist/utils/history.cjs +0 -164
- package/dist/utils/history.cjs.map +0 -1
- package/dist/utils/history.d.cts +0 -29
- package/dist/utils/history.d.cts.map +0 -1
- package/dist/utils/history.d.mts +0 -29
- package/dist/utils/history.d.mts.map +0 -1
- package/dist/utils/history.mjs +0 -164
- package/dist/utils/history.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [62.8.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add optional `isStateOnly` property to `TransactionMeta` and `AddTransactionOptions` ([#7591](https://github.com/MetaMask/core/pull/7591))
|
|
15
|
+
- Transactions with `isStateOnly` set to `true` have no lifecycle and are not signed or published.
|
|
16
|
+
- Transactions are also excluded from confirmation polling.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Bump `@metamask/remote-feature-flag-controller` from `^3.1.0` to `^4.0.0` ([#7546](https://github.com/MetaMask/core/pull/7546))
|
|
21
|
+
- Upgrade `@metamask/utils` from `^11.8.1` to `^11.9.0` ([#7511](https://github.com/MetaMask/core/pull/7511))
|
|
22
|
+
- Update transaction timeout to check time since submission or when transaction was last seen on network ([#7464](https://github.com/MetaMask/core/pull/7464))
|
|
23
|
+
- Uses `blockTime` from `acceleratedPolling` feature flag.
|
|
24
|
+
- Deprecate `history` and `sendFlowHistory` properties from `TransactionMeta` and `TransactionController` options ([#7326](https://github.com/MetaMask/core/pull/7326))
|
|
25
|
+
- Bump `@metamask/remote-feature-flag-controller` from `^3.0.0` to `^3.1.0` ([#7519](https://github.com/MetaMask/core/pull/7519))
|
|
26
|
+
- Bump `@metamask/network-controller` from `^27.0.0` to `^27.2.0` ([#7534](https://github.com/MetaMask/core/pull/7534), [#7583](https://github.com/MetaMask/core/pull/7583))
|
|
27
|
+
- Bump `@metamask/controller-utils` from `^11.16.0` to `^11.18.0` ([#7534](https://github.com/MetaMask/core/pull/7534), [#7583](https://github.com/MetaMask/core/pull/7583))
|
|
28
|
+
- Update error message for failed on-chain transactions in `PendingTransactionTracker` ([#7552](https://github.com/MetaMask/core/pull/7552))
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- Include pending authorizations in nonce calculation ([#7446](https://github.com/MetaMask/core/pull/7446))
|
|
33
|
+
|
|
34
|
+
## [62.7.0]
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
|
|
39
|
+
|
|
10
40
|
## [62.6.0]
|
|
11
41
|
|
|
12
42
|
### Added
|
|
@@ -17,6 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
17
47
|
- Add optional `isTimeoutEnabled` callback to disable for specific transactions.
|
|
18
48
|
- Ignores transactions with future nonce.
|
|
19
49
|
- Threshold determined by feature flag.
|
|
50
|
+
- Adding a new transaction meta property `requestId`. It is supported for both simple and batched transactions ([#7415](https://github.com/MetaMask/core/pull/7415))
|
|
20
51
|
|
|
21
52
|
### Changed
|
|
22
53
|
|
|
@@ -2028,7 +2059,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
2028
2059
|
|
|
2029
2060
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
2030
2061
|
|
|
2031
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.
|
|
2062
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.8.0...HEAD
|
|
2063
|
+
[62.8.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.7.0...@metamask/transaction-controller@62.8.0
|
|
2064
|
+
[62.7.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.6.0...@metamask/transaction-controller@62.7.0
|
|
2032
2065
|
[62.6.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.5.0...@metamask/transaction-controller@62.6.0
|
|
2033
2066
|
[62.5.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.4.0...@metamask/transaction-controller@62.5.0
|
|
2034
2067
|
[62.4.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.3.1...@metamask/transaction-controller@62.4.0
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
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,
|
|
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_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _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, _TransactionController_getGasFeeTokens, _TransactionController_getGasFeeTokensAction;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
|
|
19
19
|
const base_controller_1 = require("@metamask/base-controller");
|
|
@@ -53,7 +53,6 @@ const gas_1 = require("./utils/gas.cjs");
|
|
|
53
53
|
const gas_fee_tokens_1 = require("./utils/gas-fee-tokens.cjs");
|
|
54
54
|
const gas_fees_1 = require("./utils/gas-fees.cjs");
|
|
55
55
|
const gas_flow_1 = require("./utils/gas-flow.cjs");
|
|
56
|
-
const history_1 = require("./utils/history.cjs");
|
|
57
56
|
const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
|
|
58
57
|
const nonce_1 = require("./utils/nonce.cjs");
|
|
59
58
|
const prepare_1 = require("./utils/prepare.cjs");
|
|
@@ -144,7 +143,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
144
143
|
* @param options - The controller options.
|
|
145
144
|
*/
|
|
146
145
|
constructor(options) {
|
|
147
|
-
const {
|
|
146
|
+
const { disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, getSimulationConfig, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isEIP7702GasFeeTokensEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
|
|
148
147
|
super({
|
|
149
148
|
name: controllerName,
|
|
150
149
|
metadata,
|
|
@@ -178,8 +177,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
178
177
|
_TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
|
|
179
178
|
_TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
|
|
180
179
|
_TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
|
|
181
|
-
_TransactionController_isHistoryDisabled.set(this, void 0);
|
|
182
|
-
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
183
180
|
_TransactionController_isSimulationEnabled.set(this, void 0);
|
|
184
181
|
_TransactionController_isSwapsDisabled.set(this, void 0);
|
|
185
182
|
_TransactionController_isTimeoutEnabled.set(this, void 0);
|
|
@@ -231,8 +228,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
231
228
|
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ??
|
|
232
229
|
(() => Promise.resolve(false)), "f");
|
|
233
230
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
234
|
-
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
235
|
-
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
236
231
|
__classPrivateFieldSet(this, _TransactionController_isSimulationEnabled, isSimulationEnabled ?? (() => true), "f");
|
|
237
232
|
__classPrivateFieldSet(this, _TransactionController_isSwapsDisabled, disableSwaps ?? false, "f");
|
|
238
233
|
__classPrivateFieldSet(this, _TransactionController_isTimeoutEnabled, hooks?.isTimeoutEnabled ?? (() => true), "f");
|
|
@@ -391,7 +386,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
391
386
|
*/
|
|
392
387
|
async addTransaction(txParams, options) {
|
|
393
388
|
(0, logger_1.projectLogger)('Adding transaction', txParams, options);
|
|
394
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse,
|
|
389
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
395
390
|
// eslint-disable-next-line no-param-reassign
|
|
396
391
|
txParams = (0, utils_2.normalizeTransactionParams)(txParams);
|
|
397
392
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
@@ -446,9 +441,11 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
446
441
|
isGasFeeIncluded,
|
|
447
442
|
isGasFeeSponsored,
|
|
448
443
|
isFirstTimeInteraction: undefined,
|
|
444
|
+
isStateOnly,
|
|
449
445
|
nestedTransactions,
|
|
450
446
|
networkClientId,
|
|
451
447
|
origin,
|
|
448
|
+
requestId,
|
|
452
449
|
securityAlertResponse,
|
|
453
450
|
selectedGasFeeToken: gasFeeToken,
|
|
454
451
|
status: types_1.TransactionStatus.unapproved,
|
|
@@ -478,7 +475,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
478
475
|
.then(() => {
|
|
479
476
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
480
477
|
transactionId: newTransactionMeta.id,
|
|
481
|
-
skipHistory: true,
|
|
482
478
|
skipResimulateCheck: true,
|
|
483
479
|
skipValidation: true,
|
|
484
480
|
}, (tx) => {
|
|
@@ -502,14 +498,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
502
498
|
addedTransactionMeta.securityProviderResponse =
|
|
503
499
|
securityProviderResponse;
|
|
504
500
|
}
|
|
505
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
506
|
-
// eslint-disable-next-line require-atomic-updates
|
|
507
|
-
addedTransactionMeta.sendFlowHistory = sendFlowHistory ?? [];
|
|
508
|
-
}
|
|
509
|
-
// Initial history push
|
|
510
|
-
if (!__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")) {
|
|
511
|
-
addedTransactionMeta = (0, history_1.addInitialHistorySnapshot)(addedTransactionMeta);
|
|
512
|
-
}
|
|
513
501
|
addedTransactionMeta = (0, swaps_1.updateSwapsTransaction)(addedTransactionMeta, transactionType, swaps, {
|
|
514
502
|
isSwapsDisabled: __classPrivateFieldGet(this, _TransactionController_isSwapsDisabled, "f"),
|
|
515
503
|
cancelTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_rejectTransaction).bind(this),
|
|
@@ -520,7 +508,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
520
508
|
.then((delegationAddress) => {
|
|
521
509
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
522
510
|
transactionId: addedTransactionMeta.id,
|
|
523
|
-
skipHistory: true,
|
|
524
511
|
skipResimulateCheck: true,
|
|
525
512
|
skipValidation: true,
|
|
526
513
|
}, (tx) => {
|
|
@@ -529,8 +516,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
529
516
|
return undefined;
|
|
530
517
|
})
|
|
531
518
|
.catch(lodash_1.noop);
|
|
532
|
-
|
|
533
|
-
if (requireApproval !== false) {
|
|
519
|
+
if (requireApproval !== false && !isStateOnly) {
|
|
534
520
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSimulationData).call(this, addedTransactionMeta, {
|
|
535
521
|
traceContext,
|
|
536
522
|
}).catch((error) => {
|
|
@@ -710,13 +696,14 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
710
696
|
* Updates an existing transaction in state.
|
|
711
697
|
*
|
|
712
698
|
* @param transactionMeta - The new transaction to store in state.
|
|
713
|
-
* @param note - A note or update reason to
|
|
699
|
+
* @param note - A note or update reason to be logged.
|
|
714
700
|
*/
|
|
715
701
|
updateTransaction(transactionMeta, note) {
|
|
716
702
|
const { id: transactionId } = transactionMeta;
|
|
717
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
703
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, () => ({
|
|
718
704
|
...transactionMeta,
|
|
719
705
|
}));
|
|
706
|
+
(0, logger_1.projectLogger)('Transaction updated', { transactionId, note });
|
|
720
707
|
}
|
|
721
708
|
/**
|
|
722
709
|
* Update the security alert response for a transaction.
|
|
@@ -767,6 +754,17 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
767
754
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, newTransactions);
|
|
768
755
|
});
|
|
769
756
|
}
|
|
757
|
+
/**
|
|
758
|
+
* @deprecated No longer used. Kept only to avoid breaking changes. It now performs no operations.
|
|
759
|
+
* @param transactionID - The ID of the transaction to update.
|
|
760
|
+
* @param _currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
761
|
+
* @param _sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
762
|
+
* @returns The transactionMeta.
|
|
763
|
+
*/
|
|
764
|
+
updateTransactionSendFlowHistory(transactionID, _currentSendFlowHistoryLength, _sendFlowHistoryToAdd) {
|
|
765
|
+
// Return the transaction unchanged
|
|
766
|
+
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionID);
|
|
767
|
+
}
|
|
770
768
|
/**
|
|
771
769
|
* Adds external provided transaction to state as confirmed transaction.
|
|
772
770
|
*
|
|
@@ -805,33 +803,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
805
803
|
console.error('Failed to confirm external transaction', error);
|
|
806
804
|
}
|
|
807
805
|
}
|
|
808
|
-
/**
|
|
809
|
-
* Append new send flow history to a transaction.
|
|
810
|
-
*
|
|
811
|
-
* @param transactionID - The ID of the transaction to update.
|
|
812
|
-
* @param currentSendFlowHistoryLength - The length of the current sendFlowHistory array.
|
|
813
|
-
* @param sendFlowHistoryToAdd - The sendFlowHistory entries to add.
|
|
814
|
-
* @returns The updated transactionMeta.
|
|
815
|
-
*/
|
|
816
|
-
updateTransactionSendFlowHistory(transactionID, currentSendFlowHistoryLength, sendFlowHistoryToAdd) {
|
|
817
|
-
if (__classPrivateFieldGet(this, _TransactionController_isSendFlowHistoryDisabled, "f")) {
|
|
818
|
-
throw new Error('Send flow history is disabled for the current transaction controller');
|
|
819
|
-
}
|
|
820
|
-
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
821
|
-
if (!transactionMeta) {
|
|
822
|
-
throw new Error(`Cannot update send flow history as no transaction metadata found`);
|
|
823
|
-
}
|
|
824
|
-
(0, utils_2.validateIfTransactionUnapproved)(transactionMeta, 'updateTransactionSendFlowHistory');
|
|
825
|
-
const sendFlowHistory = transactionMeta.sendFlowHistory ?? [];
|
|
826
|
-
if (currentSendFlowHistoryLength === sendFlowHistory.length) {
|
|
827
|
-
const updatedTransactionMeta = {
|
|
828
|
-
...transactionMeta,
|
|
829
|
-
sendFlowHistory: [...sendFlowHistory, ...sendFlowHistoryToAdd],
|
|
830
|
-
};
|
|
831
|
-
this.updateTransaction(updatedTransactionMeta, `${controllerName}:updateTransactionSendFlowHistory - sendFlowHistory updated`);
|
|
832
|
-
}
|
|
833
|
-
return __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionID);
|
|
834
|
-
}
|
|
835
806
|
/**
|
|
836
807
|
* Update the gas values of a transaction.
|
|
837
808
|
*
|
|
@@ -901,7 +872,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
901
872
|
const filteredTransactionGasFees = (0, lodash_1.pickBy)(transactionGasFees);
|
|
902
873
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
903
874
|
transactionId,
|
|
904
|
-
note: `${controllerName}:updateTransactionGasFees - gas values updated`,
|
|
905
875
|
skipResimulateCheck: true,
|
|
906
876
|
}, (draftTxMeta) => {
|
|
907
877
|
const { txParams, ...otherProps } = filteredTransactionGasFees;
|
|
@@ -1016,8 +986,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1016
986
|
}
|
|
1017
987
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1018
988
|
transactionId,
|
|
1019
|
-
note: 'TransactionController#setTransactionActive - Transaction isActive updated',
|
|
1020
|
-
skipHistory: true,
|
|
1021
989
|
skipValidation: true,
|
|
1022
990
|
skipResimulateCheck: true,
|
|
1023
991
|
}, (updatedTransactionMeta) => {
|
|
@@ -1301,7 +1269,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1301
1269
|
});
|
|
1302
1270
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1303
1271
|
transactionId,
|
|
1304
|
-
note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
|
|
1305
1272
|
}, (transactionMeta) => {
|
|
1306
1273
|
const { nestedTransactions, txParams } = transactionMeta;
|
|
1307
1274
|
const from = txParams.from;
|
|
@@ -1324,7 +1291,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1324
1291
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
|
|
1325
1292
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1326
1293
|
transactionId,
|
|
1327
|
-
note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
|
|
1328
1294
|
}, (transactionMeta) => {
|
|
1329
1295
|
transactionMeta.txParams.gas = draftTransaction.txParams.gas;
|
|
1330
1296
|
transactionMeta.simulationFails = draftTransaction.simulationFails;
|
|
@@ -1344,7 +1310,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1344
1310
|
(0, logger_1.projectLogger)('Updating batch transactions', { transactionId, batchTransactions });
|
|
1345
1311
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1346
1312
|
transactionId,
|
|
1347
|
-
note: 'TransactionController#updateBatchTransactions - Batch transactions updated',
|
|
1348
1313
|
}, (transactionMeta) => {
|
|
1349
1314
|
transactionMeta.batchTransactions = batchTransactions;
|
|
1350
1315
|
});
|
|
@@ -1427,7 +1392,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1427
1392
|
}
|
|
1428
1393
|
}
|
|
1429
1394
|
exports.TransactionController = TransactionController;
|
|
1430
|
-
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(),
|
|
1395
|
+
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_afterSimulate = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = new WeakMap(), _TransactionController_beforeSign = new WeakMap(), _TransactionController_gasFeeFlows = new WeakMap(), _TransactionController_getAdditionalSignArguments = new WeakMap(), _TransactionController_getCurrentAccountEIP1559Compatibility = new WeakMap(), _TransactionController_getCurrentNetworkEIP1559Compatibility = new WeakMap(), _TransactionController_getExternalPendingTransactions = new WeakMap(), _TransactionController_getGasFeeEstimates = new WeakMap(), _TransactionController_getNetworkState = new WeakMap(), _TransactionController_getPermittedAccounts = new WeakMap(), _TransactionController_getSavedGasFees = new WeakMap(), _TransactionController_getSimulationConfig = new WeakMap(), _TransactionController_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isEIP7702GasFeeTokensEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = new WeakMap(), _TransactionController_isTimeoutEnabled = new WeakMap(), _TransactionController_layer1GasFeeFlows = new WeakMap(), _TransactionController_methodDataHelper = new WeakMap(), _TransactionController_multichainTrackingHelper = new WeakMap(), _TransactionController_pendingTransactionOptions = new WeakMap(), _TransactionController_publicKeyEIP7702 = new WeakMap(), _TransactionController_publish = new WeakMap(), _TransactionController_publishBatchHook = new WeakMap(), _TransactionController_securityProviderRequest = new WeakMap(), _TransactionController_sign = new WeakMap(), _TransactionController_signAbortCallbacks = new WeakMap(), _TransactionController_skipSimulationTransactionIds = new WeakMap(), _TransactionController_testGasFeeFlows = new WeakMap(), _TransactionController_trace = new WeakMap(), _TransactionController_transactionHistoryLimit = new WeakMap(), _TransactionController_checkForPendingTransactionAndStartPolling = new WeakMap(), _TransactionController_instances = new WeakSet(), _TransactionController_retryTransaction = async function _TransactionController_retryTransaction({ actionId, afterSubmit, estimatedBaseFee, gasValues, label, prepareTransactionParams, rate, transactionId, transactionType, }) {
|
|
1431
1396
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1432
1397
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1433
1398
|
return;
|
|
@@ -1562,7 +1527,14 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1562
1527
|
}
|
|
1563
1528
|
}
|
|
1564
1529
|
}, _TransactionController_processApproval = async function _TransactionController_processApproval(transactionMeta, { actionId, isExisting = false, publishHook, requireApproval, shouldShowRequest = true, traceContext, }) {
|
|
1565
|
-
const transactionId = transactionMeta
|
|
1530
|
+
const { id: transactionId, isStateOnly } = transactionMeta;
|
|
1531
|
+
if (isStateOnly) {
|
|
1532
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipValidation: true }, (tx) => {
|
|
1533
|
+
tx.status = types_1.TransactionStatus.submitted;
|
|
1534
|
+
tx.submittedTime = new Date().getTime();
|
|
1535
|
+
});
|
|
1536
|
+
return '';
|
|
1537
|
+
}
|
|
1566
1538
|
let resultCallbacks;
|
|
1567
1539
|
const { meta, isCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
|
|
1568
1540
|
const finishedPromise = isCompleted
|
|
@@ -1673,7 +1645,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1673
1645
|
// eslint-disable-next-line require-atomic-updates
|
|
1674
1646
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1675
1647
|
transactionId,
|
|
1676
|
-
note: 'TransactionController#approveTransaction - Transaction approved',
|
|
1677
1648
|
}, (draftTxMeta) => {
|
|
1678
1649
|
const { chainId, txParams } = draftTxMeta;
|
|
1679
1650
|
const { gas, type } = txParams;
|
|
@@ -1726,7 +1697,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1726
1697
|
// eslint-disable-next-line require-atomic-updates
|
|
1727
1698
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1728
1699
|
transactionId,
|
|
1729
|
-
note: 'TransactionController#approveTransaction - Transaction submitted',
|
|
1730
1700
|
}, (draftTxMeta) => {
|
|
1731
1701
|
draftTxMeta.hash = hash;
|
|
1732
1702
|
draftTxMeta.status = types_1.TransactionStatus.submitted;
|
|
@@ -1935,17 +1905,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1935
1905
|
const confirmedTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.confirmed);
|
|
1936
1906
|
const pendingTxs = sameFromAndNetworkTransactions.filter((transaction) => transaction.status === types_1.TransactionStatus.submitted);
|
|
1937
1907
|
(0, external_transactions_1.validateConfirmedExternalTransaction)(transactionMeta, confirmedTxs, pendingTxs);
|
|
1938
|
-
// Make sure provided external transaction has non empty history array
|
|
1939
|
-
const newTransactionMeta = (transactionMeta.history ?? []).length === 0 && !__classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f")
|
|
1940
|
-
? (0, history_1.addInitialHistorySnapshot)(transactionMeta)
|
|
1941
|
-
: transactionMeta;
|
|
1942
1908
|
this.update((state) => {
|
|
1943
1909
|
state.transactions = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_trimTransactionsForState).call(this, [
|
|
1944
1910
|
...state.transactions,
|
|
1945
|
-
|
|
1911
|
+
transactionMeta,
|
|
1946
1912
|
]);
|
|
1947
1913
|
});
|
|
1948
|
-
return
|
|
1914
|
+
return transactionMeta;
|
|
1949
1915
|
}, _TransactionController_markNonceDuplicatesDropped = function _TransactionController_markNonceDuplicatesDropped(transactionId) {
|
|
1950
1916
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
1951
1917
|
if (!transactionMeta) {
|
|
@@ -2016,7 +1982,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2016
1982
|
(0, logger_1.projectLogger)('Calling before sign hook', transactionMeta);
|
|
2017
1983
|
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
2018
1984
|
if (updateTransaction) {
|
|
2019
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true
|
|
1985
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true }, updateTransaction);
|
|
2020
1986
|
(0, logger_1.projectLogger)('Updated transaction after before sign hook');
|
|
2021
1987
|
}
|
|
2022
1988
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
@@ -2195,7 +2161,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2195
2161
|
];
|
|
2196
2162
|
}, _TransactionController_getLayer1GasFeeFlows = function _TransactionController_getLayer1GasFeeFlows() {
|
|
2197
2163
|
return [new OptimismLayer1GasFeeFlow_1.OptimismLayer1GasFeeFlow(), new ScrollLayer1GasFeeFlow_1.ScrollLayer1GasFeeFlow()];
|
|
2198
|
-
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId,
|
|
2164
|
+
}, _TransactionController_updateTransactionInternal = function _TransactionController_updateTransactionInternal({ transactionId, skipValidation, skipResimulateCheck, }, callback) {
|
|
2199
2165
|
let resimulateResponse;
|
|
2200
2166
|
this.update((state) => {
|
|
2201
2167
|
const index = state.transactions.findIndex(({ id }) => id === transactionId);
|
|
@@ -2212,10 +2178,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2212
2178
|
if (!skipResimulateCheck && __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2213
2179
|
resimulateResponse = (0, ResimulateHelper_1.shouldResimulate)(originalTransactionMeta, transactionMeta);
|
|
2214
2180
|
}
|
|
2215
|
-
const shouldSkipHistory = __classPrivateFieldGet(this, _TransactionController_isHistoryDisabled, "f") || skipHistory;
|
|
2216
|
-
if (!shouldSkipHistory) {
|
|
2217
|
-
transactionMeta = (0, history_1.updateTransactionHistory)(transactionMeta, note ?? 'Transaction updated');
|
|
2218
|
-
}
|
|
2219
2181
|
state.transactions[index] = transactionMeta;
|
|
2220
2182
|
});
|
|
2221
2183
|
const transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
@@ -2277,7 +2239,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2277
2239
|
}
|
|
2278
2240
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2279
2241
|
transactionId,
|
|
2280
|
-
note: 'TransactionController#updateSimulationData - Update simulation data',
|
|
2281
2242
|
skipResimulateCheck: Boolean(blockTime),
|
|
2282
2243
|
}, (txMeta) => {
|
|
2283
2244
|
txMeta.gasFeeTokens = gasFeeTokens;
|
|
@@ -2290,7 +2251,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2290
2251
|
(0, logger_1.projectLogger)('Updated simulation data', transactionId, updatedTransactionMeta);
|
|
2291
2252
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_runAfterSimulateHook).call(this, updatedTransactionMeta);
|
|
2292
2253
|
}, _TransactionController_onGasFeePollerTransactionUpdate = function _TransactionController_onGasFeePollerTransactionUpdate({ transactionId, gasFeeEstimates, gasFeeEstimatesLoaded, layer1GasFee, }) {
|
|
2293
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId
|
|
2254
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId }, (txMeta) => {
|
|
2294
2255
|
(0, GasFeePoller_1.updateTransactionGasProperties)({
|
|
2295
2256
|
txMeta,
|
|
2296
2257
|
gasFeeEstimates,
|
|
@@ -2396,7 +2357,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2396
2357
|
try {
|
|
2397
2358
|
newTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2398
2359
|
transactionId: transactionMeta.id,
|
|
2399
|
-
note: 'TransactionController#failTransaction - Add error message and set status to failed',
|
|
2400
2360
|
skipValidation: true,
|
|
2401
2361
|
}, (draftTransactionMeta) => {
|
|
2402
2362
|
draftTransactionMeta.status = types_1.TransactionStatus.failed;
|
|
@@ -2438,7 +2398,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2438
2398
|
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2439
2399
|
transactionId,
|
|
2440
2400
|
skipResimulateCheck: true,
|
|
2441
|
-
note: 'afterSimulate Hook',
|
|
2442
2401
|
}, (txMeta) => {
|
|
2443
2402
|
txMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(txMeta.txParams);
|
|
2444
2403
|
updateTransaction(txMeta);
|