Skip to content

Commit 342332e

Browse files
authored
fix: Persist user rejection optional data in rejected error (#5355)
## Explanation <!-- Thanks for your contribution! Take a moment to answer these questions so that reviewers have the information they need to properly understand your changes: * What is the current state of things and why does it need to change? * What is the solution your changes offer and how does it work? * Are there any changes whose purpose might not obvious to those unfamiliar with the domain? * If your primary goal was to update one package but you found you had to update another one along the way, why did you do so? * If you had to upgrade a dependency, why did you do so? --> This PR aims to persist optional data in rejected error from `TransactionController` ## References <!-- Are there any issues that this pull request is tied to? Are there other links that reviewers should consult to understand these changes better? Are there client or consumer pull requests to adopt any breaking changes? For example: * Fixes #12345 * Related to #67890 --> * Related to MetaMask/metamask-extension#30333 ## Changelog <!-- If you're making any consumer-facing changes, list those changes here as if you were updating a changelog, using the template below as a guide. (CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or FIXED. For security-related issues, follow the Security Advisory process.) Please take care to name the exact pieces of the API you've added or changed (e.g. types, interfaces, functions, or methods). If there are any breaking changes, make sure to offer a solution for consumers to follow once they upgrade to the changes. Finally, if you're only making changes to development scripts or tests, you may replace the template below with "None". --> ### `@metamask/transaction-controller` - **Added**: Adds persist of user rejected optional data on approval rejection ## Checklist - [X] I've updated the test suite for new or updated code as appropriate - [X] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [X] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [X] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
1 parent 8cc5322 commit 342332e

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

packages/transaction-controller/src/TransactionController.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2518,9 +2518,11 @@ export class TransactionController extends BaseController<
25182518
if (error?.code === errorCodes.provider.userRejectedRequest) {
25192519
this.cancelTransaction(transactionId, actionId);
25202520

2521-
throw providerErrors.userRejectedRequest(
2522-
'MetaMask Tx Signature: User denied transaction signature.',
2523-
);
2521+
throw providerErrors.userRejectedRequest({
2522+
message:
2523+
'MetaMask Tx Signature: User denied transaction signature.',
2524+
data: error?.data,
2525+
});
25242526
} else {
25252527
this.failTransaction(meta, error, actionId);
25262528
}

0 commit comments

Comments
 (0)