calculateOpenParams accepts TradeDetails with collateralToken and borrowToken addresses and uses them to fetch LTV from Aave and prices from the oracle.
There is no validation that collateralToken or borrowToken are non-zero addresses. Passing address(0) leads to unclear revert behavior: getReserveConfigurationData(address(0)) may return zeros (ltv = 0) causing a generic "Asset not usable as collateral" revert, and getPrice(address(0)) may revert or return invalid data depending on the oracle implementation.
Likelihood (low):
Frontends or integrators may pass uninitialized or default struct fields when constructing TradeDetails.
Buggy off-chain logic or copy-paste errors can pass address(0) for token parameters.
Impact (low):
Unclear revert messages make debugging difficult; users receive "Asset not usable as collateral" instead of "Invalid token address".
Oracle may revert on getPrice(address(0)), causing DoS for callers who pass invalid addresses.
Severity (low):
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.
The contest is complete and the rewards are being distributed.