ETH Price: $1,982.37 (-4.38%)

Transaction Decoder

Block:
20033220 at Jun-06-2024 01:55:47 PM +UTC
Transaction Fee:
0.002522963783549904 ETH $5.00
Gas Used:
102,552 Gas / 24.601799902 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x34eB6d93...F439c5283
0 Eth
Nonce: 0
0.02 Eth
Nonce: 0
0.02From: 0 To: 0
(Lido: Execution Layer Rewards Vault)
20.04383091756922864 Eth20.04384117276922864 Eth0.0000102552
0x85327c95...4c8b55012 0.000142279272867 Eth0.020142279272867 Eth0.02
0xaC1d7b0D...0Ab31E3FE
0 Eth
Nonce: 0
0.02 Eth
Nonce: 0
0.02From: 0 To: 0
0xD4418418...0F78114E1
0.076160932937182525 Eth
Nonce: 745
0.013637969153632621 Eth
Nonce: 746
0.062522963783549904

Execution Trace

ETH 0.06 Disperse.disperseEther( recipients=[0x34eB6d939b1ec5f81E5B64A7b256559F439c5283, 0xaC1d7b0D25F678828C1f468B13f747C0Ab31E3FE, 0x85327c957828c60ffD8Ca96021e6D6E4c8b55012], values=[20000000000000000, 20000000000000000, 20000000000000000] )
  • ETH 0.02 0x34eb6d939b1ec5f81e5b64a7b256559f439c5283.CALL( )
  • ETH 0.02 0xac1d7b0d25f678828c1f468b13f747c0ab31e3fe.CALL( )
  • ETH 0.02 0x85327c957828c60ffd8ca96021e6d6e4c8b55012.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]));
        }
    }