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

Optimize MerkleTree for loops by using uint256 iterators #5415

Merged

Conversation

heueristik
Copy link
Contributor

@heueristik heueristik commented Jan 6, 2025

Fixes #5414

Changes the for loop iterators in MerkleTree iterating from 0 to uint8 treeDepth from uint32 to uint256 to minimize conversions and save gas.

PR Checklist

  • Tests
  • Documentation
  • Changeset entry (run npx changeset add)

Copy link

changeset-bot bot commented Jan 6, 2025

⚠️ No Changeset found

Latest commit: d0e791e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@heueristik heueristik marked this pull request as ready for review January 6, 2025 13:53
@ernestognw
Copy link
Member

Sharing my thoughts on the issue

We need to decide whether the breaking change is worth it

No need for a changeset since the change it's not perceived by the developers using the library neither the end users
@ernestognw ernestognw requested review from ernestognw and a team January 6, 2025 23:41
Copy link
Member

@ernestognw ernestognw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a second approval, perhaps @arr00?

@ernestognw ernestognw merged commit a99b31f into OpenZeppelin:master Jan 7, 2025
20 of 21 checks passed
@heueristik heueristik deleted the refactor/merkle-tree-loops branch January 7, 2025 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use uint256 iterators in MerkleTree loops
3 participants