Optimize MerkleTree for loops by using uint256 iterators#5415
Merged
ernestognw merged 3 commits intoOpenZeppelin:masterfrom Jan 7, 2025
heueristik:refactor/merkle-tree-loops
Merged
Optimize MerkleTree for loops by using uint256 iterators#5415ernestognw merged 3 commits intoOpenZeppelin:masterfrom heueristik:refactor/merkle-tree-loops
MerkleTree for loops by using uint256 iterators#5415ernestognw merged 3 commits intoOpenZeppelin:masterfrom
heueristik:refactor/merkle-tree-loops
Conversation
|
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
approved these changes
Jan 6, 2025
Member
ernestognw
left a comment
There was a problem hiding this comment.
We need a second approval, perhaps @arr00?
arr00
approved these changes
Jan 6, 2025
Dargon789
added a commit
to Dargon789/openzeppelin-contracts
that referenced
this pull request
Feb 15, 2025
* Update ReentrancyGuardTransient documentation (OpenZeppelin#5417) * Optimize `MerkleTree` for loops by using `uint256` iterators (OpenZeppelin#5415) Co-authored-by: Ernesto García <ernestognw@gmail.com> * Update `_revokeRole` documentation in AccessControl (OpenZeppelin#5321) Co-authored-by: Ernesto García <ernestognw@gmail.com> * Merge release-v5.2 branch (OpenZeppelin#5424) Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: Sam Bugs <101145325+0xsambugs@users.noreply.github.com> Co-authored-by: Ernesto García <ernestognw@gmail.com> Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: wizard <112275929+famouswizard@users.noreply.github.com> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: cairo <cairoeth@protonmail.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Francisco Giordano <fg@frang.io> Co-authored-by: Simka <0xsimka@gmail.com> Co-authored-by: Voronor <129545215+voronor@users.noreply.github.com> * Add a Calldata library with `emptyBytes` and `emptyString` functions (OpenZeppelin#5422) Co-authored-by: Ernesto García <ernestognw@gmail.com> * Update governor docs (OpenZeppelin#5420) * Add missing `Calldata`, `Bytes`, `CAIP2` and `CAIP10` API references (OpenZeppelin#5428) * Expose `_isTrustedByTarget` internally in ERC2771Forwarder (OpenZeppelin#5416) * Update LICENSE (OpenZeppelin#5434) * Refactor EnumerableSet.behavior.js for reuse in the community repo (OpenZeppelin#5441) * Replace `overriden` with `overridden` in GovernorCountingOverridable.sol (OpenZeppelin#5446) Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: ernestognw <ernestognw@gmail.com> * Remove Unnecessary Initialisation of `_paused` (OpenZeppelin#5448) Co-authored-by: Ernesto García <ernestognw@gmail.com> * Fix Broken Docs References (OpenZeppelin#5436) * Update actions/upload-artifact action to v4 (OpenZeppelin#4826) * Remove unused `setBaseURI` tests (OpenZeppelin#5456) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Group typographical errors (OpenZeppelin#5443) Co-authored-by: futreall <86553580+futreall@users.noreply.github.com> Co-authored-by: Marco <wudmytrotest200@gmail.com> Co-authored-by: Dmitry <98899785+mdqst@users.noreply.github.com> Co-authored-by: Dmytrol <46675332+Dimitrolito@users.noreply.github.com> Co-authored-by: Noisy <125606576+donatik27@users.noreply.github.com> Co-authored-by: Danil <37103154+Danyylka@users.noreply.github.com> Co-authored-by: CrazyFrog <anna.shuraeva13@gmail.com> Co-authored-by: Bryer <0xbryer@gmail.com> Co-authored-by: Viktor Pavlik <160131789+Vikt0rPavlik@users.noreply.github.com> Co-authored-by: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Co-authored-by: Brawn <nftdropped@gmail.com> Co-authored-by: fuder.eth <139509124+vtjl10@users.noreply.github.com> Co-authored-by: FT <140458077+zeevick10@users.noreply.github.com> Co-authored-by: Ann Wagner <chant_77_swirly@icloud.com> Co-authored-by: Hopium <135053852+Hopium21@users.noreply.github.com> Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Fix interface docs ordering and add missing interface (OpenZeppelin#5460) * Add a governor extension that implements a proposal guardian (OpenZeppelin#5303) Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: Ernesto García <ernestognw@gmail.com> * Fix the CLI output of formal verification runs (OpenZeppelin#5445) * Update dependency halmos to v0.2.4 (OpenZeppelin#5461) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Use stable foundry version in CI (OpenZeppelin#5465) * Add stake management function to ERC4337Utils (OpenZeppelin#5471) * Add forum badge correct link (OpenZeppelin#5481) * SafeERC20.trySafeTransfer{,from} (OpenZeppelin#5483) * Improve promise rejections handling in hardhat/async-test-sanity.js (OpenZeppelin#5429) Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> * Use slither v0.10.4 (OpenZeppelin#5488) * Add ERC6909 Implementation along with extensions (OpenZeppelin#5394) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: Ernesto García <ernestognw@gmail.com> * Rename ERC4337Utils ENTRYPOINT to ENTRYPOINT_V07 (OpenZeppelin#5472) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Add Bytes32x2Set (OpenZeppelin#5442) Co-authored-by: Ernesto García <ernestognw@gmail.com> * Add clear function to Enumerable{Set,Map} (OpenZeppelin#5486) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Make set-max-old-space-size.sh compatible with sh (OpenZeppelin#5493) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Update FUNDING.json (OpenZeppelin#5496) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Update FUNDING.json hierarchy (OpenZeppelin#5500) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Test behavior of SignatureChecker against the identity precompile (0x4) (OpenZeppelin#5501) * Treat code-size warnings as errors (OpenZeppelin#5101) Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> * Make `TimelockController` receive function virtual (OpenZeppelin#5506) Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> --------- Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: Ernesto García <ernestognw@gmail.com> Co-authored-by: Michael <20623991+heueristik@users.noreply.github.com> Co-authored-by: Maks <soskapola96@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: Sam Bugs <101145325+0xsambugs@users.noreply.github.com> Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: wizard <112275929+famouswizard@users.noreply.github.com> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: cairo <cairoeth@protonmail.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Francisco Giordano <fg@frang.io> Co-authored-by: Simka <0xsimka@gmail.com> Co-authored-by: Voronor <129545215+voronor@users.noreply.github.com> Co-authored-by: Eric Lau <ericglau@outlook.com> Co-authored-by: planetBoy <140164174+Guayaba221@users.noreply.github.com> Co-authored-by: sudo rm -rf --no-preserve-root / <pcaversaccio@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Renan Souza <renan.rodrigues.souza1@gmail.com> Co-authored-by: futreall <86553580+futreall@users.noreply.github.com> Co-authored-by: Marco <wudmytrotest200@gmail.com> Co-authored-by: Dmitry <98899785+mdqst@users.noreply.github.com> Co-authored-by: Dmytrol <46675332+Dimitrolito@users.noreply.github.com> Co-authored-by: Noisy <125606576+donatik27@users.noreply.github.com> Co-authored-by: Danil <37103154+Danyylka@users.noreply.github.com> Co-authored-by: CrazyFrog <anna.shuraeva13@gmail.com> Co-authored-by: Bryer <0xbryer@gmail.com> Co-authored-by: Viktor Pavlik <160131789+Vikt0rPavlik@users.noreply.github.com> Co-authored-by: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Co-authored-by: Brawn <nftdropped@gmail.com> Co-authored-by: fuder.eth <139509124+vtjl10@users.noreply.github.com> Co-authored-by: FT <140458077+zeevick10@users.noreply.github.com> Co-authored-by: Ann Wagner <chant_77_swirly@icloud.com> Co-authored-by: Hopium <135053852+Hopium21@users.noreply.github.com> Co-authored-by: Yan Victor SN <98413246+YanVictorSN@users.noreply.github.com> Co-authored-by: Ursula <asp_woods_34@icloud.com> Co-authored-by: Michalis Kargakis <kargakis@protonmail.com> Co-authored-by: luca <80516439+xdaluca@users.noreply.github.com> Co-authored-by: Jonas <43515441+JSeiferth@users.noreply.github.com> Co-authored-by: Joseph Delong <joseph@delong.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5414
Changes the
forloop iterators inMerkleTreeiterating from0touint8 treeDepthfromuint32touint256to minimize conversions and save gas.PR Checklist
npx changeset add)