The allocateFunds
function allows an allocator (with ALLOCATOR_ROLE
) to assign a specified amount of funds to a recipient. However, allocations are not tied to a specific token, which can lead to ambiguity and inconsistencies when funds are later withdrawn or managed.
The function does not specify which token the allocation applies to, Allocations are stored as a simple uint256
amount, without associating them with a specific token.
If allocations are later assumed to be in a default token (e.g., USDC) but were meant for another (e.g., WETH), mispricing issues can arise.
Example: Allocating 100
could mean 100 USDC (worth $100) or 100 WETH (worth significantly more), leading to huge financial discrepancies.
Incorrect token assumptions could lead to funds being distributed in an unintended way
Manual Review
Modify _allocations
to track the token along with the amount:
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.