diff options
author | chriseth <chris@ethereum.org> | 2016-08-27 01:32:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-27 01:32:18 +0800 |
commit | fb7836d87bba0eacb2454d6c50b1209365a89b6d (patch) | |
tree | 81810b473d4ae5f76e2cb97a959ff234382966ac /std/StandardToken.sol | |
parent | 69acd25888007c536bef22e350725cf444db58ad (diff) | |
parent | 56558c0db2ad1e64aa81aaa05820388c2ba65a45 (diff) | |
download | dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.tar dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.tar.gz dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.tar.bz2 dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.tar.lz dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.tar.xz dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.tar.zst dexon-solidity-fb7836d87bba0eacb2454d6c50b1209365a89b6d.zip |
Merge pull request #897 from Denton-L/remove-standard
BREAKING: Remove standard contracts
Diffstat (limited to 'std/StandardToken.sol')
-rw-r--r-- | std/StandardToken.sol | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/std/StandardToken.sol b/std/StandardToken.sol new file mode 100644 index 00000000..db453492 --- /dev/null +++ b/std/StandardToken.sol @@ -0,0 +1,43 @@ +import "./Token.sol"; + +contract StandardToken is Token { + uint256 public totalSupply; + mapping (address => uint256) public balanceOf; + mapping (address => + mapping (address => uint256)) public allowance; + + function StandardToken(address _initialOwner, uint256 _supply) { + totalSupply = _supply; + balanceOf[_initialOwner] = _supply; + } + + function transfer(address _to, uint256 _value) returns (bool success) { + if (balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >= balanceOf[_to]) { + balanceOf[msg.sender] -= _value; + balanceOf[_to] += _value; + Transfer(msg.sender, _to, _value); + return true; + } + else { + return false; + } + } + + function transferFrom(address _from, address _to, uint256 _value) returns (bool success) { + if (allowance[_from][msg.sender] >= _value && balanceOf[_to] + _value >= balanceOf[_to]) { + allowance[_from][msg.sender] -= _value; + balanceOf[_to] += _value; + Transfer(_from, _to, _value); + return true; + } + else { + return false; + } + } + + function approve(address _spender, uint256 _value) returns (bool success) { + allowance[msg.sender][_spender] = _value; + Approval(msg.sender, _spender, _value); + return true; + } +} |