Goerli Testnet

Contract

0x9d05eA2a735a1AE0d964285F36c3cCAAA4Cc2612
Source Code
Transaction Hash
Method
Block
From
To
Value
Transfer99259692023-10-25 1:37:2444 days 17 hrs ago1698197844IN
0x9d05eA...A4Cc2612
0.00995262 ETH0.000031581.50000001
Transfer94448912023-08-01 13:42:36129 days 5 hrs ago1690897356IN
0x9d05eA...A4Cc2612
0.00989094 ETH0.000031581.50027963
Pull91757182023-06-14 5:38:36177 days 13 hrs ago1686721116IN
0x9d05eA...A4Cc2612
0 ETH0.0005975525.15481369
Pull91356982023-06-07 1:40:12184 days 17 hrs ago1686102012IN
0x9d05eA...A4Cc2612
0 ETH0.000047392.00000013
Dust82087812022-12-27 9:04:36346 days 10 hrs ago1672131876IN
0x9d05eA...A4Cc2612
0 ETH0.000000010.0006393
Dust80761802022-12-05 1:10:36368 days 18 hrs ago1670202636IN
0x9d05eA...A4Cc2612
3 ETH0.010401411.5
Dust80707982022-12-04 4:32:24369 days 14 hrs ago1670128344IN
0x9d05eA...A4Cc2612
3 ETH0.006588522.75366729
Dust80707962022-12-04 4:32:00369 days 14 hrs ago1670128320IN
0x9d05eA...A4Cc2612
3 ETH0.028636762.85953609
Dust80707952022-12-04 4:31:48369 days 14 hrs ago1670128308IN
0x9d05eA...A4Cc2612
3 ETH0.028362492.83213855
Dust80707942022-12-04 4:31:36369 days 14 hrs ago1670128296IN
0x9d05eA...A4Cc2612
3 ETH0.027807862.74930973
Dust80707932022-12-04 4:31:12369 days 14 hrs ago1670128272IN
0x9d05eA...A4Cc2612
3 ETH0.027356332.74538819
Dust80707922022-12-04 4:31:00369 days 14 hrs ago1670128260IN
0x9d05eA...A4Cc2612
3 ETH0.027933322.74813791
Dust80707912022-12-04 4:30:48369 days 14 hrs ago1670128248IN
0x9d05eA...A4Cc2612
3 ETH0.027674482.76345684
Dust80707892022-12-04 4:30:24369 days 14 hrs ago1670128224IN
0x9d05eA...A4Cc2612
3 ETH0.027889532.74384559
Dust80707882022-12-04 4:30:12369 days 14 hrs ago1670128212IN
0x9d05eA...A4Cc2612
3 ETH0.027457322.72136883
Dust80707872022-12-04 4:30:00369 days 14 hrs ago1670128200IN
0x9d05eA...A4Cc2612
3 ETH0.026692552.68549567
Dust80707862022-12-04 4:29:48369 days 14 hrs ago1670128188IN
0x9d05eA...A4Cc2612
3 ETH0.025704732.55406653
Dust80707842022-12-04 4:29:00369 days 14 hrs ago1670128140IN
0x9d05eA...A4Cc2612
3 ETH0.025677252.53243102
Dust80707822022-12-04 4:28:36369 days 14 hrs ago1670128116IN
0x9d05eA...A4Cc2612
3 ETH0.026714152.62818454
Dust80707812022-12-04 4:28:24369 days 14 hrs ago1670128104IN
0x9d05eA...A4Cc2612
3 ETH0.025906112.59985541
Dust80707802022-12-04 4:28:12369 days 14 hrs ago1670128092IN
0x9d05eA...A4Cc2612
3 ETH0.025466722.5116497
Dust80707792022-12-04 4:28:00369 days 14 hrs ago1670128080IN
0x9d05eA...A4Cc2612
3 ETH0.024241712.43894438
Dust80707772022-12-04 4:27:36369 days 14 hrs ago1670128056IN
0x9d05eA...A4Cc2612
3 ETH0.024747072.45275473
Dust80707752022-12-04 4:27:12369 days 14 hrs ago1670128032IN
0x9d05eA...A4Cc2612
3 ETH0.026206682.5782893
Dust80707742022-12-04 4:27:00369 days 14 hrs ago1670128020IN
0x9d05eA...A4Cc2612
3 ETH0.025649922.51728024
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
80761802022-12-05 1:10:36368 days 18 hrs ago1670202636
0x9d05eA...A4Cc2612
0.01 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Duster

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 3 of 3 : Duster.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

import "@openzeppelin/contracts/access/Ownable.sol";

contract Duster is Ownable {
    constructor() {}

    function dust(
        address[] calldata addresses,
        uint amount
    ) public onlyOwner payable {
        for (uint i = 0; i < addresses.length; i++) {
            payable(address(addresses[i])).transfer(amount);
        }
    }

    function pull(uint amount) public onlyOwner {
        payable(address(msg.sender)).transfer(amount);
    }

    receive() external payable {}
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"dust","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6105398061007e6000396000f3fe60806040526004361061005e5760003560e01c8063715018a611610043578063715018a61461009f5780638da5cb5b146100b4578063f2fde38b146100ed57600080fd5b806305e1c0f01461006a5780634d0392a81461007f57600080fd5b3661006557005b600080fd5b61007d6100783660046103a4565b61010d565b005b34801561008b57600080fd5b5061007d61009a36600461041f565b6101a5565b3480156100ab57600080fd5b5061007d6101de565b3480156100c057600080fd5b506000546040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100f957600080fd5b5061007d610108366004610438565b6101f2565b6101156102ae565b60005b8281101561019f5783838281811061013257610132610475565b90506020020160208101906101479190610438565b73ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561018c573d6000803e3d6000fd5b5080610197816104a4565b915050610118565b50505050565b6101ad6102ae565b604051339082156108fc029083906000818181858888f193505050501580156101da573d6000803e3d6000fd5b5050565b6101e66102ae565b6101f0600061032f565b565b6101fa6102ae565b73ffffffffffffffffffffffffffffffffffffffff81166102a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab8161032f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610299565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000604084860312156103b957600080fd5b833567ffffffffffffffff808211156103d157600080fd5b818601915086601f8301126103e557600080fd5b8135818111156103f457600080fd5b8760208260051b850101111561040957600080fd5b6020928301989097509590910135949350505050565b60006020828403121561043157600080fd5b5035919050565b60006020828403121561044a57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461046e57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036104fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d18a7b528d52df799a3b61a8bcef8e0d87c07f24cd98a13f907cae48d39394f264736f6c63430008100033

Deployed Bytecode

0x60806040526004361061005e5760003560e01c8063715018a611610043578063715018a61461009f5780638da5cb5b146100b4578063f2fde38b146100ed57600080fd5b806305e1c0f01461006a5780634d0392a81461007f57600080fd5b3661006557005b600080fd5b61007d6100783660046103a4565b61010d565b005b34801561008b57600080fd5b5061007d61009a36600461041f565b6101a5565b3480156100ab57600080fd5b5061007d6101de565b3480156100c057600080fd5b506000546040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100f957600080fd5b5061007d610108366004610438565b6101f2565b6101156102ae565b60005b8281101561019f5783838281811061013257610132610475565b90506020020160208101906101479190610438565b73ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561018c573d6000803e3d6000fd5b5080610197816104a4565b915050610118565b50505050565b6101ad6102ae565b604051339082156108fc029083906000818181858888f193505050501580156101da573d6000803e3d6000fd5b5050565b6101e66102ae565b6101f0600061032f565b565b6101fa6102ae565b73ffffffffffffffffffffffffffffffffffffffff81166102a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab8161032f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610299565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000604084860312156103b957600080fd5b833567ffffffffffffffff808211156103d157600080fd5b818601915086601f8301126103e557600080fd5b8135818111156103f457600080fd5b8760208260051b850101111561040957600080fd5b6020928301989097509590910135949350505050565b60006020828403121561043157600080fd5b5035919050565b60006020828403121561044a57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461046e57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036104fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220d18a7b528d52df799a3b61a8bcef8e0d87c07f24cd98a13f907cae48d39394f264736f6c63430008100033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.