initialize() sets all core protocol addresses in a single call that can never be repeated. None of the five address parameters are validated against address(0). A deployment script error permanently misconfigures the proxy with no correction path.
Likelihood:
Deployment scripts that pass environment variables in the wrong order or miss a variable produce address(0) silently
The initializer modifier prevents correction — the mistake is permanent
Impact:
A zero aavePool address causes every position operation to revert on the first Aave call
A zero strataxOracle causes all price-dependent calculations to revert
Proxy must be abandoned and redeployed, losing the intended contract address
Add require checks for each address parameter at the top of initialize(). Since initialize() can only be called once; they act as the only deployment-time guard. Catching zero addresses early prevents the proxy from being permanently misconfigured.
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.