The Dussehra.sol
disperses the funds to the organiser
when killRavana
function is called and the SelectedRam
receives funds when withdraw
function is called but if either of them is a smart contract address without receive
or fallback
functions then the funds will be permanently stuck in the contract
The smart contract addresses without receive
or fallback
functions will not be able to receive rewards
For the below Poc to work add the following changes in Dussehra.t.sol
create a new contract as given
Add this import statement at the top import {IERC721Receiver} from "../lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol";
Declare a new state variable PlayerContract playerContract;
In setup
add the following line
The funds will be permanently stuck in the contract
Manual Review
Foundry
For the organiser
the responsibility has to be taken by the protocol and as for the SelectedRam
the Dussehra::withdraw
function should take an address arg to transfer funds to which would place the responsibility on the user to safely transfer his funds.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.