diff --git a/tutorial-01/myfirstcontract.sol b/tutorial-01/myfirstcontract.sol index b921078..a2ae8b4 100644 --- a/tutorial-01/myfirstcontract.sol +++ b/tutorial-01/myfirstcontract.sol @@ -1,14 +1,14 @@ -pragma solidity ^0.4.0; +pragma solidity ^0.5.0; contract MyFirstContract { string private name; uint private age; - function setName(string newName) public { + function setName(string memory newName) public { name = newName; } - function getName() public view returns (string) { + function getName() public view returns (string memory) { return name; } diff --git a/tutorial-02/myfirstcontract.sol b/tutorial-02/myfirstcontract.sol index af0d797..f94fce1 100644 --- a/tutorial-02/myfirstcontract.sol +++ b/tutorial-02/myfirstcontract.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.0; +pragma solidity ^0.5.0; interface Regulator { function checkValue(uint amount) external returns (bool); @@ -40,11 +40,11 @@ contract MyFirstContract is Bank(10) { string private name; uint private age; - function setName(string newName) public { + function setName(string memory newName) public { name = newName; } - function getName() public view returns (string) { + function getName() public view returns (string memory) { return name; } diff --git a/tutorial-09/MyToken.sol b/tutorial-09/MyToken.sol index 0bd4728..635e9d3 100644 --- a/tutorial-09/MyToken.sol +++ b/tutorial-09/MyToken.sol @@ -11,19 +11,19 @@ contract MyFirstToken is ERC20 { mapping (address => uint) private __balanceOf; mapping (address => mapping (address => uint)) private __allowances; - function MyFirstToken() { + constructor() public { __balanceOf[msg.sender] = __totalSupply; } - function totalSupply() constant returns (uint _totalSupply) { + function totalSupply() public constant returns (uint _totalSupply) { _totalSupply = __totalSupply; } - function balanceOf(address _addr) constant returns (uint balance) { + function balanceOf(address _addr) public constant returns (uint balance) { return __balanceOf[_addr]; } - function transfer(address _to, uint _value) returns (bool success) { + function transfer(address _to, uint _value) public returns (bool success) { if (_value > 0 && _value <= balanceOf(msg.sender)) { __balanceOf[msg.sender] -= _value; __balanceOf[_to] += _value; @@ -32,7 +32,7 @@ contract MyFirstToken is ERC20 { return false; } - function transferFrom(address _from, address _to, uint _value) returns (bool success) { + function transferFrom(address _from, address _to, uint _value) public returns (bool success) { if (__allowances[_from][msg.sender] > 0 && _value > 0 && __allowances[_from][msg.sender] >= _value && @@ -46,12 +46,12 @@ contract MyFirstToken is ERC20 { return false; } - function approve(address _spender, uint _value) returns (bool success) { + function approve(address _spender, uint _value) public returns (bool success) { __allowances[msg.sender][_spender] = _value; return true; } - function allowance(address _owner, address _spender) constant returns (uint remaining) { + function allowance(address _owner, address _spender) public constant returns (uint remaining) { return __allowances[_owner][_spender]; } } 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 +} diff --git a/tutorial-10/ERC223.sol b/tutorial-10/ERC223.sol index ed72fee..c8b8cf5 100644 --- a/tutorial-10/ERC223.sol +++ b/tutorial-10/ERC223.sol @@ -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); -} \ No newline at end of file +} 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 +} 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 +} diff --git a/tutorial-14/EtherTransfer.sol b/tutorial-14/EtherTransfer.sol index a61a92a..1d50789 100644 --- a/tutorial-14/EtherTransfer.sol +++ b/tutorial-14/EtherTransfer.sol @@ -1,7 +1,7 @@ -pragma solidity ^0.4.0; +pragma solidity ^0.5.0; contract EtherTransferTo { - function () public payable { + function () external payable { } function getBalance() public returns (uint) { @@ -13,7 +13,7 @@ contract EtherTransferFrom { EtherTransferTo private _instance; - function EtherTransferFrom() public { + constructor() public { // _instance = EtherTransferTo(address(this)); _instance = new EtherTransferTo(); } @@ -27,7 +27,7 @@ contract EtherTransferFrom { return _instance.getBalance(); } - function () public payable { + function () external payable { //msg.sender.send(msg.value); address(_instance).send(msg.value); } diff --git a/tutorial-15/ExternalContract.sol b/tutorial-15/ExternalContract.sol index 346c076..17e7328 100644 --- a/tutorial-15/ExternalContract.sol +++ b/tutorial-15/ExternalContract.sol @@ -1,11 +1,11 @@ -pragma solidity ^0.4.0; +pragma solidity ^0.5.0; contract ExternalContract { - function externalCall(string x) external returns (uint) { + function externalCall(string calldata x) external returns (uint) { return 123; } - function publicCall(string x) public returns (uint) { + function publicCall(string memory x) public returns (uint) { return 123; } -} \ No newline at end of file +} diff --git a/tutorial-16/AlarmTrigger.sol b/tutorial-16/AlarmTrigger.sol index 04a13d7..b474f57 100644 --- a/tutorial-16/AlarmTrigger.sol +++ b/tutorial-16/AlarmTrigger.sol @@ -1,7 +1,7 @@ -pragma solidity ^0.4.0; +pragma solidity ^0.5.0; interface AlarmWakeUp { - function callback(bytes _data) public; + function callback(bytes calldata _data) external; } contract AlarmService { @@ -16,7 +16,7 @@ contract AlarmService { function set(uint _time) public returns (bool) { - TimeEvent _timeEvent; + TimeEvent memory _timeEvent; _timeEvent.addr = msg.sender; _timeEvent.data = msg.data; _events[_time].push(_timeEvent); @@ -24,7 +24,7 @@ contract AlarmService { function call(uint _time) public { - TimeEvent[] timeEvents = _events[_time]; + TimeEvent[] memory timeEvents = _events[_time]; for(uint i = 0; i < timeEvents.length; i++) { AlarmWakeUp(timeEvents[i].addr).callback(timeEvents[i].data); } @@ -35,11 +35,11 @@ contract AlarmTrigger is AlarmWakeUp { AlarmService private _alarmService; - function AlarmTrigger() { + constructor() public { _alarmService = new AlarmService(); } - function callback(bytes _data) + function callback(bytes memory _data) public { // Do something } diff --git a/tutorial-16/TimeBased.sol b/tutorial-16/TimeBased.sol index 27f22c0..c921a61 100644 --- a/tutorial-16/TimeBased.sol +++ b/tutorial-16/TimeBased.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.0; +pragma solidity ^0.5.0; contract TimeBased { diff --git a/tutorial-24/MultiSigWallet.sol b/tutorial-24/MultiSigWallet.sol index c1375f8..71d30f3 100644 --- a/tutorial-24/MultiSigWallet.sol +++ b/tutorial-24/MultiSigWallet.sol @@ -19,7 +19,7 @@ contract MultiSigWallet { event WithdrawFunds(address to, uint amount); event TransferFunds(address from, address to, uint amount); - function MultiSigWallet() + constructor() public { _owner = msg.sender; } @@ -39,7 +39,7 @@ contract MultiSigWallet { function () public payable { - DepositFunds(msg.sender, msg.value); + emit DepositFunds(msg.sender, msg.value); } function withdraw(uint amount) @@ -47,15 +47,15 @@ contract MultiSigWallet { public { require(address(this).balance >= amount); msg.sender.transfer(amount); - WithdrawFunds(msg.sender, amount); + emit WithdrawFunds(msg.sender, amount); } function transferTo(address to, uint amount) validOwner public { require(address(this).balance >= amount); - msg.sender.transfer(amount); - TransferFunds(msg.sender, to, amount); + to.transfer(amount); + emit TransferFunds(msg.sender, to, amount); } -} \ No newline at end of file +}