From f753ef5c43193cb03d96ddc54aab972c2b80b928 Mon Sep 17 00:00:00 2001 From: rymnc <43716372+rymnc@users.noreply.github.com> Date: Tue, 28 May 2024 14:01:36 +0530 Subject: [PATCH] fix: duped conditionals --- .gas-snapshot | 24 +++++++++++++----------- src/WakuRlnV2.sol | 8 ++++++-- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index 3256283..a67299a 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,11 +1,13 @@ -WakuRlnV2Test:test__InvalidPaginationQuery__EndIndexGTIdCommitmentIndex() (gas: 13381) -WakuRlnV2Test:test__InvalidPaginationQuery__StartIndexGTEndIndex() (gas: 11225) -WakuRlnV2Test:test__InvalidRegistration__DuplicateIdCommitment() (gas: 92674) -WakuRlnV2Test:test__InvalidRegistration__FullTree() (gas: 95496) -WakuRlnV2Test:test__InvalidRegistration__InvalidIdCommitment__LargerThanField() (gas: 9882) -WakuRlnV2Test:test__InvalidRegistration__InvalidIdCommitment__Zero() (gas: 9095) -WakuRlnV2Test:test__InvalidRegistration__InvalidUserMessageLimit__LargerThanMax() (gas: 10103) -WakuRlnV2Test:test__InvalidRegistration__InvalidUserMessageLimit__Zero() (gas: 9198) -WakuRlnV2Test:test__ValidPaginationQuery(uint32) (runs: 1000, μ: 389532, ~: 132250) -WakuRlnV2Test:test__ValidRegistration(uint256,uint32) (runs: 1001, μ: 120385, ~: 120385) -WakuRlnV2Test:test__ValidRegistration__kats() (gas: 91811) \ No newline at end of file +WakuRlnV2Test:test__IdCommitmentToMetadata__DoesntExist() (gas: 8299) +WakuRlnV2Test:test__InvalidPaginationQuery__EndIndexGTIdCommitmentIndex() (gas: 13351) +WakuRlnV2Test:test__InvalidPaginationQuery__StartIndexGTEndIndex() (gas: 11184) +WakuRlnV2Test:test__InvalidRegistration__DuplicateIdCommitment() (gas: 111313) +WakuRlnV2Test:test__InvalidRegistration__FullTree() (gas: 97043) +WakuRlnV2Test:test__InvalidRegistration__InvalidIdCommitment__LargerThanField() (gas: 9926) +WakuRlnV2Test:test__InvalidRegistration__InvalidIdCommitment__Zero() (gas: 9139) +WakuRlnV2Test:test__InvalidRegistration__InvalidUserMessageLimit__LargerThanMax() (gas: 10147) +WakuRlnV2Test:test__InvalidRegistration__InvalidUserMessageLimit__Zero() (gas: 9242) +WakuRlnV2Test:test__ValidPaginationQuery(uint32) (runs: 1002, μ: 403497, ~: 136269) +WakuRlnV2Test:test__ValidPaginationQuery__OneElement() (gas: 128461) +WakuRlnV2Test:test__ValidRegistration(uint256,uint32) (runs: 1001, μ: 133518, ~: 133518) +WakuRlnV2Test:test__ValidRegistration__kats() (gas: 108902) \ No newline at end of file diff --git a/src/WakuRlnV2.sol b/src/WakuRlnV2.sol index 7f60520..ba9a3d8 100644 --- a/src/WakuRlnV2.sol +++ b/src/WakuRlnV2.sol @@ -108,6 +108,10 @@ contract WakuRlnV2 { /// @return The metadata of the member (userMessageLimit, index, rateCommitment) function idCommitmentToMetadata(uint256 idCommitment) public view returns (uint32, uint32, uint256) { MembershipInfo memory member = memberInfo[idCommitment]; + // we cannot call indexToCommitment for 0 index if the member doesn't exist + if (member.userMessageLimit == 0) { + return (0, 0, 0); + } return (member.userMessageLimit, member.index, indexToCommitment(member.index)); } @@ -115,8 +119,8 @@ contract WakuRlnV2 { /// @param idCommitment The idCommitment of the member /// @return true if the member exists, false otherwise function memberExists(uint256 idCommitment) public view returns (bool) { - (uint32 userMessageLimit, uint32 index, uint256 rateCommitment) = idCommitmentToMetadata(idCommitment); - return userMessageLimit > 0 && index >= 0 && rateCommitment != 0; + (,, uint256 rateCommitment) = idCommitmentToMetadata(idCommitment); + return rateCommitment != 0; } /// Allows a user to register as a member