Within the RESDLTokenBridge
contract the function transferRESDL
does not check if the _destinationChainSelector
is a valid chain. If a user were to use this function to transfer an RESDL token within the chain they are currently on they will lose the funds associated with that RESDL token.
The flow from calling this function eventually leads to SDLPoolPrimary:handleOutgoingRESDL()
where balances are updated and SDL tokens are transferred
This leads to inaccurate accounting. The balance of the ccipController is artificially inflated as no tokens should be moved across chains. The balance of the sender should be decreased by the amount and the balance of the target address the user wants to send to should be increased.
Manual Review
Validate that the _destinationChainSelector
is appropriate and not of the current chain.
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.