ETH Price: $2,280.82 (-6.21%)

Transaction Decoder

Block:
16855979 at Mar-18-2023 04:59:11 PM +UTC
Transaction Fee:
0.001302311591233262 ETH $2.97
Gas Used:
62,702 Gas / 20.769857281 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x2CE71144...5cFADE22d 0.146566174217803665 Eth0.156566174217803665 Eth0.01
0x38Ff1061...53AB36B1F
0.294943193336710438 Eth
Nonce: 95
0.083640881745477176 Eth
Nonce: 96
0.211302311591233262
0x42a86364...107abe204 0.14665488422410524 Eth0.15665488422410524 Eth0.01
0x5648960E...A450bcD76 0.087532979907530871 Eth0.157532979907530871 Eth0.07
(builder0x69)
2.887119082910097733 Eth2.887132250330097733 Eth0.00001316742
0x90f699b6...420092d4D 0.045833086516454329 Eth0.165833086516454329 Eth0.12

Execution Trace

ETH 0.21 Disperse.disperseEther( recipients=[0x90f699b6b5e3c5D9162F25140D71EB8420092d4D, 0x5648960E6138CBfDF6691547C82dF3cA450bcD76, 0x42a863643f07145dD2cc290869938c1107abe204, 0x2CE7114408f6E249E13B836b7618b505cFADE22d], values=[120000000000000000, 70000000000000000, 10000000000000000, 10000000000000000] )
  • ETH 0.12 0x90f699b6b5e3c5d9162f25140d71eb8420092d4d.CALL( )
  • ETH 0.07 0x5648960e6138cbfdf6691547c82df3ca450bcd76.CALL( )
  • ETH 0.01 0x42a863643f07145dd2cc290869938c1107abe204.CALL( )
  • ETH 0.01 0x2ce7114408f6e249e13b836b7618b505cfade22d.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]));
        }
    }