-
Notifications
You must be signed in to change notification settings - Fork 0
0xbepresent - The first assigned winner can close the competition via ClaimManagerV1.sol::permissionedClaimTieredBounty()
even when the other winners are not assigned yet.
#309
Comments
Will fix by allowing funding of bounties after close |
Funders can now continue funding even after competition is closed. This was only a requirement because TieredPercentage needed to freeze funding totals at close. |
Should be low. Input validation for bounty issuer. As a trusted party they are responsible for funding the contract before setting winners. |
Agree with the Lead Watson, considering this a low |
Escalate for 20 USDC Hi, I hope you are very well. The refundDeposit() can be called by any funder at any time, so the Trusted party is not 100% sure that the contract is fully funded. Please see the next scenario:
The claimBounty() helps to close the competition (function only available to the Oracle It is not a low/info because:
I hope the information can help. Thanks! |
You've created a valid escalation for 20 USDC! To remove the escalation from consideration: Delete your comment. You may delete or edit your escalation comment anytime before the 48-hour escalation window closes. After that, the escalation becomes final. |
Escalation accepted Valid duplicate of #266 |
This issue's escalations have been accepted! Contestants' payouts and scores will be updated according to the changes made on this issue. |
0xbepresent
high
The first assigned winner can close the competition via
ClaimManagerV1.sol::permissionedClaimTieredBounty()
even when the other winners are not assigned yet.Summary
The first assigned winner can close the competition with the ClaimManagerV1.sol::permissionedClaimTieredBounty() function, then the deposits are closed and the other winners could not receive more deposits.
Vulnerability Detail
The
ClaimManagerV1.sol::permissionedClaimTieredBounty()
helps to the winner to claim his bounty. The problem is that if the first winner was assigned via setTierWinner(), the winner can intentionally/accidentally close the competition and the deposits are now closed because the competition is closed.That's could be a problem because imagine the next steps:
setTierWinner()
.permissionedClaimTieredBounty()
and the competition is closed now.Impact
The first assigned winner can accidentally/intentionally close the competition and consequently close the deposits for the bounty contest, then the other winners can not have available funds from the bounty contest.
I created the next test in
ClaimManager.test.js
. Test steps:Code Snippet
Tool used
Vscode
Recommendation
Allow the
permissionedClaimTieredBounty()
execution when all the winners are assigned correctly. I think when the setPayoutSchedule() and setPayoutScheduleFixed() are executed correctly.Duplicate of #266
The text was updated successfully, but these errors were encountered: