Transaction Hash:
Block:
22579745 at May-28-2025 07:21:47 AM +UTC
Transaction Fee:
0.000069888346235424 ETH
$0.14
Gas Used:
57,312 Gas / 1.219436527 Gwei
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x3EC2CCf8...53224a448 |
0 Eth
Nonce: 0
|
2.24828367652518816 Eth
Nonce: 0
| 2.24828367652518816 | ||
|
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 8.109158136674280499 Eth | 8.109158163331639123 Eth | 0.000000026657358624 | |
| 0x6680A33D...6769A80Ba |
2.25028367652518816 Eth
Nonce: 0
|
0.001930111653764576 Eth
Nonce: 1
| 2.248353564871423584 |
Execution Trace
ETH 2.24828367652518816
Disperse.disperseEther( recipients=[0x3EC2CCf81D3354684fE3F20Eb049E4953224a448], values=[2248283676525188160] )
- ETH 2.24828367652518816
0x3ec2ccf81d3354684fe3f20eb049e4953224a448.CALL( )
disperseEther[Disperse (ln:11)]
transfer[Disperse (ln:13)]transfer[Disperse (ln:16)]
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]));
}
}