Zaros contract fails to implement the EIP712 in several cases.
According to the EIP712 Standard:
The dynamic values bytes and string are encoded as a keccak256 hash of their contents.
However, in the function CustomReferralConfiguration(), the hashing process is handled as follows:
As observed, both CUSTOM_REFERRAL_CONFIGURATION_DOMAIN and customReferralCode are string values. The hashing (slot) directly encodes these values instead of using the keccak256 hash of their contents as mandated by the standard.
A similar issue is present in the function Referral
:
Here too, REFERRAL_DOMAIN is a string that is encoded as is.
Failure to comply with EIP712 can lead to integration issues and potentially cause a denial of service.
Manual Review
Here is the correct implementation:
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.