@metamask-previews/transaction-controller 60.4.0-preview-73b4d57 → 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 -12
- package/dist/TransactionController.cjs +45 -9
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +47 -11
- 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/dist/utils/transaction-type.cjs +5 -22
- package/dist/utils/transaction-type.cjs.map +1 -1
- package/dist/utils/transaction-type.d.cts +0 -14
- package/dist/utils/transaction-type.d.cts.map +1 -1
- package/dist/utils/transaction-type.d.mts +0 -14
- package/dist/utils/transaction-type.d.mts.map +1 -1
- package/dist/utils/transaction-type.mjs +4 -20
- package/dist/utils/transaction-type.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/utils/first-time-interaction.cjs +0 -77
- package/dist/utils/first-time-interaction.cjs.map +0 -1
- package/dist/utils/first-time-interaction.d.cts +0 -30
- package/dist/utils/first-time-interaction.d.cts.map +0 -1
- package/dist/utils/first-time-interaction.d.mts +0 -30
- package/dist/utils/first-time-interaction.d.mts.map +0 -1
- package/dist/utils/first-time-interaction.mjs +0 -73
- package/dist/utils/first-time-interaction.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,18 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
### Added
|
|
11
|
-
|
|
12
|
-
- Add `predictBuy`, `predictClaim`, `predictDeposit` and `predictSell` to `TransactionType` ([#6690](https://github.com/MetaMask/core/pull/6690))
|
|
13
|
-
|
|
14
|
-
### Changed
|
|
15
|
-
|
|
16
|
-
- Bump `@metamask/utils` from `^11.8.0` to `^11.8.1` ([#6708](https://github.com/MetaMask/core/pull/6708))
|
|
17
|
-
|
|
18
|
-
### Fixed
|
|
19
|
-
|
|
20
|
-
- Update `isFirstTimeInteraction` to be determined using recipient if token transfer. ([#6686](https://github.com/MetaMask/core/pull/6686))
|
|
21
|
-
|
|
22
10
|
## [60.4.0]
|
|
23
11
|
|
|
24
12
|
### Added
|
|
@@ -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, _TransactionController_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_getTransactionWithActionId, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook;
|
|
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
19
|
const base_controller_1 = require("@metamask/base-controller");
|
|
@@ -28,6 +28,7 @@ const utils_1 = require("@metamask/utils");
|
|
|
28
28
|
const events_1 = require("events");
|
|
29
29
|
const lodash_1 = require("lodash");
|
|
30
30
|
const uuid_1 = require("uuid");
|
|
31
|
+
const accounts_api_1 = require("./api/accounts-api.cjs");
|
|
31
32
|
const DefaultGasFeeFlow_1 = require("./gas-flows/DefaultGasFeeFlow.cjs");
|
|
32
33
|
const LineaGasFeeFlow_1 = require("./gas-flows/LineaGasFeeFlow.cjs");
|
|
33
34
|
const OptimismLayer1GasFeeFlow_1 = require("./gas-flows/OptimismLayer1GasFeeFlow.cjs");
|
|
@@ -48,7 +49,6 @@ const balance_changes_1 = require("./utils/balance-changes.cjs");
|
|
|
48
49
|
const batch_1 = require("./utils/batch.cjs");
|
|
49
50
|
const eip7702_1 = require("./utils/eip7702.cjs");
|
|
50
51
|
const external_transactions_1 = require("./utils/external-transactions.cjs");
|
|
51
|
-
const first_time_interaction_1 = require("./utils/first-time-interaction.cjs");
|
|
52
52
|
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");
|
|
@@ -500,14 +500,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
500
500
|
(0, logger_1.projectLogger)('Error while updating simulation data', error);
|
|
501
501
|
throw error;
|
|
502
502
|
});
|
|
503
|
-
(
|
|
504
|
-
existingTransactions: this.state.transactions,
|
|
505
|
-
getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId),
|
|
506
|
-
isFirstTimeInteractionEnabled: __classPrivateFieldGet(this, _TransactionController_isFirstTimeInteractionEnabled, "f"),
|
|
507
|
-
trace: __classPrivateFieldGet(this, _TransactionController_trace, "f"),
|
|
503
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateFirstTimeInteraction).call(this, addedTransactionMeta, {
|
|
508
504
|
traceContext,
|
|
509
|
-
transactionMeta: addedTransactionMeta,
|
|
510
|
-
updateTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).bind(this),
|
|
511
505
|
}).catch((error) => {
|
|
512
506
|
(0, logger_1.projectLogger)('Error while updating first interaction properties', error);
|
|
513
507
|
});
|
|
@@ -2088,6 +2082,48 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2088
2082
|
});
|
|
2089
2083
|
}
|
|
2090
2084
|
return transactionMeta;
|
|
2085
|
+
}, _TransactionController_updateFirstTimeInteraction = async function _TransactionController_updateFirstTimeInteraction(transactionMeta, { traceContext, } = {}) {
|
|
2086
|
+
if (!__classPrivateFieldGet(this, _TransactionController_isFirstTimeInteractionEnabled, "f").call(this)) {
|
|
2087
|
+
return;
|
|
2088
|
+
}
|
|
2089
|
+
const { chainId, id: transactionId, txParams: { to, from }, } = transactionMeta;
|
|
2090
|
+
const request = {
|
|
2091
|
+
chainId: (0, utils_1.hexToNumber)(chainId),
|
|
2092
|
+
to: to,
|
|
2093
|
+
from,
|
|
2094
|
+
};
|
|
2095
|
+
(0, validation_1.validateParamTo)(to);
|
|
2096
|
+
const existingTransaction = this.state.transactions.find((tx) => tx.chainId === chainId &&
|
|
2097
|
+
tx.txParams.from === from &&
|
|
2098
|
+
tx.txParams.to === to &&
|
|
2099
|
+
tx.id !== transactionId);
|
|
2100
|
+
// Check if there is an existing transaction with the same from, to, and chainId
|
|
2101
|
+
// else we continue to check the account address relationship from API
|
|
2102
|
+
if (existingTransaction) {
|
|
2103
|
+
return;
|
|
2104
|
+
}
|
|
2105
|
+
try {
|
|
2106
|
+
const { count } = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Account Address Relationship', parentContext: traceContext }, () => (0, accounts_api_1.getAccountAddressRelationship)(request));
|
|
2107
|
+
const isFirstTimeInteraction = count === undefined ? undefined : count === 0;
|
|
2108
|
+
const finalTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
2109
|
+
/* istanbul ignore if */
|
|
2110
|
+
if (!finalTransactionMeta) {
|
|
2111
|
+
(0, logger_1.projectLogger)('Cannot update first time interaction as transaction not found', transactionId);
|
|
2112
|
+
return;
|
|
2113
|
+
}
|
|
2114
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
2115
|
+
transactionId,
|
|
2116
|
+
note: 'TransactionController#updateFirstInteraction - Update first time interaction',
|
|
2117
|
+
}, (txMeta) => {
|
|
2118
|
+
txMeta.isFirstTimeInteraction = isFirstTimeInteraction;
|
|
2119
|
+
});
|
|
2120
|
+
(0, logger_1.projectLogger)('Updated first time interaction', transactionId, {
|
|
2121
|
+
isFirstTimeInteraction,
|
|
2122
|
+
});
|
|
2123
|
+
}
|
|
2124
|
+
catch (error) {
|
|
2125
|
+
(0, logger_1.projectLogger)('Error fetching account address relationship, skipping first time interaction update', error);
|
|
2126
|
+
}
|
|
2091
2127
|
}, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
|
|
2092
2128
|
const { chainId, id: transactionId, nestedTransactions, networkClientId, simulationData: prevSimulationData, txParams, } = transactionMeta;
|
|
2093
2129
|
let simulationData = {
|