Latest 9 txns

TxHash Age From To Value [TxFee]
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d284 days 18 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.000275301
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b986 days 6 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.000275301
0xb8dc6bfb153d2dbb978c854f65b56cb909a5e7308776de12c0a30e4e0ab2069386 days 12 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.000275301
0xa20a5ca20db8d91eb465dc62f33aea79dab1751664e569dec99b0846e29b826686 days 13 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.000275301
0x4d6c6eceeba1548fc6118ee1ec5f9e39c6b0d9d55efb2b6a8f5ddbbd16dd059386 days 13 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.000275301
0x7bd00d2c64382d4dc76d169af36bc5c073afa7d5f47387b65cb0369e3f7a55fe86 days 20 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.001101204
0x21d4c0e2fd1eae99053e82dea0a6cf48124d610b9fc1122430bea196594fb50788 days 17 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.003028311
0xe8540a0f4c7a96b4c5056d0fc6ac9f9fa2e87b39a54ee270c35b3722a886833d89 days 9 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN   0xc6c2e5a86569b8107be86afe9d3fad01d895c4880 Ether0.000275301
0x72725020216cb61d8a0e862d60034237232d857423e87d3d5d31d0f7e857eb9389 days 9 hrs ago0x501b73b7e60c24b76b92f9074948282cd76a79af  IN    Contract Creation0 Ether0.000943834
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0x2837080f536aea48fb4308b2a3ccd78c54a445cc206df26a18587c20214bb9d2338993984 days 18 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xf7a71fdd1906844f8ecbdb23008e5f16e59b99564a27d828b1aaa47b4db0b2b9338125286 days 6 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
0xb8dc6bfb153d2dbb978c854f65b56cb909a5e7308776de12c0a30e4e0ab20693337975986 days 12 hrs ago0xc6c2e5a86569b8107be86afe9d3fad01d895c4880x75d0462e6ebd792d2873d4d3c0710df326d4ba170 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: FreeDropper
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

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

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    c = _a * _b;
    assert(c / _a == _b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // assert(_b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = _a / _b;
    // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
    return _a / _b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    c = _a + _b;
    assert(c >= _a);
    return c;
  }
}

// File: contracts\FreeDropper.sol

interface ERC20 {
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool);
    function allowance(address _owner, address _spender) public view returns (uint256);
    function approve(address _spender, uint256 _value) public returns (bool);
    function transfer(address _to, uint256 _value) public returns (bool);
}

contract FreeDropper is Ownable {

    event DistributionCompleted(address indexed from, address indexed token, uint totalAmount);
    
    using SafeMath for uint;

    function drop(ERC20 _token, address[] _beneficiary, uint[] _amount, uint _totalAmount) external payable {
        require(_beneficiary.length == _amount.length, "beneficiary and amount length do not match");

        require(_token.allowance(msg.sender, address(this)) >= _totalAmount, "not enough allowance");
        uint distributedTokens;
        
        for(uint i = 0;i < _beneficiary.length;i++){
            
            require(_beneficiary[i] != address(0), "beneficiary address is 0x0");
            require(_token.transferFrom(msg.sender,_beneficiary[i],_amount[i]), "Transfer from failed");
            distributedTokens += _amount[i];
        }

        emit DistributionCompleted(msg.sender, address(_token), _totalAmount);
            
    }

    function withdrawTokens(ERC20 _erc20, address _receiver, uint _amount) public onlyOwner {
        require(_receiver != address(0x0), "receiver address is 0x0");
        _erc20.transfer(_receiver, _amount);
    }

    function withdrawETH(address _receiver, uint _amount) public onlyOwner {
        _receiver.transfer(_amount);
    }

}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_beneficiary","type":"address[]"},{"name":"_amount","type":"uint256[]"},{"name":"_totalAmount","type":"uint256"}],"name":"drop","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_erc20","type":"address"},{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"token","type":"address"},{"indexed":false,"name":"totalAmount","type":"uint256"}],"name":"DistributionCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cf5806100536000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630bcf25601461007d5780634782f779146100ed5780635e35359e1461013a578063715018a6146101a75780638da5cb5b146101be578063f2fde38b14610215575b600080fd5b6100eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939080359060200190929190505050610258565b005b3480156100f957600080fd5b50610138600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107b7565b005b34801561014657600080fd5b506101a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085d565b005b3480156101b357600080fd5b506101bc610a41565b005b3480156101ca57600080fd5b506101d3610b43565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022157600080fd5b50610256600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b68565b005b60008084849050878790501415156102fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f62656e656669636961727920616e6420616d6f756e74206c656e67746820646f81526020017f206e6f74206d617463680000000000000000000000000000000000000000000081525060400191505060405180910390fd5b828873ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b505050506040513d60208110156103f857600080fd5b81019080805190602001909291905050501015151561047f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f7420656e6f75676820616c6c6f77616e636500000000000000000000000081525060200191505060405180910390fd5b600090505b8686905081101561074857600073ffffffffffffffffffffffffffffffffffffffff1687878381811015156104b557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561055e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f62656e656669636961727920616464726573732069732030783000000000000081525060200191505060405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff166323b872dd33898985818110151561058957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1688888681811015156105b457fe5b905060200201356040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561067357600080fd5b505af1158015610687573d6000803e3d6000fd5b505050506040513d602081101561069d57600080fd5b81019080805190602001909291905050501515610722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5472616e736665722066726f6d206661696c656400000000000000000000000081525060200191505060405180910390fd5b848482818110151561073057fe5b90506020020135820191508080600101915050610484565b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9d74b9ea734d8f9d4725078861b36f847f730185c7c3f28df64677b372f58d34856040518082815260200191505060405180910390a35050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561081257600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610858573d6000803e3d6000fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108b857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561095d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f726563656976657220616464726573732069732030783000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a0057600080fd5b505af1158015610a14573d6000803e3d6000fd5b505050506040513d6020811015610a2a57600080fd5b810190808051906020019092919050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bc357600080fd5b610bcc81610bcf565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c0b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820c3b5f6b57fe9ac25fa635301c7146dba88981915d973c3299d0e93165820496d0029

   Swarm Source:
bzzr://c3b5f6b57fe9ac25fa635301c7146dba88981915d973c3299d0e93165820496d

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward