-
Notifications
You must be signed in to change notification settings - Fork 3
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
Minting would be inaccessible in public sales #1274
Comments
141345 marked the issue as primary issue |
a2rocket (sponsor) disputed |
the comment refers to only if we have public phase and not allowlist phase. Here is the comment: // for public sale set the allowlist the same time as publicsale We do not mention that the publicEndTime should be the same as allowlistEndTime which is totally wrong. |
141345 marked the issue as sufficient quality report |
The Warden specifies that the comments hint at the allowlist period being the same as the public period which would result in an inoperable sale. As the Sponsor specifies, this is not implied by the comment, and further documentation in the code clarifies that the only the start times should be equal. As such, I consider this submission invalid. |
alex-ppg marked the issue as unsatisfactory: |
Lines of code
https://github.com/code-423n4/2023-10-nextgen/blob/8b518196629faa37eae39736837b24926fd3c07c/smart-contracts/MinterContract.sol#L220
Vulnerability details
Impact
The comments in
MinterContract
suggest that for public salesallowListStartTime
andallowListEndTime
should be equal topublicStartTime
andpublicEndTime
respectively. However, this would DoS all minting functionality.Proof of Concept
When
MinterContract.mint()
function is called, it first checks if timestamp is between allowlist time and enters the corresponding code block.However, if there is only public sale for NFT, the mint would revert on verifying the merkle proof here since the
collectionPhases[col].merkleRoot
would be equal to zero but the hash ofproof
andnode
wouldn't (since node is not user-provided, but the hash oftokData
andmsg.sender
):Tools Used
Manual review
Recommended Mitigation Steps
Check if
allowListStartTime == publicStartTime
. If that is the case, skip the allow list block and enter the block for public mint.Assessed type
DoS
The text was updated successfully, but these errors were encountered: