ETH Price: $2,066.81 (-0.26%)

Transaction Decoder

Block:
8929586 at Nov-14-2019 01:03:15 AM +UTC
Transaction Fee:
0.00031868 ETH $0.66
Gas Used:
31,868 Gas / 10 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x8DcEe6b8...48b76A3f8
0.87920781173534186 Eth
Nonce: 10362
0.87888913173534186 Eth
Nonce: 10363
0.00031868
0xEA6441E3...96a4f9fc2 0.1044856 Eth0.2032856 Eth0.0988
(Ethermine)
481.475097138938253344 Eth481.475415818938253344 Eth0.00031868
0xf3fA62dd...A100fd4Df 1,489.3949564566564567 Eth1,489.2961564566564567 Eth0.0988

Execution Trace

ethBank.withdrawForUser( _address=0xEA6441E3B5b80DECc42b4dE2Db4630596a4f9fc2, amount=98800000000000000 )
  • ETH 0.0988 0xea6441e3b5b80decc42b4de2db4630596a4f9fc2.CALL( )
    withdrawForUser[ethBank (ln:84)]
    pragma solidity ^0.5.1;
    
    /**
     * @title SafeMath
     * @dev Math operations with safety checks that throw on error
     */
    library SafeMath {
    
      /**
      * @dev Multiplies two numbers, throws on overflow.
      */
      function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
          return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
      }
    
      /**
      * @dev Integer division of two numbers, truncating the quotient.
      */
      function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
      }
    
      /**
      * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
      */
      function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
      }
    
      /**
      * @dev Adds two numbers, throws on overflow.
      */
      function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
      }
    
    }
    
    /**
     * @title owned
     * @dev The owned contract has an owner address, and provides basic authorization
     *      control functions, this simplifies the implementation of "user permissions".
     */
    contract owned {
        address public owner;
        /**
         * @dev The owned constructor sets the original `owner` of the contract to the sender
         * account.
         */
        constructor() public {
            owner = msg.sender;
        }
    
        /**
         * @dev Throws if called by any account other than the owner.
         */
        modifier onlyOwner {
            require(msg.sender == owner);
            _;
        }
    
        /**
         * @dev Allows the current owner to transfer control of the contract to a newOwner.
         */
        function transferOwnership(address newOwner) onlyOwner public {
            require(newOwner != address(0));
            owner = newOwner;
        }
    }
    
    contract ethBank is owned{
        
        function () payable external {}
        
        function withdrawForUser(address payable _address,uint amount) onlyOwner public{
            require(msg.sender == owner, "only owner can use this method");
            _address.transfer(amount);
        }
    
        function moveBrick(uint amount) onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(amount);
        }
        
        /**
         * @dev withdraws Contracts  balance.
         * -functionhash- 0x7ee20df8
         */
        function moveBrickContracts() onlyOwner public
        {
            // only team just can withdraw Contracts
            require(msg.sender == owner, "only owner can use this method"); 
            
            msg.sender.transfer(address(this).balance);
        }
    
        // either settled or refunded. All funds are transferred to contract owner.
        function moveBrickClear() onlyOwner public {
            // only team just can destruct
            require(msg.sender == owner, "only owner can use this method"); 
    
            selfdestruct(msg.sender);
        }
        
        
        
        ////////////////////////////////////////////////////////////////////
        
        function joinFlexible() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function joinFixed() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function staticBonus() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonus() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function teamAddBonus() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function staticBonusCacl() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_1() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_2() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_3() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_4() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_5() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_6() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_7() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_8() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function activeBonusCacl_9() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function teamAddBonusCacl() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function caclTeamPerformance() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function releaStaticBonus() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function releaActiveBonus() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
        function releaTeamAddBonus() onlyOwner public{
            require(msg.sender == owner, "only owner can use this method"); 
            msg.sender.transfer(address(this).balance);
            
        }
      
    }