Skip to content

Stuck on Lesson 8  #5

@shawnmichaelGT

Description

@shawnmichaelGT

I am unable to pass Lesson 8 "ERC20 Standard". Specifically the second checkpoint: "In function transfer, decrease the balance of msg.sender by _value. Then, increase the balance of _to by _value.

`function transfer(address _to, uint256 _value) returns (bool) {
require(_value <= balances[msg.sender]);
require(_to != address(0));

balances[msg.sender] = balances[msg.sender] -= (_value);
balances[_to] = balances[_to] += (_value);
Transfer(msg.sender, _to, _value);
return true;
}`

Also on the third checkpoint: "In function transferFrom, make sure the code that changes the balances is only executed if msg.sender has enough allowance and _from has enough balance. Hint: use require to validate data and thow the exceptions."

`function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
var _allowance = allowed[_from][msg.sender];
require(_value <= allowed[_from][msg.sender]);
require(_value <= balances[_from]);
// Make sure the function does not get executed if _allowance is lower than _value

    balances[_to] = balances[_to] + _value;
    balances[_from] = balances[_from] - _value;
    allowed[_from][msg.sender] = _allowance - _value;

    Transfer(_from, _to, _value);

    return true;
}`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions