The likeUser
function does not update the userBalances
mapping when users send ETH. As a result, all ETH sent during a "like" is unaccounted for.
During mutual matches, matchRewards
transfers userBalances[from]
and userBalances[to]
, which remain at 0
, leading to zero rewards sent to the multisig wallet.
All user ETH is permanently locked in the contract. The core protocol functionality which is pooling funds for matched users is non-functional.
Modify the test imports and setup and include this test below, run with -vvv. this test is expecting this failure to verify that funds are locked when users match.
it simulates user
liking user2
by sending 1 ETH.
Simulates user2
liking user
by sending 1 ETH.
Checks the balance of the deployed multisig wallet.
The multisig wallet
should have 1.8 ETH (90% of 2 ETH after a 10% fee), but it returns 0. The multisig is deployed but has 0 ETH
, which the test checks for. This shows that the funds aren't being tracked correctly.
Update likeUser
to track ETH:
Likelihood: High, always. Impact: High, loss of 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.