The protocol documentation states that get a cool account abstraction wallet, with a random Mondrian art painting!
. However, the code at Lines 165-174 of MondrianWallet.sol
does not equally distributes the four painting.
One of the four paintings is assigned on the basis of the number taken in modulo 10 at Line 165: uint256 modNumber = tokenId % 10;
. This results in a total of 10 possible values for the modNumber
variable. In the following lines we can see that value 0 is for the first painting, 1 - for the second, 2 - for the third and all the other 7 values are for the fourth painting. This leads to a probability of 70% for getting the fourth painting.
This happens on each MoondrianWallet creation. 70% of the created wallets are expected to have the fourth art painting.
Manual Review
Change the module value to 4 on Line 165 so that is defined as uint256 modNumber = tokenId % 4;
.
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.