ETH Price: $2,488.18 (-0.52%)

Transaction Decoder

Block:
22814611 at Jun-30-2025 03:41:23 AM +UTC
Transaction Fee:
0.000022354976605168 ETH $0.06
Gas Used:
59,344 Gas / 0.376701547 Gwei

Emitted Events:

334 MerchantToken.Transfer( from=[Receiver] 0xfac9d22a1089c9e48be3515a85417664753d8204, to=0x0000Af8bC16faE70D2Ee4697edDcc53D62dd2200, tokens=38171875000000000000 )
335 0xfac9d22a1089c9e48be3515a85417664753d8204.0x446928f7fd842bfa1ad8f7d2aadcfdda1bf5b4c1fef6fcec88d2484bc4478e48( 0x446928f7fd842bfa1ad8f7d2aadcfdda1bf5b4c1fef6fcec88d2484bc4478e48, 0x0000000000000000000000000008e35792549b0147de4bde25f708762a038900, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000160, 0000000000000000000000000000000000000000000000000000000000000001, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000e66b3aa360bb78468c00bebe163630269db3324f, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000060, 0000000000000000000000000000000000000000000000000000000000000044, a9059cbb0000000000000000000000000000af8bc16fae70d2ee4697eddcc53d, 62dd220000000000000000000000000000000000000000000000000211bdbe11, b99d300000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000001, 0000000000000000000000000000000000000000000000000000000000000020, 0000000000000000000000000000000000000000000000000000000000000020, 0000000000000000000000000000000000000000000000000000000000000001 )

Account State Difference:

  Address   Before After State Difference Code
0x0008e357...62A038900
0.009470649919921644 Eth
Nonce: 15
0.009448294943316476 Eth
Nonce: 16
0.000022354976605168
(Titan Builder)
19.607589979633112772 Eth19.607592871160907892 Eth0.00000289152779512
0xE66b3AA3...69DB3324F
0xfAC9D22A...4753d8204 From: 0 To: 22892027388384995767342970845840195767820421313931743448

Execution Trace

0xfac9d22a1089c9e48be3515a85417664753d8204.34fcd5be( )
  • MerchantToken.transfer( to=0x0000Af8bC16faE70D2Ee4697edDcc53D62dd2200, tokens=38171875000000000000 ) => ( success=True )
    pragma solidity ^0.5.0;
    
    
    contract ERC20Interface {
        function totalSupply() public view returns (uint);
        function balanceOf(address tokenOwner) public view returns (uint balance);
        function allowance(address tokenOwner, address spender) public view returns (uint remaining);
        function transfer(address to, uint tokens) public returns (bool success);
        function approve(address spender, uint tokens) public returns (bool success);
        function transferFrom(address from, address to, uint tokens) public returns (bool success);
    
        event Transfer(address indexed from, address indexed to, uint tokens);
        event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
    }
    
    
    contract SafeMath {
        function safeAdd(uint a, uint b) public pure returns (uint c) {
            c = a + b;
            require(c >= a);
        }
        function safeSub(uint a, uint b) public pure returns (uint c) {
            require(b <= a); c = a - b; } function safeMul(uint a, uint b) public pure returns (uint c) { c = a * b; require(a == 0 || c / a == b); } function safeDiv(uint a, uint b) public pure returns (uint c) { require(b > 0);
            c = a / b;
        }
    }
    
    
    contract MerchantToken is ERC20Interface, SafeMath {
        string constant public name = "Merchant Token";
        string constant public symbol = "MTO";
        uint8 constant public decimals = 18;
        uint256 constant public _totalSupply = 100000000000000000000000000;
        
        mapping(address => uint) public balances;
        mapping(address => mapping(address => uint)) public allowed;
    
        constructor() public {
            balances[msg.sender] = _totalSupply;
            emit Transfer(address(0), msg.sender, _totalSupply);
        }
    
        function totalSupply() public view returns (uint) {
            return _totalSupply  - balances[address(0)];
        }
    
        function balanceOf(address tokenOwner) public view returns (uint balance) {
            return balances[tokenOwner];
        }
    
        function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
            return allowed[tokenOwner][spender];
        }
    
        function approve(address spender, uint tokens) public returns (bool success) {
            allowed[msg.sender][spender] = tokens;
            emit Approval(msg.sender, spender, tokens);
            return true;
        }
        
        function increaseApproval(address spender, uint tokens) public returns (bool success) {
            allowed[msg.sender][spender] = safeAdd(allowed[msg.sender][spender], tokens);
            return true;
        }
        
        function decreaseApproval(address spender, uint tokens) public returns (bool success) {
            allowed[msg.sender][spender] = safeSub(allowed[msg.sender][spender], tokens);
            return true;
        }
    
        function transfer(address to, uint tokens) public returns (bool success) {
            balances[msg.sender] = safeSub(balances[msg.sender], tokens);
            balances[to] = safeAdd(balances[to], tokens);
            emit Transfer(msg.sender, to, tokens);
            return true;
        }
    
        function transferFrom(address from, address to, uint tokens) public returns (bool success) {
            balances[from] = safeSub(balances[from], tokens);
            allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
            balances[to] = safeAdd(balances[to], tokens);
            emit Transfer(from, to, tokens);
            return true;
        }
    }