Transaction Hash:
Block:
8218596 at Jul-25-2019 07:53:42 AM +UTC
Transaction Fee:
0.0003402102 ETH
$0.85
Gas Used:
51,547 Gas / 6.6 Gwei
Emitted Events:
58 |
ERC20Standard.Transfer( _from=[Sender] 0xa4e33b885dd9dd744a864a789619fd4f4ff3973e, _to=0xcF8C409Bee4f318c745f3c324E029DBa125Af593, _value=522000000000000000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x5A0b54D5...D3E029c4c
Miner
| (Spark Pool) | 2,545.220804199760930868 Eth | 2,545.221144409960930868 Eth | 0.0003402102 | |
0xA4e33b88...F4FF3973e |
0.020845334781966755 Eth
Nonce: 86
|
0.020505124581966755 Eth
Nonce: 87
| 0.0003402102 | ||
0xa9c212a5...F6fC807D5 |
Execution Trace
ERC20Standard.transfer( _recipient=0xcF8C409Bee4f318c745f3c324E029DBa125Af593, _value=522000000000000000000 )
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 ); }