Zero-address checks are a best practice for input validation of critical address parameters. While the codebase applies this to most cases, there are many places where this is missing in constructors and setters.
Impact: Accidental use of zero-addresses may result in exceptions, burn fees/tokens, or force redeployment of contracts.
NotionalTradeModule.sol
L140 - wrappedfCashFactory = _wrappedfCashFactory;
L141 - weth = _weth;
wfCashBase.sol
L30 - NotionalV2 = _notional;
L31 - WETH = _weth;
WrappedfCashFactory.sol
L18 - BEACON = _beacon;
Add zero-address checks, e.g.:
