@metamask-previews/transaction-controller 72.2.0-preview-082d695 → 72.2.0-preview-6ccf7a055

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 CHANGED
@@ -7,36 +7,11 @@ 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 optional `shouldSign` hook to decide whether a transaction reserves a nonce and is signed locally ([#10575](https://github.com/MetaMask/core/pull/10575))
13
- - Defaults to signing locally when omitted.
14
- - `beforeSign` runs before `shouldSign`, including when local signing is skipped.
15
- - A `publish` hook is required when `shouldSign` returns `false`; the controller no longer falls back to `eth_sendRawTransaction` with an unsigned payload.
16
- - Add `forceIsGasFeeSponsored` to `AddTransactionOptions`, `TransactionBatchRequest`, and `TransactionMeta` so transaction creators can require gas fee sponsorship from client hooks ([#10575](https://github.com/MetaMask/core/pull/10575))
17
- - Add `isGasFeeSponsoredAvailable` to `TransactionMeta`, set from simulation and refreshed on approval when simulation is enabled ([#10575](https://github.com/MetaMask/core/pull/10575))
18
- - Add optional `isGasFeeSponsored` to `PublishHookResult` and the `onPublish` callback of existing batch transactions ([#10575](https://github.com/MetaMask/core/pull/10575))
19
-
20
10
  ### Changed
21
11
 
22
- - **BREAKING:** Gas fee sponsorship no longer controls signing or publication ([#10575](https://github.com/MetaMask/core/pull/10575))
23
- - `TransactionMeta.isGasFeeSponsored` is now set once when the transaction is published, from the `isGasFeeSponsored` value returned by the publish hook. Simulation no longer sets it.
24
- - Replace `isGasFeeSponsored` in `addTransaction` and `addTransactionBatch` options with `forceIsGasFeeSponsored`, and decide sponsorship in client hooks.
25
- - Nonce reservation now happens after `beforeSign` and the gas fee token check, and only when signing locally. Existing nonces are kept when local signing is skipped.
26
- - **BREAKING:** `hooks` is now optional in `TransactionControllerOptions` and `hooks.publish` uses the `PublishHook` type ([#10575](https://github.com/MetaMask/core/pull/10575))
27
- - `getGasFeeTokens` now sets `isGasFeeTokenIgnoredIfBalance` on the transaction passed to `isEIP7702GasFeeTokensEnabled`, so clients can include EIP-7702 gas fee tokens for gas fee token estimates ([#10575](https://github.com/MetaMask/core/pull/10575))
28
12
  - Bump `@metamask/rpc-errors` from `^7.0.2` to `^7.0.3` ([#10718](https://github.com/MetaMask/core/pull/10718))
29
13
  - Bump `@metamask/core-backend` from `^12.0.1` to `^12.1.0` ([#10788](https://github.com/MetaMask/core/pull/10788))
30
14
 
31
- ### Removed
32
-
33
- - **BREAKING:** Remove `isExternalSign` from `TransactionMeta` ([#10575](https://github.com/MetaMask/core/pull/10575))
34
- - Use the `shouldSign` hook to skip local signing.
35
-
36
- ### Fixed
37
-
38
- - Count confirmed transactions when choosing the next nonce, so a mined transaction is not reused when `eth_getTransactionCount` is still behind that transaction ([#10803](https://github.com/MetaMask/core/pull/10803))
39
-
40
15
  ## [72.2.0]
41
16
 
42
17
  ### Added
@@ -12,7 +12,7 @@ import type { NonceLock } from '@metamask/nonce-tracker';
12
12
  import type { RemoteFeatureFlagControllerGetStateAction } from '@metamask/remote-feature-flag-controller';
13
13
  import type { Hex } from '@metamask/utils';
14
14
  import type { TransactionControllerMethodActions } from './TransactionController-method-action-types.js';
15
- import type { SavedGasFees, SendFlowHistoryEntry, TransactionParams, TransactionMeta, TransactionReceipt, SecurityAlertResponse, GasFeeFlowResponse, GasPriceValue, FeeMarketEIP1559Values, SubmitHistoryEntry, TransactionBatchRequest, TransactionBatchResult, BatchTransactionParams, UpdateCustodialTransactionRequest, PublishHook, PublishBatchHook, GasFeeToken, IsAtomicBatchSupportedResult, IsAtomicBatchSupportedRequest, AfterAddHook, TransactionBatchMeta, ShouldSignHook, BeforeSignHook, GetSimulationConfig, AddTransactionOptions, GetGasFeeTokensRequest } from './types.js';
15
+ import type { SavedGasFees, SendFlowHistoryEntry, TransactionParams, TransactionMeta, TransactionReceipt, SecurityAlertResponse, GasFeeFlowResponse, GasPriceValue, FeeMarketEIP1559Values, SubmitHistoryEntry, TransactionBatchRequest, TransactionBatchResult, BatchTransactionParams, UpdateCustodialTransactionRequest, PublishBatchHook, GasFeeToken, IsAtomicBatchSupportedResult, IsAtomicBatchSupportedRequest, AfterAddHook, TransactionBatchMeta, BeforeSignHook, GetSimulationConfig, AddTransactionOptions, GetGasFeeTokensRequest } from './types.js';
16
16
  import { TransactionContainerType } from './types.js';
17
17
  import type { EstimateGasBatchResult } from './utils/gas.js';
18
18
  /**
@@ -128,7 +128,7 @@ export type TransactionControllerOptions = {
128
128
  testGasFeeFlows?: boolean;
129
129
  trace?: TraceCallback;
130
130
  /** The controller hooks. */
131
- hooks?: {
131
+ hooks: {
132
132
  /** Additional logic to execute after adding a transaction. */
133
133
  afterAdd?: AfterAddHook;
134
134
  /**
@@ -142,21 +142,14 @@ export type TransactionControllerOptions = {
142
142
  */
143
143
  beforePublish?: (transactionMeta: TransactionMeta) => Promise<boolean>;
144
144
  /**
145
- * Preparation logic to execute before deciding whether to sign locally.
146
- * Runs even when `shouldSign` returns false.
145
+ * Additional logic to execute before signing a transaction.
147
146
  */
148
147
  beforeSign?: BeforeSignHook;
149
- /**
150
- * Alternate logic to publish a transaction.
151
- * Required when `shouldSign` returns false.
152
- */
153
- publish?: PublishHook;
148
+ /** Alternate logic to publish a transaction. */
149
+ publish?: (transactionMeta: TransactionMeta) => Promise<{
150
+ transactionHash: string;
151
+ }>;
154
152
  publishBatch?: PublishBatchHook;
155
- /**
156
- * Policy logic to determine whether to reserve a nonce and sign locally.
157
- * Use `beforeSign` for transaction preparation instead.
158
- */
159
- shouldSign?: ShouldSignHook;
160
153
  };
161
154
  };
162
155
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../src/TransactionController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../src/TransactionController.ts"],"names":[],"mappings":"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"}
@@ -164,7 +164,6 @@ export class TransactionController extends BaseController {
164
164
  #afterAdd;
165
165
  #approvingTransactionIds = new Set();
166
166
  #beforeCheckPendingTransaction;
167
- #shouldSign;
168
167
  #beforePublish;
169
168
  #beforeSign;
170
169
  #gasFeeFlows;
@@ -184,7 +183,6 @@ export class TransactionController extends BaseController {
184
183
  #multichainTrackingHelper;
185
184
  #publicKeyEIP7702;
186
185
  #publish;
187
- #publishHookProvided;
188
186
  #publishBatchHook;
189
187
  #signAbortCallbacks = new Map();
190
188
  #skipSimulationTransactionIds = new Set();
@@ -214,9 +212,6 @@ export class TransactionController extends BaseController {
214
212
  /* istanbul ignore next */
215
213
  hooks?.beforeCheckPendingTransaction ??
216
214
  (() => Promise.resolve(true));
217
- this.#shouldSign =
218
- hooks?.shouldSign ??
219
- (() => Promise.resolve({ shouldSign: true }));
220
215
  this.#beforePublish =
221
216
  hooks?.beforePublish ?? (() => Promise.resolve(true));
222
217
  this.#beforeSign =
@@ -242,7 +237,6 @@ export class TransactionController extends BaseController {
242
237
  this.#isSwapsDisabled = disableSwaps ?? false;
243
238
  this.#isTimeoutEnabled = isTimeoutEnabled ?? (() => true);
244
239
  this.#publicKeyEIP7702 = publicKeyEIP7702;
245
- this.#publishHookProvided = hooks?.publish !== undefined;
246
240
  this.#publish =
247
241
  hooks?.publish ??
248
242
  (() => Promise.resolve({ transactionHash: undefined }));
@@ -389,7 +383,7 @@ export class TransactionController extends BaseController {
389
383
  */
390
384
  async addTransaction(txParams, options) {
391
385
  log('Adding transaction', txParams, options);
392
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, excludeNativeTokenForFee, forceIsGasFeeSponsored, isGasFeeIncluded, isInternal = false, isStateOnly, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
386
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, excludeNativeTokenForFee, isGasFeeIncluded, isGasFeeSponsored, isInternal = false, isStateOnly, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
393
387
  // eslint-disable-next-line no-param-reassign
394
388
  txParams = normalizeTransactionParams(txParams);
395
389
  if (!this.#multichainTrackingHelper.has(networkClientId)) {
@@ -445,10 +439,9 @@ export class TransactionController extends BaseController {
445
439
  id: random(),
446
440
  isGasFeeTokenIgnoredIfBalance,
447
441
  isGasFeeIncluded,
442
+ isGasFeeSponsored,
443
+ ...(isGasFeeSponsored ? { isExternalSign: true } : {}),
448
444
  // To avoid the property to be set as undefined.
449
- ...(forceIsGasFeeSponsored === undefined
450
- ? {}
451
- : { forceIsGasFeeSponsored }),
452
445
  ...(excludeNativeTokenForFee === undefined
453
446
  ? {}
454
447
  : { excludeNativeTokenForFee }),
@@ -1678,6 +1671,10 @@ export class TransactionController extends BaseController {
1678
1671
  }
1679
1672
  this.#approvingTransactionIds.add(transactionId);
1680
1673
  clearApprovingTransactionId = () => this.#approvingTransactionIds.delete(transactionId);
1674
+ const { networkClientId } = transactionMeta;
1675
+ const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => this.#multichainTrackingHelper.getNonceLock(address, transactionMeta.networkClientId));
1676
+ clearNonceLock = releaseNonce;
1677
+ // eslint-disable-next-line require-atomic-updates
1681
1678
  transactionMeta = this.#updateTransactionInternal({
1682
1679
  transactionId,
1683
1680
  }, (draftTxMeta) => {
@@ -1686,45 +1683,23 @@ export class TransactionController extends BaseController {
1686
1683
  draftTxMeta.status = TransactionStatus.approved;
1687
1684
  draftTxMeta.txParams.chainId = chainId;
1688
1685
  draftTxMeta.txParams.gasLimit = gas;
1686
+ draftTxMeta.txParams.nonce = nonce;
1689
1687
  if (!type && isEIP1559Transaction(txParams)) {
1690
1688
  draftTxMeta.txParams.type = TransactionEnvelopeType.feeMarket;
1691
1689
  }
1692
1690
  });
1693
- // eslint-disable-next-line require-atomic-updates
1694
- transactionMeta = await this.#applyBeforeSignHook(transactionMeta);
1695
- // eslint-disable-next-line require-atomic-updates
1696
- transactionMeta =
1697
- await this.#prepareTransactionBeforeApproval(transactionMeta);
1698
- const { networkClientId } = transactionMeta;
1699
- const { shouldSign } = await this.#shouldSign({ transactionMeta });
1700
- let rawTx;
1701
- if (shouldSign) {
1702
- const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => this.#multichainTrackingHelper.getNonceLock(address, transactionMeta.networkClientId));
1703
- clearNonceLock = releaseNonce;
1704
- // eslint-disable-next-line require-atomic-updates
1705
- transactionMeta = this.#updateTransactionInternal({
1706
- transactionId,
1707
- }, (draftTxMeta) => {
1708
- draftTxMeta.txParams.nonce = nonce;
1709
- });
1710
- }
1711
1691
  this.#onTransactionStatusChange(transactionMeta);
1712
- if (shouldSign) {
1713
- rawTx = await this.#trace({ name: 'Sign', parentContext: traceContext }, () => this.#signTransaction(transactionMeta));
1714
- // eslint-disable-next-line require-atomic-updates
1715
- transactionMeta = this.#getTransactionOrThrow(transactionId);
1716
- }
1692
+ const rawTx = await this.#trace({ name: 'Sign', parentContext: traceContext }, () => this.#signTransaction(transactionMeta));
1693
+ // eslint-disable-next-line require-atomic-updates
1694
+ transactionMeta = this.#getTransactionOrThrow(transactionId);
1717
1695
  if (!(await this.#beforePublish(transactionMeta))) {
1718
1696
  log('Skipping publishing transaction based on hook');
1719
1697
  this.messenger.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
1720
1698
  return ApprovalState.SkippedViaBeforePublishHook;
1721
1699
  }
1722
- if (!rawTx && shouldSign) {
1700
+ if (!rawTx && !transactionMeta.isExternalSign) {
1723
1701
  return ApprovalState.NotApproved;
1724
1702
  }
1725
- if (!shouldSign && !publishHookOverride && !this.#publishHookProvided) {
1726
- throw new Error('Cannot publish a transaction when there is no local signing and no publish hook');
1727
- }
1728
1703
  let preTxBalance;
1729
1704
  const shouldUpdatePreTxBalance = transactionMeta.type === TransactionType.swap;
1730
1705
  if (shouldUpdatePreTxBalance) {
@@ -1753,13 +1728,12 @@ export class TransactionController extends BaseController {
1753
1728
  });
1754
1729
  publishHook = extraTransactionsPublishHook.getHook();
1755
1730
  }
1756
- const { isGasFeeSponsored, transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
1731
+ const { transactionHash: hash } = await publishHook(transactionMeta, rawTx ?? '0x');
1757
1732
  // eslint-disable-next-line require-atomic-updates
1758
1733
  transactionMeta = this.#updateTransactionInternal({
1759
1734
  transactionId,
1760
1735
  }, (draftTxMeta) => {
1761
1736
  draftTxMeta.hash = hash;
1762
- draftTxMeta.isGasFeeSponsored = Boolean(isGasFeeSponsored);
1763
1737
  draftTxMeta.status = TransactionStatus.submitted;
1764
1738
  draftTxMeta.submittedTime ??= new Date().getTime();
1765
1739
  if (shouldUpdatePreTxBalance) {
@@ -2068,7 +2042,8 @@ export class TransactionController extends BaseController {
2068
2042
  async #getEIP1559Compatibility(networkClientId) {
2069
2043
  return ((await this.messenger.call('NetworkController:getEIP1559Compatibility', networkClientId)) ?? false);
2070
2044
  }
2071
- async #applyBeforeSignHook(transactionMeta) {
2045
+ async #signTransaction(originalTransactionMeta) {
2046
+ let transactionMeta = originalTransactionMeta;
2072
2047
  const { id: transactionId } = transactionMeta;
2073
2048
  log('Calling before sign hook', transactionMeta);
2074
2049
  const { updateTransaction } = (await this.#beforeSign({ transactionMeta })) ?? {};
@@ -2076,39 +2051,21 @@ export class TransactionController extends BaseController {
2076
2051
  this.#updateTransactionInternal({ transactionId, skipResimulateCheck: true }, updateTransaction);
2077
2052
  log('Updated transaction after before sign hook');
2078
2053
  }
2079
- return this.#getTransactionOrThrow(transactionId);
2080
- }
2081
- async #prepareTransactionBeforeApproval(transactionMeta) {
2082
- const { id: transactionId, networkClientId } = transactionMeta;
2083
- let preparedTransactionMeta = transactionMeta;
2084
- let gasFeeTokens = transactionMeta.gasFeeTokens ?? [];
2085
- const shouldRefreshGasFeeTokens = this.#isSimulationEnabled(transactionMeta) ||
2086
- (Boolean(transactionMeta.selectedGasFeeToken) &&
2087
- (transactionMeta.isGasFeeTokenIgnoredIfBalance === true ||
2088
- transactionMeta.excludeNativeTokenForFee === true));
2089
- if (shouldRefreshGasFeeTokens) {
2090
- this.#simulationRequestTokens.delete(transactionId);
2091
- const gasFeeTokensResult = await this.#getGasFeeTokens(transactionMeta);
2092
- gasFeeTokens = gasFeeTokensResult.gasFeeTokens;
2093
- preparedTransactionMeta = this.#updateTransactionInternal({ transactionId }, (draftTxMeta) => {
2094
- draftTxMeta.gasFeeTokens = gasFeeTokens;
2095
- draftTxMeta.isGasFeeSponsoredAvailable =
2096
- gasFeeTokensResult.isGasFeeSponsoredAvailable;
2097
- });
2098
- }
2054
+ transactionMeta = this.#getTransactionOrThrow(transactionId);
2055
+ const { networkClientId } = transactionMeta;
2099
2056
  await checkGasFeeTokenBeforePublish({
2100
2057
  messenger: this.messenger,
2101
2058
  networkClientId,
2102
- fetchGasFeeTokens: async () => gasFeeTokens,
2103
- transaction: preparedTransactionMeta,
2059
+ fetchGasFeeTokens: async (tx) => (await this.#getGasFeeTokens(tx)).gasFeeTokens,
2060
+ transaction: transactionMeta,
2104
2061
  updateTransaction: (txId, fn) => this.#updateTransactionInternal({ transactionId: txId }, fn),
2105
2062
  });
2106
- return this.#getTransactionOrThrow(transactionId);
2107
- }
2108
- async #signTransaction(originalTransactionMeta) {
2109
- let transactionMeta = originalTransactionMeta;
2110
- const { id: transactionId } = transactionMeta;
2111
- const { chainId, txParams } = transactionMeta;
2063
+ transactionMeta = this.#getTransactionOrThrow(transactionId);
2064
+ const { chainId, isExternalSign, txParams } = transactionMeta;
2065
+ if (isExternalSign) {
2066
+ log('Skipping sign as signed externally');
2067
+ return undefined;
2068
+ }
2112
2069
  const { authorizationList, from } = txParams;
2113
2070
  const signedAuthorizationList = await signAuthorizationList({
2114
2071
  authorizationList,
@@ -2198,7 +2155,7 @@ export class TransactionController extends BaseController {
2198
2155
  // TODO: Fix types
2199
2156
  blockTracker,
2200
2157
  getPendingTransactions: this.#getNonceTrackerPendingTransactions.bind(this, chainId),
2201
- getConfirmedTransactions: this.#getNonceTrackerConfirmedTransactions.bind(this, chainId),
2158
+ getConfirmedTransactions: this.#getNonceTrackerTransactions.bind(this, [TransactionStatus.confirmed], chainId),
2202
2159
  });
2203
2160
  }
2204
2161
  #createPendingTransactionTracker({ blockTracker, networkClientId, }) {
@@ -2237,9 +2194,6 @@ export class TransactionController extends BaseController {
2237
2194
  pendingTransactionTracker.hub.on('transaction-failed', this.#failTransaction.bind(this));
2238
2195
  pendingTransactionTracker.hub.on('transaction-updated', this.updateTransaction.bind(this));
2239
2196
  }
2240
- #getNonceTrackerConfirmedTransactions(chainId, address) {
2241
- return this.#getNonceTrackerTransactions([TransactionStatus.confirmed], address, chainId);
2242
- }
2243
2197
  #getNonceTrackerPendingTransactions(chainId, address) {
2244
2198
  const standardPendingTransactions = this.#getNonceTrackerTransactions([
2245
2199
  TransactionStatus.approved,
@@ -2334,7 +2288,7 @@ export class TransactionController extends BaseController {
2334
2288
  };
2335
2289
  let gasUsed;
2336
2290
  let gasFeeTokens = [];
2337
- let isGasFeeSponsoredAvailable;
2291
+ let isGasFeeSponsored = false;
2338
2292
  let simulationRevert;
2339
2293
  const simulationRequestToken = Symbol(transactionId);
2340
2294
  this.#simulationRequestTokens.set(transactionId, simulationRequestToken);
@@ -2369,8 +2323,9 @@ export class TransactionController extends BaseController {
2369
2323
  }
2370
2324
  }
2371
2325
  if (isSimulationEnabled) {
2372
- ({ gasFeeTokens, isGasFeeSponsoredAvailable } =
2373
- await this.#getGasFeeTokens(transactionMeta));
2326
+ const gasFeeTokensResponse = await this.#getGasFeeTokens(transactionMeta);
2327
+ gasFeeTokens = gasFeeTokensResponse?.gasFeeTokens ?? [];
2328
+ isGasFeeSponsored = gasFeeTokensResponse?.isGasFeeSponsored ?? false;
2374
2329
  }
2375
2330
  if (this.#simulationRequestTokens.get(transactionId) !==
2376
2331
  simulationRequestToken) {
@@ -2388,8 +2343,10 @@ export class TransactionController extends BaseController {
2388
2343
  skipResimulateCheck: Boolean(blockTime),
2389
2344
  }, (txMeta) => {
2390
2345
  txMeta.gasFeeTokens = gasFeeTokens;
2391
- if (isGasFeeSponsoredAvailable !== undefined) {
2392
- txMeta.isGasFeeSponsoredAvailable = isGasFeeSponsoredAvailable;
2346
+ txMeta.isGasFeeSponsored =
2347
+ txMeta.isGasFeeSponsored ?? isGasFeeSponsored;
2348
+ if (txMeta.isGasFeeSponsored) {
2349
+ txMeta.isExternalSign = true;
2393
2350
  }
2394
2351
  if (!this.#isBalanceChangesSkipped(txMeta)) {
2395
2352
  txMeta.gasUsed = gasUsed;
@@ -2554,22 +2511,19 @@ export class TransactionController extends BaseController {
2554
2511
  this.#internalEvents.emit(`${transactionMeta.id}:finished`, newTransactionMeta);
2555
2512
  }
2556
2513
  async #defaultPublishHook({ networkClientId, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
2557
- let isGasFeeSponsored;
2558
2514
  let transactionHash;
2559
2515
  await this.#trace({ name: 'Publish', parentContext: traceContext }, async () => {
2560
2516
  const publishHook = publishHookOverride ?? this.#publish;
2561
- ({ isGasFeeSponsored, transactionHash } = await publishHook(transactionMeta, signedTx));
2562
- if (signedTx !== '0x') {
2563
- // eslint-disable-next-line require-atomic-updates
2564
- transactionHash ??= await this.#publishTransaction({
2565
- ...transactionMeta,
2566
- networkClientId,
2567
- rawTx: signedTx,
2568
- });
2569
- }
2517
+ ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2518
+ // eslint-disable-next-line require-atomic-updates
2519
+ transactionHash ??= await this.#publishTransaction({
2520
+ ...transactionMeta,
2521
+ networkClientId,
2522
+ rawTx: signedTx,
2523
+ });
2570
2524
  });
2571
2525
  log('Publish successful', transactionHash);
2572
- return { isGasFeeSponsored, transactionHash };
2526
+ return { transactionHash };
2573
2527
  }
2574
2528
  async #getGasFeeTokens(transaction) {
2575
2529
  const { chainId } = transaction;
@@ -2595,12 +2549,10 @@ export class TransactionController extends BaseController {
2595
2549
  chainId,
2596
2550
  });
2597
2551
  const delegationAddress = await getDelegationAddress(from, this.messenger, networkClientId);
2598
- // Gas fee token estimates always intend to pay with a token, so clients
2599
- // can include EIP-7702 gas fee tokens.
2600
2552
  const transaction = {
2601
2553
  chainId,
2602
2554
  delegationAddress,
2603
- isGasFeeTokenIgnoredIfBalance: true,
2555
+ isExternalSign: true,
2604
2556
  txParams: {
2605
2557
  data,
2606
2558
  from,
@@ -2608,7 +2560,8 @@ export class TransactionController extends BaseController {
2608
2560
  value,
2609
2561
  },
2610
2562
  };
2611
- return (await this.#getGasFeeTokens(transaction)).gasFeeTokens;
2563
+ const result = await this.#getGasFeeTokens(transaction);
2564
+ return result.gasFeeTokens;
2612
2565
  }
2613
2566
  }
2614
2567
  //# sourceMappingURL=TransactionController.js.map