Transaction Hash:
Block:
11423948 at Dec-10-2020 07:47:16 AM +UTC
Transaction Fee:
0.001108350785191572 ETH
$2.19
Gas Used:
22,971 Gas / 48.250001532 Gwei
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
|
0x005e288D...8688C7223
Miner
| (xnpool) | 43.5760910350467775 Eth | 43.577199385831969072 Eth | 0.001108350785191572 | |
| 0x05f51AAb...f67F17eC7 | (ABCC) |
1.002377605568220622 Eth
Nonce: 39158
|
1.00126925478302905 Eth
Nonce: 39159
| 0.001108350785191572 |
Execution Trace
MultiVACToken.transfer( _to=0xB84844becf02D9f9839f2e6860411E0083bf1c7b, _value=198329179724787474506000 )
transfer[MultiVACToken (ln:30)]
Transfer[MultiVACToken (ln:36)]
pragma solidity ^0.4.25;
contract MultiVACToken {
string public name = "MultiVAC"; // token name
string public symbol = "MTV"; // token symbol
uint256 public decimals = 18; // token digit
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) public allowance;
uint256 public totalSupply = 0;
bool public stopped = false;
uint256 constant initSupply = 10**10;
address owner = address(0);
modifier isOwner {
require(owner == msg.sender);
_;
}
modifier isRunning {
require(!stopped);
_;
}
modifier validAddress {
require(address(0) != msg.sender);
_;
}
constructor() public {
owner = msg.sender;
totalSupply = initSupply * (10 ** decimals);
balanceOf[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
function transfer(address _to, uint256 _value) public isRunning validAddress returns (bool success) {
require(_to != address(0));
require(balanceOf[msg.sender] >= _value);
require(balanceOf[_to] + _value >= balanceOf[_to]);
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
emit Transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) public isRunning validAddress returns (bool success) {
require(_to != address(0));
require(balanceOf[_from] >= _value);
require(balanceOf[_to] + _value >= balanceOf[_to]);
require(allowance[_from][msg.sender] >= _value);
balanceOf[_to] += _value;
balanceOf[_from] -= _value;
allowance[_from][msg.sender] -= _value;
emit Transfer(_from, _to, _value);
return true;
}
function approve(address _spender, uint256 _value) public isRunning validAddress returns (bool success) {
require(_value == 0 || allowance[msg.sender][_spender] == 0);
allowance[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function stop() public isOwner {
stopped = true;
}
function start() public isOwner {
stopped = false;
}
function setName(string _name) public isOwner {
name = _name;
}
function burn(uint256 _value) public isRunning {
require(balanceOf[msg.sender] >= _value);
balanceOf[msg.sender] -= _value;
balanceOf[address(0)] += _value;
emit Transfer(msg.sender, address(0), _value);
}
function () public payable{
revert();
}
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}