Transaction Hash:
Block:
13498825 at Oct-27-2021 10:15:28 AM +UTC
Transaction Fee:
0.004253694587587773 ETH
$9.15
Gas Used:
36,541 Gas / 116.408817153 Gwei
Emitted Events:
| 239 |
TOPToken.Transfer( from=[Sender] 0xf1745e42b9800a2bc851e659a258dc1cd6fe1e27, to=0x5F4ca7f1fC4FfD233323cBe60ca0C7e3a880D5B9, value=100000000000000000000 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0xdcD85914...D5aaFfE2b | |||||
|
0xEA674fdD...16B898ec8
Miner
| (Ethermine) | 3,520.367535286588634475 Eth | 3,520.367640717555126387 Eth | 0.000105430966491912 | |
| 0xf1745E42...Cd6FE1E27 |
0.240775855215690601 Eth
Nonce: 1251
|
0.236522160628102828 Eth
Nonce: 1252
| 0.004253694587587773 |
Execution Trace
TOPToken.transfer( _to=0x5F4ca7f1fC4FfD233323cBe60ca0C7e3a880D5B9, _value=100000000000000000000 ) => ( True )
transfer[TOPToken (ln:42)]
Transfer[TOPToken (ln:54)]
pragma solidity ^0.5.6;
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/179
*/
contract ERC20Basic {
uint256 public totalSupply = 2e28;
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
contract TOPToken is ERC20Basic {
bytes32 public name = "TOP Network";
bytes32 public symbol = "TOP";
uint256 public decimals = 18;
address private owner = address(0);
bool private active = false;
mapping(address => uint256) private balances;
event OwnershipTransferred(address indexed orgOwner, address indexed newOwner);
constructor() public {
owner = msg.sender;
balances[owner] = totalSupply;
active = true;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(address _to, uint256 _value) public returns (bool) {
require(active);
require(_to != address(0));
require(_to != msg.sender);
require(_value <= balances[msg.sender]);
uint256 bal = balances[_to] + _value;
require(bal >= balances[_to]);
balances[msg.sender] = balances[msg.sender] - _value;
balances[_to] = bal;
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address _owner) public view returns (uint256 bal) {
require(active);
return balances[_owner];
}
// Only owner can deactivate
function deactivate() public onlyOwner {
active = false;
}
// Only owner can activate
function activate() public onlyOwner {
active = true;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
// Only owner can kill
function kill() public onlyOwner {
require(!active);
selfdestruct(msg.sender);
}
}