This repository has been archived by the owner on May 26, 2023. It is now read-only.
StErMi - Ongoing bounties can receive NFT, but claimant will never receive them #18
Labels
Duplicate
A valid issue that is a duplicate of an issue with `Has Duplicates` label
Non-Reward
This issue will not receive a payout
StErMi
medium
Ongoing bounties can receive NFT, but claimant will never receive them
Summary
Ongoing bounties can receive NFTs as funds, but the claimant will not be able to receive once they claim a bounty because it's not implemented in the claim process.
Vulnerability Detail
The Ongoing bounty contract implements the
receiveNft
function that allows a funder to fund the contract with an NFT token. When the claimant will claim the bounty, he/she will only be able to receive ERC20/ETH tokens but no the NFTs.In the edge case where the bounty is only funded with NFT the claimant will get no rewards back.
Impact
Even if the bounty is funded with NFT the claimant will not be able to get any of them
Code Snippet
Ongoing Bounty implementation that can receive NFTs OngoingBountyV1.sol#L133-L160
Claim process on Claim Manager contract ClaimManagerV1.sol#L173-L197
Claim process on Ongoing Bounty contract. Only support ERC20/ETH transfers via
_transferToken
OngoingBountyV1.sol#L96-L112Tool used
Manual Review
Recommendation
If the Ongoing bounty type does not support NFT (because it's an ongoing bounty) remove the
receiveNft
function or simply make it revert with an explanation messageDuplicate of #261
The text was updated successfully, but these errors were encountered: