ETH Price: $1,873.35 (-0.25%)

Transaction Decoder

Block:
11260207 at Nov-15-2020 04:23:01 AM +UTC
Transaction Fee:
0.00160305 ETH $3.00
Gas Used:
32,061 Gas / 50 Gwei

Emitted Events:

31 eTrustmoney.Multisended( value=63000000000000000, sender=[Sender] 0x4fe404cd6736338d44ffde4c64604d2b20a58465 )

Account State Difference:

  Address   Before After State Difference Code
(xnpool)
196.617012867649397455 Eth196.618615917649397455 Eth0.00160305
0x4fe404cD...b20A58465
1.00549055929447737 Eth
Nonce: 5674
0.94088750929447737 Eth
Nonce: 5675
0.06460305
0xD1C96a7A...7bf687406 0.154795734 Eth0.217795734 Eth0.063

Execution Trace

ETH 0.063 eTrustmoney.multisendEther( _contributors=[0xD1C96a7AE7a3f55f67fc33Fa3f373FD7bf687406], _balances=[63000000000000000] )
  • ETH 0.063 0xd1c96a7ae7a3f55f67fc33fa3f373fd7bf687406.CALL( )
    pragma solidity 0.4.24;
    
    
    
    /**
     * @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) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        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;
      }
    }
    contract eTrustmoney {
        event Multisended(uint256 value , address sender);
        using SafeMath for uint256;
    
        function multisendEther(address[] _contributors, uint256[] _balances) public payable {
            uint256 total = msg.value;
            uint256 i = 0;
            for (i; i < _contributors.length; i++) {
                require(total >= _balances[i] );
                total = total.sub(_balances[i]);
                _contributors[i].transfer(_balances[i]);
            }
            emit Multisended(msg.value, msg.sender);
        }
    }