From d15f6ff1afcec7c88c55023988abaca9bdc71fbb Mon Sep 17 00:00:00 2001 From: James Date: Fri, 26 Oct 2018 03:26:54 +0100 Subject: [PATCH 1/5] Resolved lint warnings for tutorial-10 --- tutorial-10/ERC20.sol | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tutorial-10/ERC20.sol b/tutorial-10/ERC20.sol index 92c9657..313b5d7 100644 --- a/tutorial-10/ERC20.sol +++ b/tutorial-10/ERC20.sol @@ -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); -} \ No newline at end of file +} From db18e1d563966e60f0aaa068cf7779f81b737680 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 26 Oct 2018 03:27:20 +0100 Subject: [PATCH 2/5] Resolved lint warnings for tutorial-10 --- tutorial-10/ERC223.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorial-10/ERC223.sol b/tutorial-10/ERC223.sol index ed72fee..11169e6 100644 --- a/tutorial-10/ERC223.sol +++ b/tutorial-10/ERC223.sol @@ -1,6 +1,6 @@ pragma solidity ^0.4.0; interface ERC223 { - function transfer(address _to, uint _value, bytes _data) public returns (bool); + function transfer(address _to, uint _value, bytes _data) external returns (bool); event Transfer(address indexed from, address indexed to, uint value, bytes indexed data); -} \ No newline at end of file +} From bbfeafce7740644b3311b92e3cd1bd7e0e7b940b Mon Sep 17 00:00:00 2001 From: James Date: Fri, 26 Oct 2018 03:28:16 +0100 Subject: [PATCH 3/5] Resolved lint warnings for tutorial-10 --- tutorial-10/Token.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorial-10/Token.sol b/tutorial-10/Token.sol index b2670bf..13a2024 100644 --- a/tutorial-10/Token.sol +++ b/tutorial-10/Token.sol @@ -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; @@ -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); -} \ No newline at end of file +} From 479043e23d4fdcb43c456f3ae03626222e8848b7 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 26 Oct 2018 03:31:54 +0100 Subject: [PATCH 4/5] Resolved lint warnings for tutorial-10 --- tutorial-10/MyFirstToken.sol | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tutorial-10/MyFirstToken.sol b/tutorial-10/MyFirstToken.sol index c1ae1ca..36321be 100644 --- a/tutorial-10/MyFirstToken.sol +++ b/tutorial-10/MyFirstToken.sol @@ -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; } @@ -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; @@ -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) @@ -61,7 +61,7 @@ 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; @@ -69,11 +69,11 @@ contract MyFirstToken is Token("MFT", "My First Token", 18, 1000), ERC20, ERC223 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]; } -} \ No newline at end of file +} From b6fed4e1d486bc29da2c61ec1ba5bc3603b9ac5d Mon Sep 17 00:00:00 2001 From: James Date: Fri, 26 Oct 2018 03:33:25 +0100 Subject: [PATCH 5/5] Issue with address param and the use of external ``` browser/ballot.sol:5:5: TypeError: Function overload clash during conversion to external types for arguments. function transfer(address _to, uint _value, bytes _data) external returns (bool); ^-------------------------------------------------------------------------------^ ``` --- tutorial-10/ERC223.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial-10/ERC223.sol b/tutorial-10/ERC223.sol index 11169e6..c8b8cf5 100644 --- a/tutorial-10/ERC223.sol +++ b/tutorial-10/ERC223.sol @@ -1,6 +1,6 @@ pragma solidity ^0.4.0; interface ERC223 { - function transfer(address _to, uint _value, bytes _data) external returns (bool); + function transfer(address _to, uint _value, bytes _data) public returns (bool); event Transfer(address indexed from, address indexed to, uint value, bytes indexed data); }