@metamask/transaction-controller 16.0.0 → 17.0.0

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.
Files changed (44) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/dist/TransactionController.d.ts +139 -15
  3. package/dist/TransactionController.d.ts.map +1 -1
  4. package/dist/TransactionController.js +461 -83
  5. package/dist/TransactionController.js.map +1 -1
  6. package/dist/constants.d.ts +2 -3
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +3 -15
  9. package/dist/constants.js.map +1 -1
  10. package/dist/helpers/PendingTransactionTracker.d.ts +22 -4
  11. package/dist/helpers/PendingTransactionTracker.d.ts.map +1 -1
  12. package/dist/helpers/PendingTransactionTracker.js +263 -108
  13. package/dist/helpers/PendingTransactionTracker.js.map +1 -1
  14. package/dist/logger.d.ts +0 -1
  15. package/dist/logger.d.ts.map +1 -1
  16. package/dist/logger.js +1 -2
  17. package/dist/logger.js.map +1 -1
  18. package/dist/types.d.ts +219 -6
  19. package/dist/types.d.ts.map +1 -1
  20. package/dist/types.js +1 -0
  21. package/dist/types.js.map +1 -1
  22. package/dist/utils/etherscan.d.ts.map +1 -1
  23. package/dist/utils/etherscan.js.map +1 -1
  24. package/dist/utils/gas-fees.d.ts +3 -2
  25. package/dist/utils/gas-fees.d.ts.map +1 -1
  26. package/dist/utils/gas-fees.js +22 -4
  27. package/dist/utils/gas-fees.js.map +1 -1
  28. package/dist/utils/gas.d.ts +2 -0
  29. package/dist/utils/gas.d.ts.map +1 -1
  30. package/dist/utils/gas.js +26 -17
  31. package/dist/utils/gas.js.map +1 -1
  32. package/dist/utils/swaps.d.ts +81 -0
  33. package/dist/utils/swaps.d.ts.map +1 -0
  34. package/dist/utils/swaps.js +240 -0
  35. package/dist/utils/swaps.js.map +1 -0
  36. package/dist/utils/utils.d.ts +11 -1
  37. package/dist/utils/utils.d.ts.map +1 -1
  38. package/dist/utils/utils.js +18 -2
  39. package/dist/utils/utils.js.map +1 -1
  40. package/dist/utils/validation.d.ts +1 -1
  41. package/dist/utils/validation.d.ts.map +1 -1
  42. package/dist/utils/validation.js +90 -7
  43. package/dist/utils/validation.js.map +1 -1
  44. package/package.json +10 -9
package/CHANGELOG.md CHANGED
@@ -6,6 +6,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [17.0.0]
10
+ ### Added
11
+ - **BREAKING:** Add additional support swaps support ([#1877](https://github.com/MetaMask/core/pull/1877))
12
+ - Swap transaction updates can be prevented by setting `disableSwaps` as `true`. If not set it will default to `false`.
13
+ - If `disableSwaps` is `false` or not set, then the `createSwapsTransaction` callback MUST be defined.
14
+ - Add optional hooks to support alternate flows ([#1787](https://github.com/MetaMask/core/pull/1787))
15
+ - Add the `getAdditionalSignArguments` hook to provide additional arguments when signing.
16
+ - Add the `beforeApproveOnInit` hook to execute additional logic before starting an approval flow for a transaction during initialization. Return `false` to skip the transaction.
17
+ - Add the `afterSign` hook to execute additional logic after signing a transaction. Return `false` to not change the `status` to `signed`.
18
+ - Add the `beforePublish` hook to execute additional logic before publishing a transaction. Return `false` to prevent the transaction being submitted.
19
+ - Add additional persisted transaction support during initialization and on network change ([#1916](https://github.com/MetaMask/core/pull/1916))
20
+ - Initialise approvals for unapproved transactions on the current network.
21
+ - Add missing gas values for unapproved transactions on the current network.
22
+ - Submit any approved transactions on the current network.
23
+ - Support saved gas fees ([#1966](https://github.com/MetaMask/core/pull/1966))
24
+ - Add optional `getSavedGasFees` callback to constructor.
25
+ - Add `updateCustodialTransaction` method to update custodial transactions ([#2018](https://github.com/MetaMask/core/pull/2018))
26
+ - Add `accessList` to txParam types ([#2016](https://github.com/MetaMask/core/pull/2016))
27
+ - Add `estimateGasBuffered` method to estimate gas and apply a specific buffer multiplier ([#2021](https://github.com/MetaMask/core/pull/2021))
28
+ - Add `updateSecurityAlertResponse` method ([#1985](https://github.com/MetaMask/core/pull/1985))
29
+ - Add gas values validation ([#1978](https://github.com/MetaMask/core/pull/1978))
30
+ - Add `approveTransactionsWithSameNonce` method ([#1961](https://github.com/MetaMask/core/pull/1961))
31
+ - Add `clearUnapprovedTransactions` method ([#1979](https://github.com/MetaMask/core/pull/1979))
32
+ - Add `updatePreviousGasParams` method ([#1943](https://github.com/MetaMask/core/pull/1943))
33
+ - Emit additional events to support metrics in the clients ([#1894](https://github.com/MetaMask/core/pull/1894))
34
+ - Populate the `firstRetryBlockNumber`, `retryCount`, and `warning` properties in the transaction metadata. ([#1896](https://github.com/MetaMask/core/pull/1896))
35
+
36
+ ### Changed
37
+ - **BREAKING:** Pending transactions are now automatically resubmitted. ([#1896](https://github.com/MetaMask/core/pull/1896))
38
+ - This can be disabled by setting the new `pendingTransactions.isResubmitEnabled` constructor option to `false`.
39
+ - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0
40
+ - Persist specific error properties in core transaction metadata ([#1915](https://github.com/MetaMask/core/pull/1915))
41
+ - Create `TransactionError` type with explicit properties.
42
+ - Align core transaction error messages with extension ([#1980](https://github.com/MetaMask/core/pull/1980))
43
+ - Catch of the `initApprovals` method to skip logging when the error is `userRejectedRequest`.
44
+ - Create an additional transaction metadata entry when calling `stopTransaction` ([#1998](https://github.com/MetaMask/core/pull/1998))
45
+ - Bump dependency `@metamask/eth-query` from ^3.0.1 to ^4.0.0 ([#2028](https://github.com/MetaMask/core/pull/2028))
46
+ - Bump dependency and peer dependency on `@metamask/gas-fee-controller` to ^10.0.1
47
+ - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957))
48
+
9
49
  ## [16.0.0]
10
50
  ### Changed
11
51
  - **BREAKING:** Bump dependency and peer dependency on `@metamask/gas-fee-controller` to ^10.0.0
@@ -248,7 +288,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
248
288
 
249
289
  All changes listed after this point were applied to this package following the monorepo conversion.
250
290
 
251
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@16.0.0...HEAD
291
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@17.0.0...HEAD
292
+ [17.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@16.0.0...@metamask/transaction-controller@17.0.0
252
293
  [16.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@15.0.0...@metamask/transaction-controller@16.0.0
253
294
  [15.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@14.0.0...@metamask/transaction-controller@15.0.0
254
295
  [14.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@13.0.0...@metamask/transaction-controller@14.0.0
@@ -9,8 +9,8 @@ import type { BlockTracker, NetworkState, Provider } from '@metamask/network-con
9
9
  import type { Hex } from '@metamask/utils';
10
10
  import { EventEmitter } from 'events';
11
11
  import type { NonceLock } from 'nonce-tracker/dist/NonceTracker';
12
- import type { TransactionParams, TransactionMeta, TransactionReceipt, SecurityProviderRequest, SendFlowHistoryEntry, WalletDevice } from './types';
13
- import { TransactionType } from './types';
12
+ import type { Events, SavedGasFees, SecurityProviderRequest, SendFlowHistoryEntry, TransactionParams, TransactionMeta, TransactionReceipt, WalletDevice, SecurityAlertResponse } from './types';
13
+ import { TransactionType, TransactionStatus } from './types';
14
14
  export declare const HARDFORK = Hardfork.London;
15
15
  /**
16
16
  * @type Result
@@ -86,18 +86,24 @@ declare type AllowedActions = AddApprovalRequest;
86
86
  * The messenger of the {@link TransactionController}.
87
87
  */
88
88
  export declare type TransactionControllerMessenger = RestrictedControllerMessenger<typeof controllerName, AllowedActions, never, AllowedActions['type'], never>;
89
+ export interface TransactionControllerEventEmitter extends EventEmitter {
90
+ on<T extends keyof Events>(eventName: T, listener: (...args: Events[T]) => void): this;
91
+ emit<T extends keyof Events>(eventName: T, ...args: Events[T]): boolean;
92
+ }
89
93
  /**
90
94
  * Controller responsible for submitting and managing transactions.
91
95
  */
92
96
  export declare class TransactionController extends BaseController<TransactionConfig, TransactionState> {
93
97
  private ethQuery;
94
98
  private readonly isHistoryDisabled;
99
+ private readonly isSwapsDisabled;
95
100
  private readonly isSendFlowHistoryDisabled;
101
+ private readonly inProcessOfSigning;
96
102
  private readonly nonceTracker;
97
103
  private registry;
98
104
  private readonly provider;
99
- private readonly handle?;
100
105
  private readonly mutex;
106
+ private readonly getSavedGasFees;
101
107
  private readonly getNetworkState;
102
108
  private readonly getCurrentAccountEIP1559Compatibility;
103
109
  private readonly getCurrentNetworkEIP1559Compatibility;
@@ -108,12 +114,17 @@ export declare class TransactionController extends BaseController<TransactionCon
108
114
  private readonly incomingTransactionHelper;
109
115
  private readonly securityProviderRequest?;
110
116
  private readonly pendingTransactionTracker;
117
+ private readonly afterSign;
118
+ private readonly beforeApproveOnInit;
119
+ private readonly beforeCheckPendingTransaction;
120
+ private readonly beforePublish;
121
+ private readonly getAdditionalSignArguments;
111
122
  private failTransaction;
112
123
  private registryLookup;
113
124
  /**
114
125
  * EventEmitter instance used to listen to specific transactional events
115
126
  */
116
- hub: EventEmitter;
127
+ hub: TransactionControllerEventEmitter;
117
128
  /**
118
129
  * Name of this controller used during composition
119
130
  */
@@ -121,7 +132,7 @@ export declare class TransactionController extends BaseController<TransactionCon
121
132
  /**
122
133
  * Method used to sign transactions
123
134
  */
124
- sign?: (transaction: TypedTransaction, from: string) => Promise<TypedTransaction>;
135
+ sign?: (transaction: TypedTransaction, from: string, transactionMeta?: TransactionMeta) => Promise<TypedTransaction>;
125
136
  /**
126
137
  * Creates a TransactionController instance.
127
138
  *
@@ -129,6 +140,8 @@ export declare class TransactionController extends BaseController<TransactionCon
129
140
  * @param options.blockTracker - The block tracker used to poll for new blocks data.
130
141
  * @param options.disableHistory - Whether to disable storing history in transaction metadata.
131
142
  * @param options.disableSendFlowHistory - Explicitly disable transaction metadata history.
143
+ * @param options.disableSwaps - Whether to disable additional processing on swaps transactions.
144
+ * @param options.getSavedGasFees - Gets the saved gas fee config.
132
145
  * @param options.getCurrentAccountEIP1559Compatibility - Whether or not the account supports EIP-1559.
133
146
  * @param options.getCurrentNetworkEIP1559Compatibility - Whether or not the network supports EIP-1559.
134
147
  * @param options.getGasFeeEstimates - Callback to retrieve gas fee estimates.
@@ -142,22 +155,32 @@ export declare class TransactionController extends BaseController<TransactionCon
142
155
  * @param options.incomingTransactions.updateTransactions - Whether to update local transactions using remote transaction data.
143
156
  * @param options.messenger - The controller messenger.
144
157
  * @param options.onNetworkStateChange - Allows subscribing to network controller state changes.
158
+ * @param options.pendingTransactions - Configuration options for pending transaction support.
159
+ * @param options.pendingTransactions.isResubmitEnabled - Whether transaction publishing is automatically retried.
145
160
  * @param options.provider - The provider used to create the underlying EthQuery instance.
146
161
  * @param options.securityProviderRequest - A function for verifying a transaction, whether it is malicious or not.
162
+ * @param options.hooks - The controller hooks.
163
+ * @param options.hooks.afterSign - Additional logic to execute after signing a transaction. Return false to not change the status to signed.
164
+ * @param options.hooks.beforeApproveOnInit - Additional logic to execute before starting an approval flow for a transaction during initialization. Return false to skip the transaction.
165
+ * @param options.hooks.beforeCheckPendingTransaction - Additional logic to execute before checking pending transactions. Return false to prevent the broadcast of the transaction.
166
+ * @param options.hooks.beforePublish - Additional logic to execute before publishing a transaction. Return false to prevent the broadcast of the transaction.
167
+ * @param options.hooks.getAdditionalSignArguments - Returns additional arguments required to sign a transaction.
147
168
  * @param config - Initial options used to configure this controller.
148
169
  * @param state - Initial state to set on this controller.
149
170
  */
150
- constructor({ blockTracker, disableHistory, disableSendFlowHistory, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getGasFeeEstimates, getNetworkState, getPermittedAccounts, getSelectedAddress, incomingTransactions, messenger, onNetworkStateChange, provider, securityProviderRequest, }: {
171
+ constructor({ blockTracker, disableHistory, disableSendFlowHistory, disableSwaps, getSavedGasFees, getCurrentAccountEIP1559Compatibility, getCurrentNetworkEIP1559Compatibility, getGasFeeEstimates, getNetworkState, getPermittedAccounts, getSelectedAddress, incomingTransactions, messenger, onNetworkStateChange, pendingTransactions, provider, securityProviderRequest, hooks, }: {
151
172
  blockTracker: BlockTracker;
152
173
  disableHistory: boolean;
153
174
  disableSendFlowHistory: boolean;
175
+ disableSwaps: boolean;
176
+ getSavedGasFees?: (chainId: Hex) => SavedGasFees | undefined;
154
177
  getCurrentAccountEIP1559Compatibility: () => Promise<boolean>;
155
178
  getCurrentNetworkEIP1559Compatibility: () => Promise<boolean>;
156
179
  getGasFeeEstimates?: () => Promise<GasFeeState>;
157
180
  getNetworkState: () => NetworkState;
158
181
  getPermittedAccounts: (origin?: string) => Promise<string[]>;
159
182
  getSelectedAddress: () => string;
160
- incomingTransactions: {
183
+ incomingTransactions?: {
161
184
  includeTokenTransfers?: boolean;
162
185
  isEnabled?: () => boolean;
163
186
  queryEntireHistory?: boolean;
@@ -165,8 +188,18 @@ export declare class TransactionController extends BaseController<TransactionCon
165
188
  };
166
189
  messenger: TransactionControllerMessenger;
167
190
  onNetworkStateChange: (listener: (state: NetworkState) => void) => void;
191
+ pendingTransactions?: {
192
+ isResubmitEnabled?: boolean;
193
+ };
168
194
  provider: Provider;
169
195
  securityProviderRequest?: SecurityProviderRequest;
196
+ hooks: {
197
+ afterSign?: (transactionMeta: TransactionMeta, signedTx: TypedTransaction) => boolean;
198
+ beforeApproveOnInit?: (transactionMeta: TransactionMeta) => boolean;
199
+ beforeCheckPendingTransaction?: (transactionMeta: TransactionMeta) => boolean;
200
+ beforePublish?: (transactionMeta: TransactionMeta) => boolean;
201
+ getAdditionalSignArguments?: (transactionMeta: TransactionMeta) => (TransactionMeta | undefined)[];
202
+ };
170
203
  }, config?: Partial<TransactionConfig>, state?: Partial<TransactionState>);
171
204
  /**
172
205
  * Handle new method data request.
@@ -190,25 +223,28 @@ export declare class TransactionController extends BaseController<TransactionCon
190
223
  * @param opts.securityAlertResponse - Response from security validator.
191
224
  * @param opts.sendFlowHistory - The sendFlowHistory entries to add.
192
225
  * @param opts.type - Type of transaction to add, such as 'cancel' or 'swap'.
226
+ * @param opts.swaps - Options for swaps transactions.
227
+ * @param opts.swaps.hasApproveTx - Whether the transaction has an approval transaction.
228
+ * @param opts.swaps.meta - Metadata for swap transaction.
193
229
  * @returns Object containing a promise resolving to the transaction hash if approved.
194
230
  */
195
- addTransaction(txParams: TransactionParams, { actionId, deviceConfirmedOn, method, origin, requireApproval, securityAlertResponse, sendFlowHistory, type, }?: {
231
+ addTransaction(txParams: TransactionParams, { actionId, deviceConfirmedOn, method, origin, requireApproval, securityAlertResponse, sendFlowHistory, swaps, type, }?: {
196
232
  actionId?: string;
197
233
  deviceConfirmedOn?: WalletDevice;
198
234
  method?: string;
199
235
  origin?: string;
200
236
  requireApproval?: boolean | undefined;
201
- securityAlertResponse?: Record<string, unknown>;
237
+ securityAlertResponse?: SecurityAlertResponse;
202
238
  sendFlowHistory?: SendFlowHistoryEntry[];
239
+ swaps?: {
240
+ hasApproveTx?: boolean;
241
+ meta?: Partial<TransactionMeta>;
242
+ };
203
243
  type?: TransactionType;
204
244
  }): Promise<Result>;
205
245
  startIncomingTransactionPolling(): void;
206
246
  stopIncomingTransactionPolling(): void;
207
247
  updateIncomingTransactions(): Promise<void>;
208
- /**
209
- * Creates approvals for all unapproved transactions persisted.
210
- */
211
- initApprovals(): void;
212
248
  /**
213
249
  * Attempts to cancel a transaction based on its ID by setting its status to "rejected"
214
250
  * and emitting a `<tx.id>:finished` hub event.
@@ -216,10 +252,12 @@ export declare class TransactionController extends BaseController<TransactionCon
216
252
  * @param transactionId - The ID of the transaction to cancel.
217
253
  * @param gasValues - The gas values to use for the cancellation transaction.
218
254
  * @param options - The options for the cancellation transaction.
255
+ * @param options.actionId - Unique ID to prevent duplicate requests.
219
256
  * @param options.estimatedBaseFee - The estimated base fee of the transaction.
220
257
  */
221
- stopTransaction(transactionId: string, gasValues?: GasPriceValue | FeeMarketEIP1559Values, { estimatedBaseFee }?: {
258
+ stopTransaction(transactionId: string, gasValues?: GasPriceValue | FeeMarketEIP1559Values, { estimatedBaseFee, actionId, }?: {
222
259
  estimatedBaseFee?: string;
260
+ actionId?: string;
223
261
  }): Promise<void>;
224
262
  /**
225
263
  * Attempts to speed up a transaction increasing transaction gasPrice by ten percent.
@@ -251,6 +289,23 @@ export declare class TransactionController extends BaseController<TransactionCon
251
289
  };
252
290
  } | undefined;
253
291
  }>;
292
+ /**
293
+ * Estimates required gas for a given transaction and add additional gas buffer with the given multiplier.
294
+ *
295
+ * @param transaction - The transaction params to estimate gas for.
296
+ * @param multiplier - The multiplier to use for the gas buffer.
297
+ */
298
+ estimateGasBuffered(transaction: TransactionParams, multiplier: number): Promise<{
299
+ gas: string;
300
+ simulationFails: {
301
+ reason: any;
302
+ errorKey: any;
303
+ debug: {
304
+ blockNumber: string;
305
+ blockGasLimit: string;
306
+ };
307
+ } | undefined;
308
+ }>;
254
309
  /**
255
310
  * Updates an existing transaction in state.
256
311
  *
@@ -258,6 +313,13 @@ export declare class TransactionController extends BaseController<TransactionCon
258
313
  * @param note - A note or update reason to include in the transaction history.
259
314
  */
260
315
  updateTransaction(transactionMeta: TransactionMeta, note: string): void;
316
+ /**
317
+ * Update the security alert response for a transaction.
318
+ *
319
+ * @param transactionId - ID of the transaction.
320
+ * @param securityAlertResponse - The new security alert response for the transaction.
321
+ */
322
+ updateSecurityAlertResponse(transactionId: string, securityAlertResponse: SecurityAlertResponse): void;
261
323
  /**
262
324
  * Removes all transactions from state, optionally based on the current network.
263
325
  *
@@ -317,6 +379,21 @@ export declare class TransactionController extends BaseController<TransactionCon
317
379
  userEditedGasLimit?: boolean;
318
380
  userFeeLevel?: string;
319
381
  }): TransactionMeta;
382
+ /**
383
+ * Update the previous gas values of a transaction.
384
+ *
385
+ * @param transactionId - The ID of the transaction to update.
386
+ * @param previousGas - Previous gas values to update.
387
+ * @param previousGas.gasLimit - Maxmimum number of units of gas to use for this transaction.
388
+ * @param previousGas.maxFeePerGas - Maximum amount per gas to pay for the transaction, including the priority fee.
389
+ * @param previousGas.maxPriorityFeePerGas - Maximum amount per gas to give to validator as incentive.
390
+ * @returns The updated transactionMeta.
391
+ */
392
+ updatePreviousGasParams(transactionId: string, { gasLimit, maxFeePerGas, maxPriorityFeePerGas, }: {
393
+ gasLimit?: string;
394
+ maxFeePerGas?: string;
395
+ maxPriorityFeePerGas?: string;
396
+ }): TransactionMeta;
320
397
  /**
321
398
  * Gets the next nonce according to the nonce-tracker.
322
399
  * Ensure `releaseLock` is called once processing of the `nonce` value is complete.
@@ -325,6 +402,50 @@ export declare class TransactionController extends BaseController<TransactionCon
325
402
  * @returns object with the `nextNonce` `nonceDetails`, and the releaseLock.
326
403
  */
327
404
  getNonceLock(address: string): Promise<NonceLock>;
405
+ /**
406
+ * Signs and returns the raw transaction data for provided transaction params list.
407
+ *
408
+ * @param listOfTxParams - The list of transaction params to approve.
409
+ * @returns The raw transactions.
410
+ */
411
+ approveTransactionsWithSameNonce(listOfTxParams?: TransactionParams[]): Promise<string | string[]>;
412
+ /**
413
+ * Update a custodial transaction.
414
+ *
415
+ * @param transactionId - The ID of the transaction to update.
416
+ * @param options - The custodial transaction options to update.
417
+ * @param options.custodyStatus - The new custody status value to be assigned.
418
+ * @param options.errorMessage - The error message to be assigned in case transaction status update to failed.
419
+ * @param options.hash - The new hash value to be assigned.
420
+ * @param options.status - The new status value to be assigned.
421
+ */
422
+ updateCustodialTransaction(transactionId: string, { custodyStatus, errorMessage, hash, status, }: {
423
+ custodyStatus?: string;
424
+ errorMessage?: string;
425
+ hash?: string;
426
+ status?: TransactionStatus;
427
+ }): void;
428
+ private signExternalTransaction;
429
+ /**
430
+ * Removes unapproved transactions from state.
431
+ */
432
+ clearUnapprovedTransactions(): void;
433
+ private addMetadata;
434
+ private updateGasProperties;
435
+ private getCurrentChainTransactionsByStatus;
436
+ private onBootCleanup;
437
+ /**
438
+ * Create approvals for all unapproved transactions on current chain.
439
+ */
440
+ private createApprovalsForUnapprovedTransactions;
441
+ /**
442
+ * Update the gas values of all unapproved transactions on current chain.
443
+ */
444
+ private loadGasValuesForUnapprovedTransactions;
445
+ /**
446
+ * Force to submit approved transactions on current chain.
447
+ */
448
+ private submitApprovedTransactions;
328
449
  private processApproval;
329
450
  /**
330
451
  * Approves a transaction and updates it's status in state. If this is not a
@@ -335,11 +456,13 @@ export declare class TransactionController extends BaseController<TransactionCon
335
456
  * @param transactionId - The ID of the transaction to approve.
336
457
  */
337
458
  private approveTransaction;
459
+ private publishTransaction;
338
460
  /**
339
461
  * Cancels a transaction based on its ID by setting its status to "rejected"
340
462
  * and emitting a `<tx.id>:finished` hub event.
341
463
  *
342
464
  * @param transactionId - The ID of the transaction to cancel.
465
+ * @param actionId - The actionId passed from UI
343
466
  */
344
467
  private cancelTransaction;
345
468
  /**
@@ -389,7 +512,6 @@ export declare class TransactionController extends BaseController<TransactionCon
389
512
  private getCommonConfiguration;
390
513
  private onIncomingTransactions;
391
514
  private onUpdatedLastFetchedBlockNumbers;
392
- private onPendingTransactionsUpdate;
393
515
  private generateDappSuggestedGasFees;
394
516
  /**
395
517
  * Validates and adds external provided transaction to state.
@@ -427,6 +549,8 @@ export declare class TransactionController extends BaseController<TransactionCon
427
549
  */
428
550
  private updateTransactionMetaRSV;
429
551
  private getEIP1559Compatibility;
552
+ private addPendingTransactionTrackerListeners;
553
+ private signTransaction;
430
554
  }
431
555
  export default TransactionController;
432
556
  //# sourceMappingURL=TransactionController.d.ts.map
@@ -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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"}