A wrong ABI decoding operation is made within the BuyerAgent::purchase() function, it expects an array of arguments to decode, whereas the output is a single array.
Buyer are not able to execute purchases.
Sellers lose their assets since there are not withdraw function.
In BuyerAgent::purchase() there is a step where the BuyerAgent requests the best response from the LLMOracleCoordinator
However, in LLMOracleCoordinator::getBestResponse() , the result of the TaskResponse.output is a byte element encoding one object, which when decoding it in BuyerAgent::purchase() reverts, since it expects an array
A Gist has been created to demonstrate the failing normal BuyingAgent and the comparison with the fixed version using FixedBuyerAgent
In order to fix the issue, modify this line of code :
by replacing it with :
This change correctly decodes output as single address instead of an array, ensuring the function process the data accurately without errors.
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.