Closed sherlock-admin2 closed 1 year ago
josephdara
medium
All contracts implementing the AdvancedDistributor have two names.
Although there seems to be an override function, the NAME() and the name() have different function selectors
The contract inheriting the AdvancedDistributor.sol contracts all have two names, meaning all distributor contracts have two names.
https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/abstract/AdvancedDistributor.sol#L38-L46 https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/abstract/Distributor.sol#L25 https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/BasicDistributor.sol#L38 https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/ContinuousVestingMerkle.sol#L35
Manual Review
Override the proper name() function
josephdara
medium
All contracts implementing the AdvancedDistributor have two names
Summary
All contracts implementing the AdvancedDistributor have two names.
Vulnerability Detail
Although there seems to be an override function, the NAME() and the name() have different function selectors
Impact
The contract inheriting the AdvancedDistributor.sol contracts all have two names, meaning all distributor contracts have two names.
Code Snippet
https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/abstract/AdvancedDistributor.sol#L38-L46 https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/abstract/Distributor.sol#L25 https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/BasicDistributor.sol#L38 https://github.com/sherlock-audit/2023-06-tokensoft/blob/main/contracts/contracts/claim/ContinuousVestingMerkle.sol#L35
Tool used
Manual Review
Recommendation
Override the proper name() function