29130 - [SC - Medium] Unlimited Minting of VestedZeroNFT
Description
Brief/Intro
Vulnerability Details
function mint(
address _who,
uint256 _pending,
uint256 _upfront,
uint256 _linearDuration,
uint256 _cliffDuration,
uint256 _unlockDate,
bool _hasPenalty,
VestCategory _category
) external returns (uint256) {
_mint(_who, ++lastTokenId);
if (_unlockDate == 0) _unlockDate = block.timestamp;
require(_unlockDate >= block.timestamp, "invalid _unlockDate");
if (_hasPenalty) {
require(_upfront == 0, "no upfront when there is a penalty");
require(_cliffDuration == 0, "no cliff when there is a penalty");
}
tokenIdToLockDetails[lastTokenId] = LockDetails({
cliffDuration: _cliffDuration,
unlockDate: _unlockDate,
pendingClaimed: 0,
upfrontClaimed: 0,
pending: _pending,
hasPenalty: _hasPenalty,
upfront: _upfront,
linearDuration: _linearDuration,
createdAt: block.timestamp,
category: _category
});
// fund the contract
zero.transferFrom(msg.sender, address(this), _pending + _upfront);
return lastTokenId;
}
Impact Details
References
Proof of Concept
Previous29123 - [SC - Medium] Griefing attack for VestedZeroNFTNext29135 - [SC - Critical] OmnichainStakingsolunstakeLP and OmnichainStaki...
Last updated
Was this helpful?