code-423n4 / 2021-11-streaming-findings

0 stars 0 forks source link

Constructors should not have visibility #236

Open code423n4 opened 2 years ago

code423n4 commented 2 years ago

Handle

WatchPug

Vulnerability details

Visibility for constructors has been deprecated.

See: https://github.com/ethereum/solidity/blob/c76a6bdbabb87d9bf98fe833ef9b0fb62fac5913/Changelog.md#070-2020-07-28

See also:

https://github.com/ethereum/solidity/issues/8992 https://github.com/ethereum/solidity/pull/9180

Instances include:

https://github.com/code-423n4/2021-11-streaming/blob/56d81204a00fc949d29ddd277169690318b36821/Streaming/src/Locke.sol#L17-L17

constructor(address _governor, address _emergency_governor) public {

https://github.com/code-423n4/2021-11-streaming/blob/56d81204a00fc949d29ddd277169690318b36821/Streaming/src/Locke.sol#L263-L280

constructor(
    uint64 _streamId,
    address creator,
    bool _isSale,
    address _rewardToken,
    address _depositToken,
    uint32 _startTime,
    uint32 _streamDuration,
    uint32 _depositLockDuration,
    uint32 _rewardLockDuration,
    uint16 _feePercent,
    bool _feeEnabled

)
    LockeERC20(_depositToken, _streamId, _startTime + _streamDuration)
    ExternallyGoverned(msg.sender) // inherit factory governance
    public 
{

https://github.com/code-423n4/2021-11-streaming/blob/56d81204a00fc949d29ddd277169690318b36821/Streaming/src/Locke.sol#L780-L780

constructor(address _governor, address _emergency_governor) public Governed(_governor, _emergency_governor) {