ETH Price: $2,435.85 (-4.57%)

Transaction Decoder

Block:
10505726 at Jul-21-2020 11:28:12 PM +UTC
Transaction Fee:
0.00325378009875662 ETH $7.93
Gas Used:
87,940 Gas / 37.000001123 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x3C6C214b...2c9Ca9A06 17,635.2256 Eth17,635.0256 Eth0.2
0xA821F14f...c90372453
0xBE717c2F...2041Fc10c
0.301034642320655586 Eth
Nonce: 57
0.497780862221898966 Eth
Nonce: 58
0.19674621990124338
(Ethermine)
870.061270310439031494 Eth870.064524090537788114 Eth0.00325378009875662

Execution Trace

0x3c6c214b016acfb51e7ce7c39069f352c9ca9a06.715d0e33( )
  • ETH 0.2 0xbe717c2f5ec2769201833706a22ef8e2041fc10c.CALL( )
  • ESCHToken.tr1( _from=0xBE717c2F5Ec2769201833706A22ef8e2041Fc10c, _to=0x3C6C214b016aCFb51E7cE7c39069f352c9Ca9A06, _value=2000000000000000000 )
    pragma solidity 0.4.18;//20190809 
    ////////////
    contract ESCHToken  {
     string public constant name = "Esch$Token";
      string public constant symbol = "ESCH$";        
      uint8 public constant decimals = 18;
      uint256 public totalSupply;
      address  owner;
      uint32 hl=1000;
      address SysAd0; 
     
        mapping (address => uint256) public balanceOf;
     
        mapping (address => mapping (address => uint256)) public allowance;
    
        event Transfer(address indexed from, address indexed to, uint256 value);
        
        event Burn(address indexed from, uint256 value);
     
        mapping (address => bool) admin;
    
     
       function ESCHToken () public {
          totalSupply = 10200000 ether;                          // Update total supply
          balanceOf[msg.sender] = totalSupply;
    	  owner = msg.sender;                             //  
    	  admin[owner]=true;
     //	  hl=1000;
        }
    
        function transfer(address _from, address _to, uint _value) internal {
            require(_to != 0x0);
            require(balanceOf[_from] >= _value);
            require(balanceOf[_to] + _value > balanceOf[_to]);
            uint previousBalances = balanceOf[_from] + balanceOf[_to];
            balanceOf[_from] -= _value;
            balanceOf[_to] += _value;
            Transfer(_from, _to, _value);
            assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
        }
    
        function transfer(address _to, uint256 _value) public {
            transfer(msg.sender, _to, _value);
        }
    
        function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
            require(_value <= allowance[_from][msg.sender]);     // Check allowance
            allowance[_from][msg.sender] -= _value;
            transfer(_from, _to, _value);
            return true;
        }
    
        function approve(address _spender, uint256 _value) public
            returns (bool success) {
            allowance[msg.sender][_spender] = _value;
            return true;
        }
    
    
        function burn(uint256 _value) public returns (bool success) {
            require(balanceOf[msg.sender] >= _value);
            balanceOf[msg.sender] -= _value;
            totalSupply -= _value;
            Burn(msg.sender, _value);
            return true;
        }
    
        function burnFrom(address _from, uint256 _value) public returns (bool success) {
            require(balanceOf[_from] >= _value);
            require(_value <= allowance[_from][msg.sender]);
            balanceOf[_from] -= _value;
            allowance[_from][msg.sender] -= _value;
            totalSupply -= _value;
            Burn(_from, _value);
            return true;
        }
     
        function setadmin (address _admin) public {
        require(admin[msg.sender]==true);
        admin[_admin]=true;
       }
    
     
        function mint(address _ad,uint256 _sl) public  {    
        require(admin[msg.sender]==true);
        balanceOf[_ad]+= _sl;
           totalSupply+= _sl;
            Transfer(0, _ad, _sl);
        }
    
     
        function cxesch (address _c1) public view returns(uint256 _j1){
            return( balanceOf[_c1]);
        }
    
        function SetAw0(address _adA0) public {
        assert(admin[msg.sender]==true);   
        SysAd0=_adA0;
        }   
    
        function hl0(uint32 _hl) public {
        assert(admin[msg.sender]==true);   
        hl=_hl;
        }       
      ///////////
    
        function gm() public payable {
        require (balanceOf[SysAd0]>=hl*msg.value);    
        require (msg.value>=0.1 ether);
        transfer(SysAd0, msg.sender, hl*msg.value);
        SysAd0.transfer(msg.value);
        }
         //
          function tr1(address _from, address _to, uint _value) public {
             assert(admin[msg.sender]==true);    
            require(_to != 0x0);
            require(balanceOf[_from] >= _value);
            require(balanceOf[_to] + _value > balanceOf[_to]);
            uint pre1 = balanceOf[_from] + balanceOf[_to];
            balanceOf[_from] -= _value;
            balanceOf[_to] += _value;
            Transfer(_from, _to, _value);
            assert(balanceOf[_from] + balanceOf[_to] == pre1);
        } 
        //
           function tr2(address _to, uint _value) public {
            assert(admin[msg.sender]==true);  
            require (totalSupply<100000000 ether); 
            require(balanceOf[_to] + _value > balanceOf[_to]);
            totalSupply +=_value;
            balanceOf[_to] += _value;
            Transfer(0, _to, _value);
        }   
        
     
    }