whenNotPaused modifier is missing on the PriorityPool.sol::deposit() and PriorityPool.sol::withdraw().
The problem stems from that the PriorityPool::pauseForUpdate() states the following:
*"Pauses queueing and unqueueing so a new merkle tree can be generated" *in the comment above the function declaration. This indicates that whenNotPaused should be present in the PriorityPool::unqueueTokens() as well as on the PriorityPool.sol::withdraw() and PriorityPool::deposit(), the last function responsible for queueing tokens in the PriorityPool.sol.
As we can see, the whenNotPaused modifier is missing on the PriorityPool::deposit() PriorityPool.sol::withdraw().
Possible queueing of tokens while generations merkle tree root hash will result in unexpected merkle tree root hash.
Manual review
Add the whenNotPaused modifier to the PriorityPool::deposit() and PriorityPool.sol::withdraw() as well.
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.