Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Nonce customization is not disabled for Smart transactions #29841

Closed
sleepytanya opened this issue Jan 22, 2025 · 0 comments · Fixed by #29891
Closed

[Bug]: Nonce customization is not disabled for Smart transactions #29841

sleepytanya opened this issue Jan 22, 2025 · 0 comments · Fixed by #29891
Assignees
Labels
regression-RC-12.11.0 Regression bug that was found in release candidate (RC) for release 12.11.0 release-12.12.0 Issue or pull request that will be included in release 12.12.0 release-blocker This bug is blocking the next release Sev1-high High severity; partial loss of service with severe impact upon users, with no workaround. team-confirmations Push issues to confirmations team team-transactions Transactions team type-bug

Comments

@sleepytanya
Copy link
Contributor

sleepytanya commented Jan 22, 2025

Describe the bug

Nonce customization is not disabled for Smart transactions. Transaction with modified nonce can be created but eventually fails with Transaction does not have a transaction hash, there was a problem error

Expected behavior

Custom nonce should be disabled for STX

Screenshots/Recordings

Image

Screen.Recording.2025-01-21.at.22.07.57.mov
Image

Steps to reproduce

  1. Connect to mainnet
  2. Disable Settings->Advanced->Customize transaction nonce
  3. Enable Settings->Advanced->Smart Transactions
  4. Start Send transaction

Error messages or log output

Error in smart transaction publish hook Error: Transaction does not have a transaction hash, there was a problem
    at SmartTransactionHook.submit (js-scripts_b.ea45fab…e8ba95f.js:12227:23)
    at async js-node_modules_metamask_r.531e1f8d4eae141ff1c7.js:56434:46
    at async TransactionController.approveTransaction (js-node_modules_metamask_r.531e1f8d4eae141ff1c7.js:56430:13)
    at async TransactionController.processApproval (js-node_modules_metamask_r.531e1f8d4eae141ff1c7.js:56320:44)

Detection stage

In production (default)

Version

v12.11.0

Build type

None

Browser

Chrome

Operating system

MacOS

Hardware wallet

No response

Additional context

No response

Severity

No response

@sleepytanya sleepytanya added regression-RC-12.11.0 Regression bug that was found in release candidate (RC) for release 12.11.0 release-blocker This bug is blocking the next release Sev1-high High severity; partial loss of service with severe impact upon users, with no workaround. team-transactions Transactions team type-bug labels Jan 22, 2025
@github-project-automation github-project-automation bot moved this to To be fixed in Bugs by severity Jan 22, 2025
@github-project-automation github-project-automation bot moved this to To be fixed in Bugs by team Jan 22, 2025
@pedronfigueiredo pedronfigueiredo self-assigned this Jan 24, 2025
@pedronfigueiredo pedronfigueiredo added the team-confirmations Push issues to confirmations team label Jan 24, 2025
github-merge-queue bot pushed a commit that referenced this issue Jan 24, 2025
#29891)

… enabled


<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

We [recently enabled custom nonce editing in all redesigned
flows](#29627),
independently of the custom nonce editing settings toggle. This toggle
was still used in the legacy flows that are no longer visible by the
user, and it will be removed soon in an upcoming PR.

This resulted in nonce editing being available for smart transactions
which is not needed as the user should never need to manipulate nonces
of smart transactions. This PR fixes this by removing that option to the
user.

If smart transactions are enabled but the transaction is on a chain that
doesn't currently support smart transactions, the nonce is still
editable.

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29891?quickstart=1)

## **Related issues**

Fixes: #29841

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
@github-project-automation github-project-automation bot moved this from To be fixed to Fixed in Bugs by team Jan 24, 2025
pedronfigueiredo added a commit that referenced this issue Jan 24, 2025
#29891)

… enabled


<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

We [recently enabled custom nonce editing in all redesigned
flows](#29627),
independently of the custom nonce editing settings toggle. This toggle
was still used in the legacy flows that are no longer visible by the
user, and it will be removed soon in an upcoming PR.

This resulted in nonce editing being available for smart transactions
which is not needed as the user should never need to manipulate nonces
of smart transactions. This PR fixes this by removing that option to the
user.

If smart transactions are enabled but the transaction is on a chain that
doesn't currently support smart transactions, the nonce is still
editable.

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29891?quickstart=1)

## **Related issues**

Fixes: #29841

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
@metamaskbot metamaskbot added the release-12.12.0 Issue or pull request that will be included in release 12.12.0 label Jan 24, 2025
dbrans pushed a commit that referenced this issue Jan 24, 2025
…nsactions are… (#29897)

…… (#29891)

… enabled

Cherrypicked PR:
#29891

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

We [recently enabled custom nonce editing in all redesigned
flows](#29627),
independently of the custom nonce editing settings toggle. This toggle
was still used in the legacy flows that are no longer visible by the
user, and it will be removed soon in an upcoming PR.

This resulted in nonce editing being available for smart transactions
which is not needed as the user should never need to manipulate nonces
of smart transactions. This PR fixes this by removing that option to the
user.

If smart transactions are enabled but the transaction is on a chain that
doesn't currently support smart transactions, the nonce is still
editable.

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution? -->

[![Open in GitHub

Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29891?quickstart=1)

## **Related issues**

Fixes: #29841

## **Manual testing steps**

1. Go to this page... 2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding

Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.


<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29897?quickstart=1)

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
regression-RC-12.11.0 Regression bug that was found in release candidate (RC) for release 12.11.0 release-12.12.0 Issue or pull request that will be included in release 12.12.0 release-blocker This bug is blocking the next release Sev1-high High severity; partial loss of service with severe impact upon users, with no workaround. team-confirmations Push issues to confirmations team team-transactions Transactions team type-bug
Projects
Archived in project
Status: Fixed
Development

Successfully merging a pull request may close this issue.

5 participants