@metamask-previews/transaction-controller 54.2.0-preview-71c2f67 → 54.2.0-preview-debb301
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 -1
- package/dist/TransactionController.cjs +17 -56
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +5 -7
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +5 -7
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +19 -58
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/api/simulation-api.cjs.map +1 -1
- package/dist/api/simulation-api.d.cts +1 -8
- package/dist/api/simulation-api.d.cts.map +1 -1
- package/dist/api/simulation-api.d.mts +1 -8
- package/dist/api/simulation-api.d.mts.map +1 -1
- package/dist/api/simulation-api.mjs.map +1 -1
- package/dist/utils/batch.cjs +68 -80
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts +0 -1
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts +0 -1
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +66 -78
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/eip7702.cjs +1 -2
- package/dist/utils/eip7702.cjs.map +1 -1
- package/dist/utils/eip7702.d.cts +0 -1
- package/dist/utils/eip7702.d.cts.map +1 -1
- package/dist/utils/eip7702.d.mts +0 -1
- package/dist/utils/eip7702.d.mts.map +1 -1
- package/dist/utils/eip7702.mjs +0 -1
- package/dist/utils/eip7702.mjs.map +1 -1
- package/dist/utils/simulation.cjs +36 -53
- package/dist/utils/simulation.cjs.map +1 -1
- package/dist/utils/simulation.d.cts +1 -3
- package/dist/utils/simulation.d.cts.map +1 -1
- package/dist/utils/simulation.d.mts +1 -3
- package/dist/utils/simulation.d.mts.map +1 -1
- package/dist/utils/simulation.mjs +36 -53
- package/dist/utils/simulation.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,7 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
|
-
- Add optional `isEIP7702GasFeeTokensEnabled` constructor callback ([#5706](https://github.com/MetaMask/core/pull/5706))
|
|
13
12
|
- Add optional `gasTransfer` property to `GasFeeToken` ([#5681](https://github.com/MetaMask/core/pull/5681))
|
|
14
13
|
|
|
15
14
|
## [54.2.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_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,
|
|
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_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");
|
|
@@ -48,7 +48,6 @@ const types_1 = require("./types.cjs");
|
|
|
48
48
|
const batch_1 = require("./utils/batch.cjs");
|
|
49
49
|
const eip7702_1 = require("./utils/eip7702.cjs");
|
|
50
50
|
const external_transactions_1 = require("./utils/external-transactions.cjs");
|
|
51
|
-
const feature_flags_1 = require("./utils/feature-flags.cjs");
|
|
52
51
|
const gas_1 = require("./utils/gas.cjs");
|
|
53
52
|
const gas_fees_1 = require("./utils/gas-fees.cjs");
|
|
54
53
|
const gas_flow_1 = require("./utils/gas-flow.cjs");
|
|
@@ -129,7 +128,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
129
128
|
* @param options - The controller options.
|
|
130
129
|
*/
|
|
131
130
|
constructor(options) {
|
|
132
|
-
const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled,
|
|
131
|
+
const { disableHistory, disableSendFlowHistory, disableSwaps, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getExternalPendingTransactions, getGasFeeEstimates, getNetworkClientRegistry, getNetworkState, getPermittedAccounts, getSavedGasFees, hooks, incomingTransactions = {}, isAutomaticGasFeeUpdateEnabled, isFirstTimeInteractionEnabled, isSimulationEnabled, messenger, pendingTransactions = {}, publicKeyEIP7702, securityProviderRequest, sign, state, testGasFeeFlows, trace, transactionHistoryLimit = 40, } = options;
|
|
133
132
|
super({
|
|
134
133
|
name: controllerName,
|
|
135
134
|
metadata,
|
|
@@ -158,7 +157,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
158
157
|
_TransactionController_incomingTransactionOptions.set(this, void 0);
|
|
159
158
|
_TransactionController_internalEvents.set(this, new events_1.EventEmitter());
|
|
160
159
|
_TransactionController_isAutomaticGasFeeUpdateEnabled.set(this, void 0);
|
|
161
|
-
_TransactionController_isEIP7702GasFeeTokensEnabled.set(this, void 0);
|
|
162
160
|
_TransactionController_isFirstTimeInteractionEnabled.set(this, void 0);
|
|
163
161
|
_TransactionController_isHistoryDisabled.set(this, void 0);
|
|
164
162
|
_TransactionController_isSendFlowHistoryDisabled.set(this, void 0);
|
|
@@ -197,7 +195,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
197
195
|
__classPrivateFieldSet(this, _TransactionController_getSavedGasFees, getSavedGasFees ?? ((_chainId) => undefined), "f");
|
|
198
196
|
__classPrivateFieldSet(this, _TransactionController_incomingTransactionOptions, incomingTransactions, "f");
|
|
199
197
|
__classPrivateFieldSet(this, _TransactionController_isAutomaticGasFeeUpdateEnabled, isAutomaticGasFeeUpdateEnabled ?? ((_txMeta) => false), "f");
|
|
200
|
-
__classPrivateFieldSet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, isEIP7702GasFeeTokensEnabled ?? (() => Promise.resolve(false)), "f");
|
|
201
198
|
__classPrivateFieldSet(this, _TransactionController_isFirstTimeInteractionEnabled, isFirstTimeInteractionEnabled ?? (() => true), "f");
|
|
202
199
|
__classPrivateFieldSet(this, _TransactionController_isHistoryDisabled, disableHistory ?? false, "f");
|
|
203
200
|
__classPrivateFieldSet(this, _TransactionController_isSendFlowHistoryDisabled, disableSendFlowHistory ?? false, "f");
|
|
@@ -1215,7 +1212,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1215
1212
|
}
|
|
1216
1213
|
}
|
|
1217
1214
|
exports.TransactionController = TransactionController;
|
|
1218
|
-
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = 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_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(),
|
|
1215
|
+
_TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSign = new WeakMap(), _TransactionController_approvingTransactionIds = new WeakMap(), _TransactionController_beforeCheckPendingTransaction = new WeakMap(), _TransactionController_beforePublish = 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_incomingTransactionHelper = new WeakMap(), _TransactionController_incomingTransactionOptions = new WeakMap(), _TransactionController_internalEvents = new WeakMap(), _TransactionController_isAutomaticGasFeeUpdateEnabled = new WeakMap(), _TransactionController_isFirstTimeInteractionEnabled = new WeakMap(), _TransactionController_isHistoryDisabled = new WeakMap(), _TransactionController_isSendFlowHistoryDisabled = new WeakMap(), _TransactionController_isSimulationEnabled = new WeakMap(), _TransactionController_isSwapsDisabled = 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_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, }) {
|
|
1219
1216
|
// If transaction is found for same action id, do not create a new transaction.
|
|
1220
1217
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionWithActionId).call(this, actionId)) {
|
|
1221
1218
|
return;
|
|
@@ -2000,7 +1997,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2000
1997
|
(0, logger_1.projectLogger)('Error fetching account address relationship, skipping first time interaction update', error);
|
|
2001
1998
|
}
|
|
2002
1999
|
}, _TransactionController_updateSimulationData = async function _TransactionController_updateSimulationData(transactionMeta, { blockTime, traceContext, } = {}) {
|
|
2003
|
-
const { id: transactionId, simulationData: prevSimulationData } = transactionMeta;
|
|
2000
|
+
const { id: transactionId, chainId, txParams, simulationData: prevSimulationData, } = transactionMeta;
|
|
2001
|
+
const { from, to, value, data } = txParams;
|
|
2004
2002
|
let simulationData = {
|
|
2005
2003
|
error: {
|
|
2006
2004
|
code: types_1.SimulationErrorCode.Disabled,
|
|
@@ -2010,11 +2008,19 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2010
2008
|
};
|
|
2011
2009
|
let gasFeeTokens = [];
|
|
2012
2010
|
if (__classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this)) {
|
|
2013
|
-
const
|
|
2011
|
+
const authorizationAddress = txParams?.authorizationList?.[0]?.address;
|
|
2012
|
+
const senderCode = authorizationAddress &&
|
|
2013
|
+
(eip7702_1.DELEGATION_PREFIX + (0, utils_1.remove0x)(authorizationAddress));
|
|
2014
|
+
const result = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, simulation_1.getSimulationData)({
|
|
2015
|
+
chainId,
|
|
2016
|
+
from: from,
|
|
2017
|
+
to: to,
|
|
2018
|
+
value: value,
|
|
2019
|
+
data: data,
|
|
2020
|
+
}, {
|
|
2014
2021
|
blockTime,
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
});
|
|
2022
|
+
senderCode,
|
|
2023
|
+
}));
|
|
2018
2024
|
gasFeeTokens = result?.gasFeeTokens;
|
|
2019
2025
|
simulationData = result?.simulationData;
|
|
2020
2026
|
if (blockTime &&
|
|
@@ -2145,50 +2151,5 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2145
2151
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, newTransactionMeta);
|
|
2146
2152
|
this.messagingSystem.publish(`${controllerName}:transactionFinished`, newTransactionMeta);
|
|
2147
2153
|
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionMeta.id}:finished`, newTransactionMeta);
|
|
2148
|
-
}, _TransactionController_getSimulationData = async function _TransactionController_getSimulationData({ blockTime, traceContext, transactionMeta, }) {
|
|
2149
|
-
const { chainId, delegationAddress, txParams } = transactionMeta;
|
|
2150
|
-
const { authorizationList: authorizationListRequest, data, from, to, value, } = txParams;
|
|
2151
|
-
const authorizationAddress = authorizationListRequest?.[0]?.address;
|
|
2152
|
-
const senderCode = authorizationAddress &&
|
|
2153
|
-
(eip7702_1.DELEGATION_PREFIX + (0, utils_1.remove0x)(authorizationAddress));
|
|
2154
|
-
const is7702GasFeeTokensEnabled = await __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f").call(this, transactionMeta);
|
|
2155
|
-
const use7702Fees = is7702GasFeeTokensEnabled &&
|
|
2156
|
-
(0, eip7702_1.doesChainSupportEIP7702)(chainId, this.messagingSystem);
|
|
2157
|
-
let authorizationList = authorizationListRequest?.map((authorization) => ({
|
|
2158
|
-
address: authorization.address,
|
|
2159
|
-
from: from,
|
|
2160
|
-
}));
|
|
2161
|
-
if (use7702Fees && !delegationAddress && !authorizationList) {
|
|
2162
|
-
authorizationList = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSimulationAuthorizationList).call(this, {
|
|
2163
|
-
chainId,
|
|
2164
|
-
from: from,
|
|
2165
|
-
});
|
|
2166
|
-
}
|
|
2167
|
-
return await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, simulation_1.getSimulationData)({
|
|
2168
|
-
authorizationList,
|
|
2169
|
-
chainId,
|
|
2170
|
-
data: data,
|
|
2171
|
-
from: from,
|
|
2172
|
-
to: to,
|
|
2173
|
-
value: value,
|
|
2174
|
-
}, {
|
|
2175
|
-
blockTime,
|
|
2176
|
-
senderCode,
|
|
2177
|
-
use7702Fees,
|
|
2178
|
-
}));
|
|
2179
|
-
}, _TransactionController_getSimulationAuthorizationList = function _TransactionController_getSimulationAuthorizationList({ chainId, from, }) {
|
|
2180
|
-
if (!__classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f")) {
|
|
2181
|
-
throw rpc_errors_1.rpcErrors.internal(eip7702_1.ERROR_MESSGE_PUBLIC_KEY);
|
|
2182
|
-
}
|
|
2183
|
-
const upgradeAddress = (0, feature_flags_1.getEIP7702UpgradeContractAddress)(chainId, this.messagingSystem, __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"));
|
|
2184
|
-
if (!upgradeAddress) {
|
|
2185
|
-
throw rpc_errors_1.rpcErrors.internal(batch_1.ERROR_MESSAGE_NO_UPGRADE_CONTRACT);
|
|
2186
|
-
}
|
|
2187
|
-
return [
|
|
2188
|
-
{
|
|
2189
|
-
address: upgradeAddress,
|
|
2190
|
-
from: from,
|
|
2191
|
-
},
|
|
2192
|
-
];
|
|
2193
2154
|
};
|
|
2194
2155
|
//# sourceMappingURL=TransactionController.cjs.map
|