Transaction Hash:
Block:
21322610 at Dec-03-2024 02:35:23 PM +UTC
Transaction Fee:
0.0041177844301187 ETH
$9.00
Gas Used:
83,050 Gas / 49.581991934 Gwei
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x117057ab...7e3a2dd49 |
2.169034439250408558 Eth
Nonce: 956
|
1.264916654820289858 Eth
Nonce: 957
| 0.9041177844301187 | ||
| 0x178Cc485...93A16D94b | 0 Eth | 0.15 Eth | 0.15 | ||
| 0x4F2B260C...310C4382b | 0.000989379821908883 Eth | 0.150989379821908883 Eth | 0.15 | ||
| 0x55229dd0...C52f87041 | 0 Eth | 0.15 Eth | 0.15 | ||
| 0x872d42fE...7B2e68e92 | 0 Eth | 0.15 Eth | 0.15 | ||
|
0x95222290...5CC4BAfe5
Miner
| (beaverbuild) | 9.916063267691935477 Eth | 9.916232440541935477 Eth | 0.00016917285 | |
| 0xBa4d9288...9FB33DE39 | 0 Eth | 0.15 Eth | 0.15 | ||
| 0xecd2C1ED...5A2a5844f | 0 Eth | 0.15 Eth | 0.15 |
Execution Trace
ETH 0.9
Disperse.disperseEther( recipients=[0x4F2B260CF042E4FA4527c1D2fc1Fd07310C4382b, 0x872d42fEfeb0F62831Bfe6c8DB8e43b7B2e68e92, 0xBa4d92885c2008F4689F45385FE3FEC9FB33DE39, 0x178Cc485289d52069d4675C540c580993A16D94b, 0x55229dd08e97ff850D5b8a636C21841C52f87041, 0xecd2C1ED7bC09B99cFd28ae86eD76Df5A2a5844f], values=[150000000000000000, 150000000000000000, 150000000000000000, 150000000000000000, 150000000000000000, 150000000000000000] )
- ETH 0.15
0x4f2b260cf042e4fa4527c1d2fc1fd07310c4382b.CALL( ) - ETH 0.15
0x872d42fefeb0f62831bfe6c8db8e43b7b2e68e92.CALL( ) - ETH 0.15
0xba4d92885c2008f4689f45385fe3fec9fb33de39.CALL( ) - ETH 0.15
0x178cc485289d52069d4675c540c580993a16d94b.CALL( ) - ETH 0.15
0x55229dd08e97ff850d5b8a636c21841c52f87041.CALL( ) - ETH 0.15
0xecd2c1ed7bc09b99cfd28ae86ed76df5a2a5844f.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]));
}
}