Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions tutorial-10/ERC20.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
pragma solidity ^0.4.0;

interface ERC20 {
function transferFrom(address _from, address _to, uint _value) public returns (bool);
function approve(address _spender, uint _value) public returns (bool);
function allowance(address _owner, address _spender) public constant returns (uint);
function transferFrom(address _from, address _to, uint _value) external returns (bool);
function approve(address _spender, uint _value) external returns (bool);
function allowance(address _owner, address _spender) external constant returns (uint);
event Approval(address indexed _owner, address indexed _spender, uint _value);
}
}
2 changes: 1 addition & 1 deletion tutorial-10/ERC223.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ pragma solidity ^0.4.0;
interface ERC223 {
function transfer(address _to, uint _value, bytes _data) public returns (bool);
event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);
}
}
14 changes: 7 additions & 7 deletions tutorial-10/MyFirstToken.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import "browser/ERC223ReceivingContract.sol";

contract MyFirstToken is Token("MFT", "My First Token", 18, 1000), ERC20, ERC223 {

function MyFirstToken() public {
constructor() public {
_balanceOf[msg.sender] = _totalSupply;
}

Expand All @@ -25,7 +25,7 @@ contract MyFirstToken is Token("MFT", "My First Token", 18, 1000), ERC20, ERC223
!isContract(_to)) {
_balanceOf[msg.sender] -= _value;
_balanceOf[_to] += _value;
Transfer(msg.sender, _to, _value);
emit Transfer(msg.sender, _to, _value);
return true;
}
return false;
Expand All @@ -39,13 +39,13 @@ contract MyFirstToken is Token("MFT", "My First Token", 18, 1000), ERC20, ERC223
_balanceOf[_to] += _value;
ERC223ReceivingContract _contract = ERC223ReceivingContract(_to);
_contract.tokenFallback(msg.sender, _value, _data);
Transfer(msg.sender, _to, _value, _data);
emit Transfer(msg.sender, _to, _value, _data);
return true;
}
return false;
}

function isContract(address _addr) returns (bool) {
function isContract(address _addr) public view returns (bool) {
uint codeSize;
assembly {
codeSize := extcodesize(_addr)
Expand All @@ -61,19 +61,19 @@ contract MyFirstToken is Token("MFT", "My First Token", 18, 1000), ERC20, ERC223
_balanceOf[_from] -= _value;
_balanceOf[_to] += _value;
_allowances[_from][msg.sender] -= _value;
Transfer(_from, _to, _value);
emit Transfer(_from, _to, _value);
return true;
}
return false;
}

function approve(address _spender, uint _value) public returns (bool) {
_allowances[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
emit Approval(msg.sender, _spender, _value);
return true;
}

function allowance(address _owner, address _spender) public constant returns (uint) {
return _allowances[_owner][_spender];
}
}
}
4 changes: 2 additions & 2 deletions tutorial-10/Token.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ contract Token {
mapping (address => uint) internal _balanceOf;
mapping (address => mapping (address => uint)) internal _allowances;

function Token(string symbol, string name, uint8 decimals, uint totalSupply) public {
constructor(string symbol, string name, uint8 decimals, uint totalSupply) public {
_symbol = symbol;
_name = name;
_decimals = decimals;
Expand All @@ -34,4 +34,4 @@ contract Token {
function balanceOf(address _addr) public constant returns (uint);
function transfer(address _to, uint _value) public returns (bool);
event Transfer(address indexed _from, address indexed _to, uint _value);
}
}