@metamask-previews/transaction-controller 70.1.0-preview-d3f9964be → 70.1.0-preview-aecbce4ff

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,6 +7,18 @@ 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 `membershipSubscription` transaction type ([#10340](https://github.com/MetaMask/core/pull/10340))
13
+
14
+ ### Changed
15
+
16
+ - **BREAKING:** Move sponsorship and signing decisions to optional approval-time `isSponsored` and `shouldSign` hooks ([#10109](https://github.com/MetaMask/core/pull/10109))
17
+ - The hooks default to non-sponsored and local signing when omitted. Sponsored transactions skip the `shouldSign` hook and local signing, while transactions that skip local signing retain an existing nonce and require a publish hook.
18
+ - `isGasFeeSponsored` and `isExternalSign` remain in the public types as deprecated compatibility properties but no longer control the transaction lifecycle; `isGasFeeSponsored` remains available as migration metadata.
19
+ - Add `TransactionMeta.isGasFeeSponsoredAvailable` and refresh it during approval preparation when simulation is enabled so sponsorship hooks receive current availability without overriding simulation preferences.
20
+ - Bump `bn.js` from `^5.2.1` to `^5.2.5` ([#10362](https://github.com/MetaMask/core/pull/10362))
21
+
10
22
  ## [70.1.0]
11
23
 
12
24
  ### Changed
@@ -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, PublishBatchHook, GasFeeToken, IsAtomicBatchSupportedResult, IsAtomicBatchSupportedRequest, AfterAddHook, TransactionBatchMeta, 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, IsGasSponsoredHook, ShouldSignHook, 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
  /**
@@ -126,7 +126,7 @@ export type TransactionControllerOptions = {
126
126
  testGasFeeFlows?: boolean;
127
127
  trace?: TraceCallback;
128
128
  /** The controller hooks. */
129
- hooks: {
129
+ hooks?: {
130
130
  /** Additional logic to execute after adding a transaction. */
131
131
  afterAdd?: AfterAddHook;
132
132
  /**
@@ -140,14 +140,24 @@ export type TransactionControllerOptions = {
140
140
  */
141
141
  beforePublish?: (transactionMeta: TransactionMeta) => Promise<boolean>;
142
142
  /**
143
- * Additional logic to execute before signing a transaction.
143
+ * Preparation logic to execute before deciding whether to sign locally.
144
+ * Runs even when `shouldSign` returns false.
144
145
  */
145
146
  beforeSign?: BeforeSignHook;
147
+ /**
148
+ * Additional logic to determine whether a transaction is sponsored.
149
+ */
150
+ isSponsored?: IsGasSponsoredHook;
146
151
  /** Alternate logic to publish a transaction. */
147
152
  publish?: (transactionMeta: TransactionMeta) => Promise<{
148
153
  transactionHash: string;
149
154
  }>;
150
155
  publishBatch?: PublishBatchHook;
156
+ /**
157
+ * Policy logic to determine whether to reserve a nonce and sign locally.
158
+ * Use `beforeSign` for transaction preparation instead.
159
+ */
160
+ shouldSign?: ShouldSignHook;
151
161
  };
152
162
  };
153
163
  /**
@@ -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,6 +164,8 @@ export class TransactionController extends BaseController {
164
164
  #afterAdd;
165
165
  #approvingTransactionIds = new Set();
166
166
  #beforeCheckPendingTransaction;
167
+ #isSponsored;
168
+ #shouldSign;
167
169
  #beforePublish;
168
170
  #beforeSign;
169
171
  #gasFeeFlows;
@@ -182,6 +184,7 @@ export class TransactionController extends BaseController {
182
184
  #multichainTrackingHelper;
183
185
  #publicKeyEIP7702;
184
186
  #publish;
187
+ #publishHookProvided;
185
188
  #publishBatchHook;
186
189
  #signAbortCallbacks = new Map();
187
190
  #skipSimulationTransactionIds = new Set();
@@ -211,6 +214,12 @@ export class TransactionController extends BaseController {
211
214
  /* istanbul ignore next */
212
215
  hooks?.beforeCheckPendingTransaction ??
213
216
  (() => Promise.resolve(true));
217
+ this.#isSponsored =
218
+ hooks?.isSponsored ??
219
+ (() => Promise.resolve({ isSponsored: false }));
220
+ this.#shouldSign =
221
+ hooks?.shouldSign ??
222
+ (() => Promise.resolve({ shouldSign: true }));
214
223
  this.#beforePublish =
215
224
  hooks?.beforePublish ?? (() => Promise.resolve(true));
216
225
  this.#beforeSign =
@@ -235,6 +244,7 @@ export class TransactionController extends BaseController {
235
244
  this.#isSwapsDisabled = disableSwaps ?? false;
236
245
  this.#isTimeoutEnabled = isTimeoutEnabled ?? (() => true);
237
246
  this.#publicKeyEIP7702 = publicKeyEIP7702;
247
+ this.#publishHookProvided = hooks?.publish !== undefined;
238
248
  this.#publish =
239
249
  hooks?.publish ??
240
250
  (() => Promise.resolve({ transactionHash: undefined }));
@@ -437,9 +447,8 @@ export class TransactionController extends BaseController {
437
447
  id: random(),
438
448
  isGasFeeTokenIgnoredIfBalance,
439
449
  isGasFeeIncluded,
440
- isGasFeeSponsored,
441
- ...(isGasFeeSponsored ? { isExternalSign: true } : {}),
442
450
  // To avoid the property to be set as undefined.
451
+ ...(isGasFeeSponsored === undefined ? {} : { isGasFeeSponsored }),
443
452
  ...(excludeNativeTokenForFee === undefined
444
453
  ? {}
445
454
  : { excludeNativeTokenForFee }),
@@ -1669,10 +1678,6 @@ export class TransactionController extends BaseController {
1669
1678
  }
1670
1679
  this.#approvingTransactionIds.add(transactionId);
1671
1680
  clearApprovingTransactionId = () => this.#approvingTransactionIds.delete(transactionId);
1672
- const { networkClientId } = transactionMeta;
1673
- const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => this.#multichainTrackingHelper.getNonceLock(address, transactionMeta.networkClientId));
1674
- clearNonceLock = releaseNonce;
1675
- // eslint-disable-next-line require-atomic-updates
1676
1681
  transactionMeta = this.#updateTransactionInternal({
1677
1682
  transactionId,
1678
1683
  }, (draftTxMeta) => {
@@ -1681,23 +1686,48 @@ export class TransactionController extends BaseController {
1681
1686
  draftTxMeta.status = TransactionStatus.approved;
1682
1687
  draftTxMeta.txParams.chainId = chainId;
1683
1688
  draftTxMeta.txParams.gasLimit = gas;
1684
- draftTxMeta.txParams.nonce = nonce;
1685
1689
  if (!type && isEIP1559Transaction(txParams)) {
1686
1690
  draftTxMeta.txParams.type = TransactionEnvelopeType.feeMarket;
1687
1691
  }
1688
1692
  });
1689
- this.#onTransactionStatusChange(transactionMeta);
1690
- const rawTx = await this.#trace({ name: 'Sign', parentContext: traceContext }, () => this.#signTransaction(transactionMeta));
1691
1693
  // eslint-disable-next-line require-atomic-updates
1692
- transactionMeta = this.#getTransactionOrThrow(transactionId);
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 { isSponsored } = await this.#isSponsored({ transactionMeta });
1700
+ const shouldSign = isSponsored
1701
+ ? false
1702
+ : (await this.#shouldSign({ transactionMeta })).shouldSign;
1703
+ let rawTx;
1704
+ if (shouldSign) {
1705
+ const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => this.#multichainTrackingHelper.getNonceLock(address, transactionMeta.networkClientId));
1706
+ clearNonceLock = releaseNonce;
1707
+ // eslint-disable-next-line require-atomic-updates
1708
+ transactionMeta = this.#updateTransactionInternal({
1709
+ transactionId,
1710
+ }, (draftTxMeta) => {
1711
+ draftTxMeta.txParams.nonce = nonce;
1712
+ });
1713
+ }
1714
+ this.#onTransactionStatusChange(transactionMeta);
1715
+ if (shouldSign) {
1716
+ rawTx = await this.#trace({ name: 'Sign', parentContext: traceContext }, () => this.#signTransaction(transactionMeta));
1717
+ // eslint-disable-next-line require-atomic-updates
1718
+ transactionMeta = this.#getTransactionOrThrow(transactionId);
1719
+ }
1693
1720
  if (!(await this.#beforePublish(transactionMeta))) {
1694
1721
  log('Skipping publishing transaction based on hook');
1695
1722
  this.messenger.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
1696
1723
  return ApprovalState.SkippedViaBeforePublishHook;
1697
1724
  }
1698
- if (!rawTx && !transactionMeta.isExternalSign) {
1725
+ if (!rawTx && shouldSign) {
1699
1726
  return ApprovalState.NotApproved;
1700
1727
  }
1728
+ if (!shouldSign && !publishHookOverride && !this.#publishHookProvided) {
1729
+ throw new Error('Cannot publish a transaction when there is no local signing and no publish hook');
1730
+ }
1701
1731
  let preTxBalance;
1702
1732
  const shouldUpdatePreTxBalance = transactionMeta.type === TransactionType.swap;
1703
1733
  if (shouldUpdatePreTxBalance) {
@@ -2040,8 +2070,7 @@ export class TransactionController extends BaseController {
2040
2070
  async #getEIP1559Compatibility(networkClientId) {
2041
2071
  return ((await this.messenger.call('NetworkController:getEIP1559Compatibility', networkClientId)) ?? false);
2042
2072
  }
2043
- async #signTransaction(originalTransactionMeta) {
2044
- let transactionMeta = originalTransactionMeta;
2073
+ async #applyBeforeSignHook(transactionMeta) {
2045
2074
  const { id: transactionId } = transactionMeta;
2046
2075
  log('Calling before sign hook', transactionMeta);
2047
2076
  const { updateTransaction } = (await this.#beforeSign({ transactionMeta })) ?? {};
@@ -2049,21 +2078,39 @@ export class TransactionController extends BaseController {
2049
2078
  this.#updateTransactionInternal({ transactionId, skipResimulateCheck: true }, updateTransaction);
2050
2079
  log('Updated transaction after before sign hook');
2051
2080
  }
2052
- transactionMeta = this.#getTransactionOrThrow(transactionId);
2053
- const { networkClientId } = transactionMeta;
2081
+ return this.#getTransactionOrThrow(transactionId);
2082
+ }
2083
+ async #prepareTransactionBeforeApproval(transactionMeta) {
2084
+ const { id: transactionId, networkClientId } = transactionMeta;
2085
+ let preparedTransactionMeta = transactionMeta;
2086
+ let gasFeeTokens = transactionMeta.gasFeeTokens ?? [];
2087
+ const shouldRefreshGasFeeTokens = this.#isSimulationEnabled(transactionMeta) ||
2088
+ (Boolean(transactionMeta.selectedGasFeeToken) &&
2089
+ (transactionMeta.isGasFeeTokenIgnoredIfBalance === true ||
2090
+ transactionMeta.excludeNativeTokenForFee === true));
2091
+ if (shouldRefreshGasFeeTokens) {
2092
+ this.#simulationRequestTokens.delete(transactionId);
2093
+ const gasFeeTokensResult = await this.#getGasFeeTokens(transactionMeta);
2094
+ gasFeeTokens = gasFeeTokensResult.gasFeeTokens;
2095
+ preparedTransactionMeta = this.#updateTransactionInternal({ transactionId }, (draftTxMeta) => {
2096
+ draftTxMeta.gasFeeTokens = gasFeeTokens;
2097
+ draftTxMeta.isGasFeeSponsoredAvailable =
2098
+ gasFeeTokensResult.isGasFeeSponsoredAvailable;
2099
+ });
2100
+ }
2054
2101
  await checkGasFeeTokenBeforePublish({
2055
2102
  messenger: this.messenger,
2056
2103
  networkClientId,
2057
- fetchGasFeeTokens: async (tx) => (await this.#getGasFeeTokens(tx)).gasFeeTokens,
2058
- transaction: transactionMeta,
2104
+ fetchGasFeeTokens: async () => gasFeeTokens,
2105
+ transaction: preparedTransactionMeta,
2059
2106
  updateTransaction: (txId, fn) => this.#updateTransactionInternal({ transactionId: txId }, fn),
2060
2107
  });
2061
- transactionMeta = this.#getTransactionOrThrow(transactionId);
2062
- const { chainId, isExternalSign, txParams } = transactionMeta;
2063
- if (isExternalSign) {
2064
- log('Skipping sign as signed externally');
2065
- return undefined;
2066
- }
2108
+ return this.#getTransactionOrThrow(transactionId);
2109
+ }
2110
+ async #signTransaction(originalTransactionMeta) {
2111
+ let transactionMeta = originalTransactionMeta;
2112
+ const { id: transactionId } = transactionMeta;
2113
+ const { chainId, txParams } = transactionMeta;
2067
2114
  const { authorizationList, from } = txParams;
2068
2115
  const signedAuthorizationList = await signAuthorizationList({
2069
2116
  authorizationList,
@@ -2286,7 +2333,7 @@ export class TransactionController extends BaseController {
2286
2333
  };
2287
2334
  let gasUsed;
2288
2335
  let gasFeeTokens = [];
2289
- let isGasFeeSponsored = false;
2336
+ let isGasFeeSponsoredAvailable;
2290
2337
  let simulationRevert;
2291
2338
  const simulationRequestToken = Symbol(transactionId);
2292
2339
  this.#simulationRequestTokens.set(transactionId, simulationRequestToken);
@@ -2321,9 +2368,8 @@ export class TransactionController extends BaseController {
2321
2368
  }
2322
2369
  }
2323
2370
  if (isSimulationEnabled) {
2324
- const gasFeeTokensResponse = await this.#getGasFeeTokens(transactionMeta);
2325
- gasFeeTokens = gasFeeTokensResponse?.gasFeeTokens ?? [];
2326
- isGasFeeSponsored = gasFeeTokensResponse?.isGasFeeSponsored ?? false;
2371
+ ({ gasFeeTokens, isGasFeeSponsoredAvailable } =
2372
+ await this.#getGasFeeTokens(transactionMeta));
2327
2373
  }
2328
2374
  if (this.#simulationRequestTokens.get(transactionId) !==
2329
2375
  simulationRequestToken) {
@@ -2341,10 +2387,8 @@ export class TransactionController extends BaseController {
2341
2387
  skipResimulateCheck: Boolean(blockTime),
2342
2388
  }, (txMeta) => {
2343
2389
  txMeta.gasFeeTokens = gasFeeTokens;
2344
- txMeta.isGasFeeSponsored =
2345
- txMeta.isGasFeeSponsored ?? isGasFeeSponsored;
2346
- if (txMeta.isGasFeeSponsored) {
2347
- txMeta.isExternalSign = true;
2390
+ if (isGasFeeSponsoredAvailable !== undefined) {
2391
+ txMeta.isGasFeeSponsoredAvailable = isGasFeeSponsoredAvailable;
2348
2392
  }
2349
2393
  if (!this.#isBalanceChangesSkipped(txMeta)) {
2350
2394
  txMeta.gasUsed = gasUsed;
@@ -2513,12 +2557,14 @@ export class TransactionController extends BaseController {
2513
2557
  await this.#trace({ name: 'Publish', parentContext: traceContext }, async () => {
2514
2558
  const publishHook = publishHookOverride ?? this.#publish;
2515
2559
  ({ transactionHash } = await publishHook(transactionMeta, signedTx));
2516
- // eslint-disable-next-line require-atomic-updates
2517
- transactionHash ??= await this.#publishTransaction({
2518
- ...transactionMeta,
2519
- networkClientId,
2520
- rawTx: signedTx,
2521
- });
2560
+ if (signedTx !== '0x') {
2561
+ // eslint-disable-next-line require-atomic-updates
2562
+ transactionHash ??= await this.#publishTransaction({
2563
+ ...transactionMeta,
2564
+ networkClientId,
2565
+ rawTx: signedTx,
2566
+ });
2567
+ }
2522
2568
  });
2523
2569
  log('Publish successful', transactionHash);
2524
2570
  return { transactionHash };
@@ -2550,7 +2596,6 @@ export class TransactionController extends BaseController {
2550
2596
  const transaction = {
2551
2597
  chainId,
2552
2598
  delegationAddress,
2553
- isExternalSign: true,
2554
2599
  txParams: {
2555
2600
  data,
2556
2601
  from,
@@ -2558,8 +2603,7 @@ export class TransactionController extends BaseController {
2558
2603
  value,
2559
2604
  },
2560
2605
  };
2561
- const result = await this.#getGasFeeTokens(transaction);
2562
- return result.gasFeeTokens;
2606
+ return (await this.#getGasFeeTokens(transaction)).gasFeeTokens;
2563
2607
  }
2564
2608
  }
2565
2609
  //# sourceMappingURL=TransactionController.js.map