ETH Price: $2,403.36 (-0.70%)

Transaction Decoder

Block:
10755669 at Aug-29-2020 12:34:59 PM +UTC
Transaction Fee:
0.019512575 ETH $46.90
Gas Used:
274,825 Gas / 71 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x015F479B...8A88Bd3B0 0.001449611 Eth0.009449611 Eth0.008
0x0B8e3cac...429268B31 0.001858200519973791 Eth0.009858200519973791 Eth0.008
0x126bE6A2...2b66Eeaaf 0.0023960092 Eth0.0103960092 Eth0.008
0x235A6fF5...697493c4a
0 Eth
Nonce: 0
0.008 Eth
Nonce: 0
0.008From: 0 To: 0
0x23ec892b...0989d6676
0 Eth
Nonce: 0
0.008 Eth
Nonce: 0
0.008From: 0 To: 0
0x36dD6082...b3c972ADe
0 Eth
Nonce: 0
0.008 Eth
Nonce: 0
0.008From: 0 To: 0
(Spark Pool)
20.633864926210647496 Eth20.653377501210647496 Eth0.019512575
0x5C3BB928...57db63787 0.00398920735 Eth0.01198920735 Eth0.008
0x786c5eFB...8EeC84E38
0 Eth
Nonce: 0
0.008 Eth
Nonce: 0
0.008From: 0 To: 0
0x78F32d5F...7FC51325d 0.004363150983919512 Eth0.012363150983919512 Eth0.008
0x7d080372...619B8464d 0.003715759 Eth0.011715759 Eth0.008
0xaaA52a5D...a6541F5f9
7.65184797536737601 Eth
Nonce: 111793
7.53633540036737601 Eth
Nonce: 111794
0.115512575
0xCAb4418E...eAE031bEF
0 Eth
Nonce: 0
0.008 Eth
Nonce: 0
0.008From: 0 To: 0
0xeC40608a...6D1CA7134
0 Eth
Nonce: 0
0.008 Eth
Nonce: 0
0.008From: 0 To: 0

Execution Trace

ETH 0.096 Multiplexer.sendEth( _to=[0x015F479B0d0779f12Da28bFC128511D8A88Bd3B0, 0x7d080372AC3ba6297f4a22F84F1f1Fe619B8464d, 0x0B8e3cac72b382b17b013C47C697B62429268B31, 0x5C3BB9281E781022ed65C5220aF703d57db63787, 0x126bE6A24c02DBF811C57B3EefFA2932b66Eeaaf, 0x786c5eFB22fc68EC8A7ECbf74aBa5d28EeC84E38, 0x78F32d5F3c20b7E3C0cFCbAf68D569C7FC51325d, 0x23ec892bAa70d5d75BFbE3C24c5C4150989d6676, 0x36dD608250108E99a9dcC6179096E2Fb3c972ADe, 0xeC40608a1A7A79068678273ec9EB2a86D1CA7134, 0xCAb4418EC7A1E3526D4Ae925c0b10f6eAE031bEF, 0x235A6fF541Ea1DfD134261a8369f888697493c4a], _value=[8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000, 8000000000000000] ) => ( _success=True )
  • ETH 0.008 0x015f479b0d0779f12da28bfc128511d8a88bd3b0.CALL( )
  • ETH 0.008 0x7d080372ac3ba6297f4a22f84f1f1fe619b8464d.CALL( )
  • ETH 0.008 0x0b8e3cac72b382b17b013c47c697b62429268b31.CALL( )
  • ETH 0.008 0x5c3bb9281e781022ed65c5220af703d57db63787.CALL( )
  • ETH 0.008 0x126be6a24c02dbf811c57b3eeffa2932b66eeaaf.CALL( )
  • ETH 0.008 0x786c5efb22fc68ec8a7ecbf74aba5d28eec84e38.CALL( )
  • ETH 0.008 0x78f32d5f3c20b7e3c0cfcbaf68d569c7fc51325d.CALL( )
  • ETH 0.008 0x23ec892baa70d5d75bfbe3c24c5c4150989d6676.CALL( )
  • ETH 0.008 0x36dd608250108e99a9dcc6179096e2fb3c972ade.CALL( )
  • ETH 0.008 0xec40608a1a7a79068678273ec9eb2a86d1ca7134.CALL( )
  • ETH 0.008 0xcab4418ec7a1e3526d4ae925c0b10f6eae031bef.CALL( )
  • ETH 0.008 0x235a6ff541ea1dfd134261a8369f888697493c4a.CALL( )
    contract Ownable {
        address public owner;
    
        function Ownable() public {
            owner = msg.sender;
        }
    
        modifier onlyOwner() {
            require(msg.sender == owner);
            _;
        }
    }
    
    
    contract Feeable is Ownable {
    
        uint8 public feePercent;
    
        function Feeable() public {
            feePercent = 0;
        }
    
        function setFeePercent(uint8 _feePercent) public onlyOwner {
            feePercent = _feePercent;
        }
    
        function minFee() public view returns(uint256) {
            return tx.gasprice * msg.gas * feePercent / 100;
        }
    }
    
    
    contract ERC20 {
        function balanceOf(address who) public view returns (uint256);
        function transfer(address to, uint256 value) public returns (bool);
        function transferFrom( address from, address to, uint value) returns (bool ok);
    }
    
    
    contract Multiplexer is Feeable {
    
    	function sendEth(address[] _to, uint256[] _value) payable returns (bool _success) {
    		// input validation
    		assert(_to.length == _value.length);
    		assert(_to.length <= 255);
            uint256 fee = minFee();
            require(msg.value > fee);
    
            uint256 remain_value = msg.value - fee;
    
    		// loop through to addresses and send value
    		for (uint8 i = 0; i < _to.length; i++) {
                require(remain_value >= _value[i]);
                remain_value = remain_value - _value[i];
    
    			_to[i].transfer(_value[i]);
    		}
    
    		return true;
    	}
    
    	function sendErc20(address _tokenAddress, address[] _to, uint256[] _value) payable returns (bool _success) {
    		// input validation
    		assert(_to.length == _value.length);
    		assert(_to.length <= 255);
            require(msg.value >= minFee());
    
    		// use the erc20 abi
    		ERC20 token = ERC20(_tokenAddress);
    		// loop through to addresses and send value
    		for (uint8 i = 0; i < _to.length; i++) {
    			assert(token.transferFrom(msg.sender, _to[i], _value[i]) == true);
    		}
    		return true;
    	}
    
        function claim(address _token) public onlyOwner {
            if (_token == 0x0) {
                owner.transfer(this.balance);
                return;
            }
            ERC20 erc20token = ERC20(_token);
            uint256 balance = erc20token.balanceOf(this);
            erc20token.transfer(owner, balance);
        }
    }