Transaction Hash:
Block:
20821675 at Sep-24-2024 04:33:35 PM +UTC
Transaction Fee:
0.00167712 ETH
$4.04
Gas Used:
52,410 Gas / 32 Gwei
Emitted Events:
262 |
Token.Transfer( from=[Sender] 0x73ec7aeb75cf906fb3f4226986f4b2511e93d943, to=0xC2816a5229Da53b0eF179Db3B0ccFF554D385489, value=223219750000000 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 14.880127762916528188 Eth | 14.880248608376262898 Eth | 0.00012084545973471 | |
0x6a15Aa3E...9011711C8 | |||||
0x73EC7aeb...11e93D943 |
0.137357247320258766 Eth
Nonce: 336
|
0.135680127320258766 Eth
Nonce: 337
| 0.00167712 |
Execution Trace
Token.transfer( to=0xC2816a5229Da53b0eF179Db3B0ccFF554D385489, value=223219750000000 ) => ( True )
transfer[Token (ln:27)]
Transfer[Token (ln:31)]
pragma solidity ^0.8.4; contract Token { mapping(address => uint) private balances; mapping(address => mapping(address => uint)) private allowed; uint public totalSupply; string public name; string public symbol; uint public decimals; event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); constructor(string memory _name, string memory _symbol, uint _dec, uint _supply, address _owner) { name = _name; symbol = _symbol; decimals = _dec; totalSupply = _supply * 10 ** decimals; balances[_owner] = totalSupply; emit Transfer(address(0), _owner, totalSupply); } function balanceOf(address owner) public view returns(uint) { return balances[owner]; } function transfer(address to, uint value) public returns(bool) { require(balances[msg.sender] >= value, 'balance too low'); balances[to] += value; balances[msg.sender] -= value; emit Transfer(msg.sender, to, value); return true; } function transferFrom(address from, address to, uint value) public returns(bool) { require(balances[from] >= value, 'balance too low'); require(allowed[from][msg.sender] >= value, 'allowance too low'); balances[to] += value; balances[from] -= value; allowed[from][msg.sender] -=value; emit Transfer(from, to, value); return true; } function approve(address spender, uint value) public returns (bool) { allowed[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function allowance(address owner, address spender) public view returns (uint) { return allowed[owner][spender]; } }