The ProxyFactory::getProxyAddress()
intakes salt
and implementation
parameter. However, the salt
value is unknown to the user before deployment. This may cause the user to send the funds to the wrong proxy address.
The salt
value is calculated when setting up the contest through ProxyFactory::setContest()
. However setContest()
function doesn't return or emit a salt
value. It's difficult for organizers.
Also the ProxyFactory::_calculateSalt()
is an internal function. It's not callable to calculate salt for organizers.
The getProxyAddress()
also intakes salt
before deployment, the salt value is unknown to organizers.
It gives much more difficult for non-technical knowledge-based organizers to calculate proxy address without correct salt.
It may lead to a potential temporary loss of funds if the organizer calculates the proxy address incorrectly with incorrect salt
Manual Review
The getProxyAddress()
function should be refactored to a more detailed parameter intake:
OR
_calculateSalt()
should be a public
function.
OR
setContest()
should emit or return the salt
value.
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.