Transaction Hash:
Block:
6449758 at Oct-04-2018 04:35:30 AM +UTC
Transaction Fee:
0.000021483 ETH
$0.05
Gas Used:
21,483 Gas / 1 Gwei
Emitted Events:
97 |
ERC20Standard.Transfer( _from=[Sender] 0xd67069e595171763fe8d9e95332b948d819559ff, _to=0x2211a3e1152b59305ED25f4734a8985Ce2cF40Da, _value=11980000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0xcC16E3c0...786dfE610
Miner
| 27,486.144776275759650769 Eth | 27,486.144797758759650769 Eth | 0.000021483 | ||
0xD67069e5...D819559fF |
0.0004 Eth
Nonce: 0
|
0.000378517 Eth
Nonce: 1
| 0.000021483 | ||
0xdDb5bFae...bcC275287 |
Execution Trace
ERC20Standard.transfer( _recipient=0x2211a3e1152b59305ED25f4734a8985Ce2cF40Da, _value=11980000000000000000 )
transfer[ERC20Standard (ln:59)]
Transfer[ERC20Standard (ln:63)]
pragma solidity ^0.4.11; //------------------------------------------------------------------------------------------------ // ERC20 Standard Token Implementation, based on ERC Standard: // https://github.com/ethereum/EIPs/issues/20 // With some inspiration from ConsenSys HumanStandardToken as well // Copyright 2017 BattleDrome //------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------ // LICENSE // // This file is part of BattleDrome. // // BattleDrome is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // BattleDrome is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with BattleDrome. If not, see <http://www.gnu.org/licenses/>. //------------------------------------------------------------------------------------------------ contract ERC20Standard { uint256 public totalSupply; bool public mintable; string public name; uint256 public decimals; string public symbol; address public owner; mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; function ERC20Standard(uint256 _totalSupply, string _symbol, string _name, bool _mintable) public { decimals = 18; symbol = _symbol; name = _name; mintable = _mintable; owner = msg.sender; totalSupply = _totalSupply * (10 ** decimals); balances[msg.sender] = totalSupply; } //Fix for short address attack against ERC20 modifier onlyPayloadSize(uint size) { assert(msg.data.length == size + 4); _; } function balanceOf(address _owner) constant public returns (uint256) { return balances[_owner]; } function transfer(address _recipient, uint256 _value) onlyPayloadSize(2*32) public { require(balances[msg.sender] >= _value && _value > 0); balances[msg.sender] -= _value; balances[_recipient] += _value; Transfer(msg.sender, _recipient, _value); } function transferFrom(address _from, address _to, uint256 _value) public { require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0); balances[_to] += _value; balances[_from] -= _value; allowed[_from][msg.sender] -= _value; Transfer(_from, _to, _value); } function approve(address _spender, uint256 _value) public { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); } function allowance(address _owner, address _spender) constant public returns (uint256) { return allowed[_owner][_spender]; } function mint(uint256 amount) public { assert(amount >= 0); require(msg.sender == owner); balances[msg.sender] += amount; totalSupply += amount; } //Event which is triggered to log all transfers to this contract's event log event Transfer( address indexed _from, address indexed _to, uint256 _value ); //Event which is triggered whenever an owner approves a new allowance for a spender. event Approval( address indexed _owner, address indexed _spender, uint256 _value ); }