Transaction Hash:
Block:
18092105 at Sep-08-2023 01:50:47 PM +UTC
Transaction Fee:
0.000422194180820992 ETH
$0.88
Gas Used:
32,288 Gas / 13.075885184 Gwei
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x3c15aFBf...1D660a52c |
0.004957741839443558 Eth
Nonce: 24
|
0.000235547658622566 Eth
Nonce: 25
| 0.004722194180820992 | ||
|
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 5.502261496661544625 Eth | 5.502262534260995793 Eth | 0.000001037599451168 | |
| 0xb7EA0d72...719b92bEA | 0.010685954436170713 Eth | 0.014985954436170713 Eth | 0.0043 |
Execution Trace
ETH 0.0043
Disperse.disperseEther( recipients=[0xb7EA0d72c0AF95ddB9eE71e68Dd14a5719b92bEA], values=[4300000000000000] )
- ETH 0.0043
0xb7ea0d72c0af95ddb9ee71e68dd14a5719b92bea.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]));
}
}