Function: lock(address _account, uint256 _amount, uint256 _weeks)
Deposit tokens into the contract to create a new lock.
Inputs
_accountControl: Controlled by the user.
Constraints: N/A.
Impact: Address to create a new lock for.
_amountControl: Controlled by the user.
Constraints: Must be a positive value.
Impact: Amount of tokens to lock.
_weeksControl: Controlled by the user.
Constraints: Must be greater than zero and not exceed
MAX_LOCK_WEEKS.Impact: The number of weeks for the lock.
Branches and code coverage (including function calls)
Intended branches
Successfully create a new lock.
Function call analysis
lock -> lockToken.transferToLocker(msg.sender, _amount * lockToTokenRatio)What is controllable?
_amount * lockToTokenRatio.If return value controllable, how is it used and how can it go wrong? N/A.
What happens if it reverts, reenters, or does other unusual control flow? N/A.