There are several input arguments, that are not checked if they are zero address.
The construcor parameter address _cusd
in contracts ShortRecordFacet.sol
and ExitShortFacet.sol
, _zeth
in VaultFacet.sol
, the parameters _rethBridge
and stethBridge
in BridgeRouterFacet.sol
and the input parameter diamondAddr
in contracts Asset.sol
and Ditto.sol
are not checked if they are zero addresses (0x0).
It is a good practice to check if the input addresses are zero addresses. This is because the zero address is often used as a default value in Solidity, and sending tokens to this address will effectively burn them, as they cannot be recovered. Consider adding a requirement to prevent this.
Manual review, VS Code
Add require()
to validate the address parameters in constructor in ShortRecordFacet.sol
, ExitShortFacet.sol
, VaultFacet.sol
, BridgeRouterFacet.sol
, Asset.sol
and Ditto.sol
:
In ShortRecordFacet.sol
and ExitShortFacet.sol
:
In VaultFacet.sol
:
In BridgeRouterFacet.sol
:
In Asset.sol
:
In Ditto.sol
:
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.