BuyerAgent should make sure treasury() is larger than minFundAmount in constructor. If it doesn't check the balance of ERC20 token of BuyAgent, it may revert when pay oracle fee or purchase asset.
In function withdraw of BuyerAgent.sol, if phase != Phase.Withdraw, it should remain minFundAmount()+_amounttoken in this contract.
When the BuyerAgent instance is construct, it is in sell phase. It should make sure the balance of buyer agent is larger than minFundAmount().
But it doesn't check it in constructor.
buyer agent may failed to act because there is no enough balance in contract.
mannul review
make sure treasuty()>= minFundAmount()in function constructor.
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.