ETH Price: $2,404.72 (+6.41%)

Transaction Decoder

Block:
19046728 at Jan-20-2024 07:57:47 AM +UTC
Transaction Fee:
0.001112749577959488 ETH $2.68
Gas Used:
72,816 Gas / 15.281663068 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x1b622535...06006c2D9 0.000059072171487 Eth0.020059072171487 Eth0.02
0x28d973Da...21D88C8fc 0.000116458077666 Eth0.020116458077666 Eth0.02
0x3fdFF051...115E1AE18 0.000102173520876 Eth0.020102173520876 Eth0.02
0x4b64dDF6...5A6101eab
0.451658803352214509 Eth
Nonce: 901
0.350546053774255021 Eth
Nonce: 902
0.101112749577959488
0x7509e500...cf11d664F 0.000092279004111 Eth0.020092279004111 Eth0.02
(beaverbuild)
12.0294322637460484 Eth12.0294395453460484 Eth0.0000072816
0xA6A87F77...e2Ad85599 0.000102044399709 Eth0.020102044399709 Eth0.02

Execution Trace

ETH 0.1 Disperse.disperseEther( recipients=[0x1b622535289d7E4C07826F75E79747206006c2D9, 0x7509e500CFa63785E5BbB250479d377cf11d664F, 0x28d973Da7b48Db09471069Ae2eAADA621D88C8fc, 0xA6A87F770714baEBEA38DC16F574742e2Ad85599, 0x3fdFF051cFa140Da9315247c781fc12115E1AE18], values=[20000000000000000, 20000000000000000, 20000000000000000, 20000000000000000, 20000000000000000] )
  • ETH 0.02 0x1b622535289d7e4c07826f75e79747206006c2d9.CALL( )
  • ETH 0.02 0x7509e500cfa63785e5bbb250479d377cf11d664f.CALL( )
  • ETH 0.02 0x28d973da7b48db09471069ae2eaada621d88c8fc.CALL( )
  • ETH 0.02 0xa6a87f770714baebea38dc16f574742e2ad85599.CALL( )
  • ETH 0.02 0x3fdff051cfa140da9315247c781fc12115e1ae18.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]));
        }
    }