@metamask-previews/transaction-controller 56.1.0-preview-0c874fe4 → 56.1.0-preview-4ec8b2d
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 +8 -0
- package/dist/TransactionController.cjs +17 -55
- 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 +20 -58
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/api/simulation-api.cjs.map +1 -1
- package/dist/api/simulation-api.d.cts +15 -5
- package/dist/api/simulation-api.d.cts.map +1 -1
- package/dist/api/simulation-api.d.mts +15 -5
- package/dist/api/simulation-api.d.mts.map +1 -1
- package/dist/api/simulation-api.mjs.map +1 -1
- package/dist/utils/{simulation.cjs → balance-changes.cjs} +96 -108
- package/dist/utils/balance-changes.cjs.map +1 -0
- package/dist/utils/balance-changes.d.cts +30 -0
- package/dist/utils/balance-changes.d.cts.map +1 -0
- package/dist/utils/balance-changes.d.mts +30 -0
- package/dist/utils/balance-changes.d.mts.map +1 -0
- package/dist/utils/{simulation.mjs → balance-changes.mjs} +100 -107
- package/dist/utils/balance-changes.mjs.map +1 -0
- package/dist/utils/gas-fee-tokens.cjs +122 -0
- package/dist/utils/gas-fee-tokens.cjs.map +1 -0
- package/dist/utils/gas-fee-tokens.d.cts +22 -0
- package/dist/utils/gas-fee-tokens.d.cts.map +1 -0
- package/dist/utils/gas-fee-tokens.d.mts +22 -0
- package/dist/utils/gas-fee-tokens.d.mts.map +1 -0
- package/dist/utils/gas-fee-tokens.mjs +118 -0
- package/dist/utils/gas-fee-tokens.mjs.map +1 -0
- package/dist/utils/transaction-type.cjs +4 -1
- package/dist/utils/transaction-type.cjs.map +1 -1
- package/dist/utils/transaction-type.d.cts.map +1 -1
- package/dist/utils/transaction-type.d.mts.map +1 -1
- package/dist/utils/transaction-type.mjs +4 -1
- package/dist/utils/transaction-type.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/utils/simulation.cjs.map +0 -1
- package/dist/utils/simulation.d.cts +0 -60
- package/dist/utils/simulation.d.cts.map +0 -1
- package/dist/utils/simulation.d.mts +0 -60
- package/dist/utils/simulation.d.mts.map +0 -1
- package/dist/utils/simulation.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Include gas limit and gas fees in simulation requests ([#5754](https://github.com/MetaMask/core/pull/5754))
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- Fix `addTransaction` function to correctly identify a transaction as a `simpleSend` type when the recipient is a smart account ([#5822](https://github.com/MetaMask/core/pull/5822))
|
|
17
|
+
|
|
10
18
|
## [56.1.0]
|
|
11
19
|
|
|
12
20
|
### 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_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _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_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_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction
|
|
16
|
+
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _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_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_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction;
|
|
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");
|
|
@@ -45,11 +45,12 @@ const ResimulateHelper_1 = require("./helpers/ResimulateHelper.cjs");
|
|
|
45
45
|
const ExtraTransactionsPublishHook_1 = require("./hooks/ExtraTransactionsPublishHook.cjs");
|
|
46
46
|
const logger_1 = require("./logger.cjs");
|
|
47
47
|
const types_1 = require("./types.cjs");
|
|
48
|
+
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 feature_flags_1 = require("./utils/feature-flags.cjs");
|
|
52
52
|
const gas_1 = require("./utils/gas.cjs");
|
|
53
|
+
const gas_fee_tokens_1 = require("./utils/gas-fee-tokens.cjs");
|
|
53
54
|
const gas_fees_1 = require("./utils/gas-fees.cjs");
|
|
54
55
|
const gas_flow_1 = require("./utils/gas-flow.cjs");
|
|
55
56
|
const history_1 = require("./utils/history.cjs");
|
|
@@ -57,7 +58,6 @@ const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
|
|
|
57
58
|
const nonce_1 = require("./utils/nonce.cjs");
|
|
58
59
|
const prepare_1 = require("./utils/prepare.cjs");
|
|
59
60
|
const retry_1 = require("./utils/retry.cjs");
|
|
60
|
-
const simulation_1 = require("./utils/simulation.cjs");
|
|
61
61
|
const swaps_1 = require("./utils/swaps.cjs");
|
|
62
62
|
const transaction_type_1 = require("./utils/transaction-type.cjs");
|
|
63
63
|
const utils_2 = require("./utils/utils.cjs");
|
|
@@ -2037,7 +2037,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2037
2037
|
(0, logger_1.projectLogger)('Error fetching account address relationship, skipping first time interaction update', error);
|
|
2038
2038
|
}
|
|
2039
2039
|
}, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
|
|
2040
|
-
const { id: transactionId, simulationData: prevSimulationData } = transactionMeta;
|
|
2040
|
+
const { chainId, id: transactionId, nestedTransactions, networkClientId, simulationData: prevSimulationData, txParams, } = transactionMeta;
|
|
2041
2041
|
let simulationData = {
|
|
2042
2042
|
error: {
|
|
2043
2043
|
code: types_1.SimulationErrorCode.Disabled,
|
|
@@ -2047,13 +2047,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2047
2047
|
};
|
|
2048
2048
|
let gasFeeTokens = [];
|
|
2049
2049
|
if (__classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2050
|
-
|
|
2050
|
+
simulationData = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, balance_changes_1.getBalanceChanges)({
|
|
2051
2051
|
blockTime,
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2052
|
+
chainId,
|
|
2053
|
+
ethQuery: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
|
|
2054
|
+
nestedTransactions,
|
|
2055
|
+
txParams,
|
|
2056
|
+
}));
|
|
2057
2057
|
if (blockTime &&
|
|
2058
2058
|
prevSimulationData &&
|
|
2059
2059
|
(0, ResimulateHelper_1.hasSimulationDataChanged)(prevSimulationData, simulationData)) {
|
|
@@ -2062,6 +2062,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2062
2062
|
isUpdatedAfterSecurityCheck: true,
|
|
2063
2063
|
};
|
|
2064
2064
|
}
|
|
2065
|
+
gasFeeTokens = await (0, gas_fee_tokens_1.getGasFeeTokens)({
|
|
2066
|
+
chainId,
|
|
2067
|
+
isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
|
|
2068
|
+
messenger: this.messagingSystem,
|
|
2069
|
+
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
2070
|
+
transactionMeta,
|
|
2071
|
+
});
|
|
2065
2072
|
}
|
|
2066
2073
|
const finalTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId);
|
|
2067
2074
|
/* istanbul ignore if */
|
|
@@ -2182,50 +2189,5 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2182
2189
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
|
|
2183
2190
|
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
2184
2191
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
|
|
2185
|
-
}, _TransactionController_getSimulationData = async function _TransactionController_getSimulationData({ blockTime, traceContext, transactionMeta, }) {
|
|
2186
|
-
const { chainId, delegationAddress, txParams } = transactionMeta;
|
|
2187
|
-
const { authorizationList: authorizationListRequest, data, from, to, value, } = txParams;
|
|
2188
|
-
const authorizationAddress = authorizationListRequest?.[0]?.address;
|
|
2189
|
-
const senderCode = authorizationAddress &&
|
|
2190
|
-
(eip7702_1.DELEGATION_PREFIX + (0, utils_1.remove0x)(authorizationAddress));
|
|
2191
|
-
const is7702GasFeeTokensEnabled = await __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f").call(this, transactionMeta);
|
|
2192
|
-
const use7702Fees = is7702GasFeeTokensEnabled &&
|
|
2193
|
-
(0, eip7702_1.doesChainSupportEIP7702)(chainId, this.messagingSystem);
|
|
2194
|
-
let authorizationList = authorizationListRequest?.map((authorization) => ({
|
|
2195
|
-
address: authorization.address,
|
|
2196
|
-
from: from,
|
|
2197
|
-
}));
|
|
2198
|
-
if (use7702Fees && !delegationAddress && !authorizationList) {
|
|
2199
|
-
authorizationList = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSimulationAuthorizationList).call(this, {
|
|
2200
|
-
chainId,
|
|
2201
|
-
from: from,
|
|
2202
|
-
});
|
|
2203
|
-
}
|
|
2204
|
-
return await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, simulation_1.getSimulationData)({
|
|
2205
|
-
authorizationList,
|
|
2206
|
-
chainId,
|
|
2207
|
-
data: data,
|
|
2208
|
-
from: from,
|
|
2209
|
-
to: to,
|
|
2210
|
-
value: value,
|
|
2211
|
-
}, {
|
|
2212
|
-
blockTime,
|
|
2213
|
-
senderCode,
|
|
2214
|
-
use7702Fees,
|
|
2215
|
-
}));
|
|
2216
|
-
}, _TransactionController_getSimulationAuthorizationList = function _TransactionController_getSimulationAuthorizationList({ chainId, from, }) {
|
|
2217
|
-
if (!__classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f")) {
|
|
2218
|
-
throw rpc_errors_1.rpcErrors.internal(eip7702_1.ERROR_MESSGE_PUBLIC_KEY);
|
|
2219
|
-
}
|
|
2220
|
-
const upgradeAddress = (0, feature_flags_1.getEIP7702UpgradeContractAddress)(chainId, this.messagingSystem, __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"));
|
|
2221
|
-
if (!upgradeAddress) {
|
|
2222
|
-
throw rpc_errors_1.rpcErrors.internal(batch_1.ERROR_MESSAGE_NO_UPGRADE_CONTRACT);
|
|
2223
|
-
}
|
|
2224
|
-
return [
|
|
2225
|
-
{
|
|
2226
|
-
address: upgradeAddress,
|
|
2227
|
-
from: from,
|
|
2228
|
-
},
|
|
2229
|
-
];
|
|
2230
2192
|
};
|
|
2231
2193
|
//# sourceMappingURL=TransactionController.cjs.map
|