ETH Price: $2,330.28 (+1.84%)

Transaction Decoder

Block:
16226891 at Dec-20-2022 03:45:35 PM +UTC
Transaction Fee:
0.002138785673184024 ETH $4.98
Gas Used:
72,888 Gas / 29.343453973 Gwei

Account State Difference:

  Address   Before After State Difference Code
(builder0x69)
2.047708113342886084 Eth2.047803596622886084 Eth0.00009548328
0xA2fA4e9f...95927Eb83
0.657440583759705628 Eth
Nonce: 668
0.155301798086521604 Eth
Nonce: 669
0.502138785673184024
0xC9c45aDa...4964D41e1 0.024641050548423768 Eth0.124641050548423768 Eth0.1
0xcd6f5aB4...92De71F2A 0.023863160782388926 Eth0.123863160782388926 Eth0.1
0xd6e417DB...D348428Da 0.023884958198653548 Eth0.123884958198653548 Eth0.1
0xDCeEff5F...3014fB13E 0.01250933069664954 Eth0.11250933069664954 Eth0.1
0xF45B7b90...7190c4BA3 0.024816505023294604 Eth0.124816505023294604 Eth0.1

Execution Trace

ETH 0.5 Disperse.disperseEther( recipients=[0xDCeEff5Fbe19D8Ad4D2a887F477472C3014fB13E, 0xF45B7b90C26802d81191b5956C4e1aa7190c4BA3, 0xd6e417DB20823972fF36496fB333026D348428Da, 0xC9c45aDa9A602510FB6d0e79e9F83184964D41e1, 0xcd6f5aB407Cd095Cd8A0fE91F43AE2592De71F2A], values=[100000000000000000, 100000000000000000, 100000000000000000, 100000000000000000, 100000000000000000] )
  • ETH 0.1 0xdceeff5fbe19d8ad4d2a887f477472c3014fb13e.CALL( )
  • ETH 0.1 0xf45b7b90c26802d81191b5956c4e1aa7190c4ba3.CALL( )
  • ETH 0.1 0xd6e417db20823972ff36496fb333026d348428da.CALL( )
  • ETH 0.1 0xc9c45ada9a602510fb6d0e79e9f83184964d41e1.CALL( )
  • ETH 0.1 0xcd6f5ab407cd095cd8a0fe91f43ae2592de71f2a.CALL( )
    pragma solidity ^0.4.25;
    
    
    interface IERC20 {
        function transfer(address to, uint256 value) external returns (bool);
        function transferFrom(address from, address to, uint256 value) external returns (bool);
    }
    
    
    contract Disperse {
        function disperseEther(address[] recipients, uint256[] values) external payable {
            for (uint256 i = 0; i < recipients.length; i++)
                recipients[i].transfer(values[i]);
            uint256 balance = address(this).balance;
            if (balance > 0)
                msg.sender.transfer(balance);
        }
    
        function disperseToken(IERC20 token, address[] recipients, uint256[] values) external {
            uint256 total = 0;
            for (uint256 i = 0; i < recipients.length; i++)
                total += values[i];
            require(token.transferFrom(msg.sender, address(this), total));
            for (i = 0; i < recipients.length; i++)
                require(token.transfer(recipients[i], values[i]));
        }
    
        function disperseTokenSimple(IERC20 token, address[] recipients, uint256[] values) external {
            for (uint256 i = 0; i < recipients.length; i++)
                require(token.transferFrom(msg.sender, recipients[i], values[i]));
        }
    }