findMarketFor() missing check minAmountOut_
BondAggregator#findMarketFor() minAmountOut_ does not actually take effect，may return a market's "payout" smaller than minAmountOut_ , Causes users to waste gas calls to purchase\\nBondAggregator#findMarketFor() has check minAmountOut_ <= maxPayout but the actual "payout" by "amountIn_" no check greater than minAmountOut_\\n```\\n    function findMarketFor(\\n        address payout_,\\n        address quote_,\\n        uint256 amountIn_,\\n        uint256 minAmountOut_,\\n        uint256 maxExpiry_\\n    ) external view returns (uint256) {\\n// rest of code\\n            if (expiry <= maxExpiry_) {\\n                payouts[i] = minAmountOut_ <= maxPayout\\n                    ? payoutFor(amountIn_, ids[i], address(0))\\n                    : 0;\\n\\n                if (payouts[i] > highestOut) {//****@audit not check payouts[i] >= minAmountOut_******//\\n                    highestOut = payouts[i];\\n                    id = ids[i];\\n                }\\n            }\\n```\\n
```\\n    function findMarketFor(\\n        address payout_,\\n        address quote_,\\n        uint256 amountIn_,\\n        uint256 minAmountOut_,\\n        uint256 maxExpiry_\\n    ) external view returns (uint256) {\\n// rest of code\\n            if (expiry <= maxExpiry_) {\\n                payouts[i] = minAmountOut_ <= maxPayout\\n                    ? payoutFor(amountIn_, ids[i], address(0))\\n                    : 0;\\n\\n-               if (payouts[i] > highestOut) {\\n+               if (payouts[i] >= minAmountOut_ && payouts[i] > highestOut) {\\n                    highestOut = payouts[i];\\n                    id = ids[i];\\n                }\\n            }\\n```\\n
The user gets the optimal market through BondAggregator#findMarketFor(), but incorrectly returns a market smaller than minAmountOut_, and the call to purchase must fail, resulting in wasted gas
```\\n    function findMarketFor(\\n        address payout_,\\n        address quote_,\\n        uint256 amountIn_,\\n        uint256 minAmountOut_,\\n        uint256 maxExpiry_\\n    ) external view returns (uint256) {\\n// rest of code\\n            if (expiry <= maxExpiry_) {\\n                payouts[i] = minAmountOut_ <= maxPayout\\n                    ? payoutFor(amountIn_, ids[i], address(0))\\n                    : 0;\\n\\n                if (payouts[i] > highestOut) {//****@audit not check payouts[i] >= minAmountOut_******//\\n                    highestOut = payouts[i];\\n                    id = ids[i];\\n                }\\n            }\\n```\\n