diff --git a/packages/transaction-controller/CHANGELOG.md b/packages/transaction-controller/CHANGELOG.md index 385a6fba845..fdbfd537fd5 100644 --- a/packages/transaction-controller/CHANGELOG.md +++ b/packages/transaction-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Expose `TransactionController:wipeTransactions` method through `TransactionController` messenger ([#8592](https://github.com/MetaMask/core/pull/8592)) + ## [64.4.0] ### Changed diff --git a/packages/transaction-controller/src/TransactionController-method-action-types.ts b/packages/transaction-controller/src/TransactionController-method-action-types.ts index 40d43876846..03e2e937a8e 100644 --- a/packages/transaction-controller/src/TransactionController-method-action-types.ts +++ b/packages/transaction-controller/src/TransactionController-method-action-types.ts @@ -161,6 +161,18 @@ export type TransactionControllerUpdateTransactionAction = { handler: TransactionController['updateTransaction']; }; +/** + * Remove transactions from state. + * + * @param options - The options bag. + * @param options.address - Remove transactions from this account only. Defaults to all accounts. + * @param options.chainId - Remove transactions for the specified chain only. Defaults to all chains. + */ +export type TransactionControllerWipeTransactionsAction = { + type: `TransactionController:wipeTransactions`; + handler: TransactionController['wipeTransactions']; +}; + /** * Adds external provided transaction to state as confirmed transaction. * @@ -367,6 +379,7 @@ export type TransactionControllerMethodActions = | TransactionControllerEstimateGasBatchAction | TransactionControllerEstimateGasBufferedAction | TransactionControllerUpdateTransactionAction + | TransactionControllerWipeTransactionsAction | TransactionControllerConfirmExternalTransactionAction | TransactionControllerGetNonceLockAction | TransactionControllerUpdateEditableParamsAction diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index ac6e9561d99..05b164a58fb 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -759,6 +759,7 @@ const MESSENGER_EXPOSED_METHODS = [ 'updateEditableParams', 'updateIncomingTransactions', 'updateTransaction', + 'wipeTransactions', ] as const; /** diff --git a/packages/transaction-controller/src/index.ts b/packages/transaction-controller/src/index.ts index cceeb032054..b699986dc99 100644 --- a/packages/transaction-controller/src/index.ts +++ b/packages/transaction-controller/src/index.ts @@ -53,6 +53,7 @@ export type { TransactionControllerClearUnapprovedTransactionsAction, TransactionControllerAbortTransactionSigningAction, TransactionControllerUpdateAtomicBatchDataAction, + TransactionControllerWipeTransactionsAction, } from './TransactionController-method-action-types'; export { CANCEL_RATE,