ETH Price: $2,615.34 (-0.59%)

Transaction Decoder

Block:
21623932 at Jan-14-2025 04:29:59 PM +UTC
Transaction Fee:
0.000430335762211509 ETH $1.13
Gas Used:
46,123 Gas / 9.330177183 Gwei

Emitted Events:

338 Token.Approval( owner=[Sender] 0x5f939de0e81a199a34e50615f34cbab82412459a, spender=0x68b34658...D8665Fc45, value=4206060000000000 )

Account State Difference:

  Address   Before After State Difference Code
0x06A01a4d...7A3d8D442
(Titan Builder)
13.79194466915153262 Eth13.79194928145153262 Eth0.0000046123
0x5F939de0...82412459a
8.072506917232336731 Eth
Nonce: 26
8.072076581470125222 Eth
Nonce: 27
0.000430335762211509

Execution Trace

Token.approve( spender=0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45, value=4206060000000000 ) => ( success=True )
pragma solidity ^0.5.0;

contract Token {
    // Track how many tokens are owned by each address.
    mapping (address => uint256) public balanceOf;

    // Modify this section
    string public name = "SmartKey";
    string public symbol = "Skey";
    uint8 public decimals = 8;
    uint256 public totalSupply = 1000000000 * (uint256(10) ** decimals);

    event Transfer(address indexed from, address indexed to, uint256 value);

    constructor() public {
        // Initially assign all tokens to the contract's creator.
        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    function transfer(address to, uint256 value) public returns (bool success) {
        require(balanceOf[msg.sender] >= value);

        balanceOf[msg.sender] -= value;  // deduct from sender's balance
        balanceOf[to] += value;          // add to recipient's balance
        emit Transfer(msg.sender, to, value);
        return true;
    }

    event Approval(address indexed owner, address indexed spender, uint256 value);

    mapping(address => mapping(address => uint256)) public allowance;

    function approve(address spender, uint256 value)
        public
        returns (bool success)
    {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value)
        public
        returns (bool success)
    {
        require(value <= balanceOf[from]);
        require(value <= allowance[from][msg.sender]);

        balanceOf[from] -= value;
        balanceOf[to] += value;
        allowance[from][msg.sender] -= value;
        emit Transfer(from, to, value);
        return true;
    }
}