ETH Price: $2,084.50 (+1.55%)

Transaction Decoder

Block:
21042611 at Oct-25-2024 12:24:11 PM +UTC
Transaction Fee:
0.00192807495918575 ETH $4.02
Gas Used:
208,105 Gas / 9.26491415 Gwei

Account State Difference:

  Address   Before After State Difference Code
0x0644756d...C986ADd61 0 Eth0.00236255310825 Eth0.00236255310825
0x0662cD87...59DA45eED 0 Eth0.00236255310825 Eth0.00236255310825
0x09cB780A...4A197A25e 0 Eth0.00236255310825 Eth0.00236255310825
0x1689a089...2f8702000
(WhiteBIT 2)
13.055291643406536805 Eth
Nonce: 264879
13.010837612498851055 Eth
Nonce: 264880
0.04445403090768575
0x263893E8...c9F1f42EB 0 Eth0.00236255310825 Eth0.00236255310825
0x49126A3F...EF5DA4e57 0 Eth0.00236255310825 Eth0.00236255310825
0x67A2d16c...62b61DeB4 0 Eth0.00236255310825 Eth0.00236255310825
0x92cFD3ff...DF50A5088 0 Eth0.00236255310825 Eth0.00236255310825
0x93C1271B...241A48c20 0 Eth0.00236255310825 Eth0.00236255310825
0x943bbC3c...C32db3341 0 Eth0.00236255310825 Eth0.00236255310825
(beaverbuild)
17.639844749426969776 Eth17.640052854426969776 Eth0.000208105
0x9F025E6A...396b4fABE 0 Eth0.00236255310825 Eth0.00236255310825
0xC0E533a7...28225B640 0 Eth0.00236255310825 Eth0.00236255310825
0xC35aDE7A...E4724748D 0 Eth0.00236255310825 Eth0.00236255310825
0xdAeF3b3e...7239dd87E 0 Eth0.00236255310825 Eth0.00236255310825
0xe1A0E12e...ACCbE2ccd 0 Eth0.00236255310825 Eth0.00236255310825
0xE5fF2e32...792616Af0 0 Eth0.00236255310825 Eth0.00236255310825
0xe7455f0B...bAf6714E2 0 Eth0.00236255310825 Eth0.00236255310825
0xE9b0E186...97C6A70C2 0 Eth0.00236255310825 Eth0.00236255310825
0xee57b615...883960357 0 Eth0.00236255310825 Eth0.00236255310825

Execution Trace

ETH 0.0425259559485 BulkSender.distribute( addresses=[0x0644756d50fe2aADaEc357B436de519C986ADd61, 0x0662cD87fe3e0cE534E38508252C4B859DA45eED, 0xee57b6150e05BFfaD9B48390e30C289883960357, 0x9F025E6A4b014e934d384858CfaBB78396b4fABE, 0xC0E533a758e9417068Cb4b51e17204628225B640, 0xE5fF2e32656c46a91780605c0EE9Eee792616Af0, 0xdAeF3b3e3D7469B4Ef2627c30a2F01d7239dd87E, 0x263893E8026E54D5ff07760Ef9D465Bc9F1f42EB, 0xC35aDE7A7bd407940896ca0Edc6B19dE4724748D, 0xE9b0E186252C322BE1B24B3ea934e7B97C6A70C2, 0x09cB780ACe81DfFAE7e7B75a837eF4F4A197A25e, 0xe7455f0BA1445Ec3F222e7Ab8E91Db2bAf6714E2, 0x93C1271Ba8dA7A719dC076c678981Ec241A48c20, 0xe1A0E12e98e00519421CDAe84C248fEACCbE2ccd, 0x49126A3F9cc1B987b13f2376b77567BEF5DA4e57, 0x67A2d16c06415b3C308fe54e41c919E62b61DeB4, 0x943bbC3c829f4dcF60Da82891724759C32db3341, 0x92cFD3ff40aae562D0ad85FcAD59ED7DF50A5088], amounts=[2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000, 2362553108250000] )
  • ETH 0.00236255310825 0x0644756d50fe2aadaec357b436de519c986add61.CALL( )
  • ETH 0.00236255310825 0x0662cd87fe3e0ce534e38508252c4b859da45eed.CALL( )
  • ETH 0.00236255310825 0xee57b6150e05bffad9b48390e30c289883960357.CALL( )
  • ETH 0.00236255310825 0x9f025e6a4b014e934d384858cfabb78396b4fabe.CALL( )
  • ETH 0.00236255310825 0xc0e533a758e9417068cb4b51e17204628225b640.CALL( )
  • ETH 0.00236255310825 0xe5ff2e32656c46a91780605c0ee9eee792616af0.CALL( )
  • ETH 0.00236255310825 0xdaef3b3e3d7469b4ef2627c30a2f01d7239dd87e.CALL( )
  • ETH 0.00236255310825 0x263893e8026e54d5ff07760ef9d465bc9f1f42eb.CALL( )
  • ETH 0.00236255310825 0xc35ade7a7bd407940896ca0edc6b19de4724748d.CALL( )
  • ETH 0.00236255310825 0xe9b0e186252c322be1b24b3ea934e7b97c6a70c2.CALL( )
  • ETH 0.00236255310825 0x09cb780ace81dffae7e7b75a837ef4f4a197a25e.CALL( )
  • ETH 0.00236255310825 0xe7455f0ba1445ec3f222e7ab8e91db2baf6714e2.CALL( )
  • ETH 0.00236255310825 0x93c1271ba8da7a719dc076c678981ec241a48c20.CALL( )
  • ETH 0.00236255310825 0xe1a0e12e98e00519421cdae84c248feaccbe2ccd.CALL( )
  • ETH 0.00236255310825 0x49126a3f9cc1b987b13f2376b77567bef5da4e57.CALL( )
  • ETH 0.00236255310825 0x67a2d16c06415b3c308fe54e41c919e62b61deb4.CALL( )
  • ETH 0.00236255310825 0x943bbc3c829f4dcf60da82891724759c32db3341.CALL( )
  • ETH 0.00236255310825 0x92cfd3ff40aae562d0ad85fcad59ed7df50a5088.CALL( )
    /**
     *Submitted for verification at Etherscan.io on 2020-05-16
    */
    
    pragma solidity 0.6.4;
    /**
     * @title Manage the owner for the BulkSender contract.
     */
    contract Ownable {
        address private _owner;
        event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
        constructor() public {
            _owner = msg.sender;
            emit OwnershipTransferred(address(this), _owner);
        }
        /**
         * Returns the address of the current owner.
         */
        function owner() public view returns (address) {
            return _owner;
        }
        /**
         * Throws if called by any account other than the owner.
         */
        modifier onlyOwner() {
            require(msg.sender == _owner, "Ownable: the caller is not the owner");
            _;
        }
        /**
         * Sets the new address as the owner.
         */
        function transferOwnership(address newOwner) onlyOwner public {
            require(newOwner != address(0), "Ownable: the new owner is the zero address");
            emit OwnershipTransferred(_owner, newOwner);
            _owner = newOwner;
        }
    }
    /**
     * @title Sending bulk transactions from the whitelisted wallets.
     */
    contract BulkSender is Ownable {
        mapping(address => bool) whitelist;
        /**
         * Throws if called by any account other than the whitelisted address.
         */
        modifier onlyWhiteListed() {
            require(whitelist[msg.sender], "Whitelist: the caller is not whitelisted");
            _;
        }
        /**
         * Approves the address as the whitelisted address.
         */
        function approve(address addr) onlyOwner external {
            whitelist[addr] = true;
        }
        /**
         * Removes the whitelisted address from the whitelist.
         */
        function remove(address addr) onlyOwner external {
            whitelist[addr] = false;
        }
        /**
         * Returns true if the address is the whitelisted address.
         */
        function isWhiteListed(address addr) public view returns (bool) {
            return whitelist[addr];
        }
        /**
         * @dev Gets the list of addresses and the list of amounts to make bulk transactions.
         * @param addresses - address[]
         * @param amounts - uint256[]
         */
        function distribute(address[] calldata addresses, uint256[] calldata amounts) onlyWhiteListed external payable  {
            require(addresses.length > 0, "BulkSender: the length of addresses should be greater than zero");
            require(amounts.length == addresses.length, "BulkSender: the length of addresses is not equal the length of amounts");
            for (uint256 i; i < addresses.length; i++) {
                uint256 value = amounts[i];
                require(value > 0, "BulkSender: the value should be greater then zero");
                address payable _to = address(uint160(addresses[i]));
                _to.transfer(value);
            }
        }
        /**
         * @dev This contract shouldn't accept payments.
         */
        receive() external payable {
            revert("This contract shouldn't accept payments.");
        }
    }