Transaction Hash:
Block:
18836883 at Dec-21-2023 09:20:23 PM +UTC
Transaction Fee:
0.001164496825640756 ETH
$2.46
Gas Used:
32,276 Gas / 36.079341481 Gwei
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
|
0x1f9090aa...8e676c326
Miner
| 5.892409944888575521 Eth | 5.892413172488575521 Eth | 0.0000032276 | ||
| 0x5f112fE8...644C5ca27 |
1.003910621281260223 Eth
Nonce: 33
|
0.982746124455619467 Eth
Nonce: 34
| 0.021164496825640756 | ||
| 0xbd138Aa1...db08EA9A9 | 0.000271326450486 Eth | 0.020271326450486 Eth | 0.02 |
Execution Trace
ETH 0.02
Disperse.disperseEther( recipients=[0xbd138Aa1F41ADd1a78Ad33B1cD2Cec1db08EA9A9], values=[20000000000000000] )
- ETH 0.02
0xbd138aa1f41add1a78ad33b1cd2cec1db08ea9a9.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]));
}
}