ETH Price: $2,384.60 (+2.54%)

Contract

0x0A49F61B87DF6bb2b5e485565a0bBdD1F9AF2d8b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer86249282019-09-26 14:08:171819 days ago1569506897IN
0x0A49F61B...1F9AF2d8b
0 ETH0.0034138515
Transfer86248682019-09-26 13:55:001819 days ago1569506100IN
0x0A49F61B...1F9AF2d8b
0 ETH0.0051207722.5
0x6080604086238882019-09-26 10:10:511819 days ago1569492651IN
 Create: AirDrop
0 ETH0.0235113641

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AirDrop

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-09-27
*/

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

pragma solidity ^0.4.23;


/**
 * @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.
   */
  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/token/ERC20/ERC20Basic.sol

pragma solidity ^0.4.23;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

pragma solidity ^0.4.23;



/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender)
    public view returns (uint256);

  function transferFrom(address from, address to, uint256 value)
    public returns (bool);

  function approve(address spender, uint256 value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

// File: sc-library/contracts/ERC223/ERC223Receiver.sol

pragma solidity ^0.4.23;


/**
* @title Contract that will work with ERC223 tokens.
*/
contract ERC223Receiver {
  /**
   * @dev Standard ERC223 function that will handle incoming token transfers.
   *
   * @param _from  Token sender address.
   * @param _value Amount of tokens.
   * @param _data  Transaction metadata.
   */
  function tokenFallback(address _from, uint _value, bytes _data) public;
}

// File: contracts/AirDrop.sol

pragma solidity ^0.4.24;





contract AirDrop is Ownable {
    ERC20 public token;
    uint public createdAt;
    constructor(address _target, ERC20 _token) public {
        owner = _target;
        token = _token;
        createdAt = block.number;
    }

    function transfer(address[] _addresses, uint[] _amounts) external onlyOwner {
        require(_addresses.length == _amounts.length);

        for (uint i = 0; i < _addresses.length; i ++) {
            token.transfer(_addresses[i], _amounts[i]);
        }
    }

    function transferFrom(address _from, address[] _addresses, uint[] _amounts) external onlyOwner {
        require(_addresses.length == _amounts.length);

        for (uint i = 0; i < _addresses.length; i ++) {
            token.transferFrom(_from, _addresses[i], _amounts[i]);
        }
    }

    function tokenFallback(address, uint, bytes) public pure {
        // receive tokens
    }

    function withdraw(uint _value) public onlyOwner {
        token.transfer(owner, _value);
    }

    function withdrawToken(address _token, uint _value) public onlyOwner {
        ERC20(_token).transfer(owner, _value);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transferFrom","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":"_token","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"createdAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_target","type":"address"},{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"}]

608060405234801561001057600080fd5b5060405160408061079583398101604052805160209091015160008054600160a060020a03938416600160a060020a0319918216331782161790915560018054939092169216919091179055436002556107268061006f6000396000f30060806040526004361061008a5763ffffffff60e060020a6000350416632e1a7d4d811461008f57806346091499146100a9578063715018a6146100e25780638da5cb5b146100f75780639e281a9814610128578063c0ee0b8a1461014c578063cf09e0d0146101b5578063f2fde38b146101dc578063fc0c546a146101fd578063ffc3a76914610212575b600080fd5b34801561009b57600080fd5b506100a760043561023e565b005b3480156100b557600080fd5b506100a760048035600160a060020a031690602480358082019290810135916044359081019101356102fa565b3480156100ee57600080fd5b506100a7610414565b34801561010357600080fd5b5061010c610480565b60408051600160a060020a039092168252519081900360200190f35b34801561013457600080fd5b506100a7600160a060020a036004351660243561048f565b34801561015857600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100a7948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506102f59650505050505050565b3480156101c157600080fd5b506101ca610546565b60408051918252519081900360200190f35b3480156101e857600080fd5b506100a7600160a060020a036004351661054c565b34801561020957600080fd5b5061010c61056f565b34801561021e57600080fd5b506100a7602460048035828101929082013591813591820191013561057e565b600054600160a060020a0316331461025557600080fd5b60015460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b505050506040513d60208110156102f557600080fd5b505050565b60008054600160a060020a0316331461031257600080fd5b83821461031e57600080fd5b5060005b8381101561040c57600154600160a060020a03166323b872dd8787878581811061034857fe5b90506020020135600160a060020a0316868686818110151561036657fe5b905060200201356040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050602060405180830381600087803b1580156103d857600080fd5b505af11580156103ec573d6000803e3d6000fd5b505050506040513d602081101561040257600080fd5b5050600101610322565b505050505050565b600054600160a060020a0316331461042b57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146104a657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519185169263a9059cbb926044808401936020939083900390910190829087803b15801561051657600080fd5b505af115801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b50505050565b60025481565b600054600160a060020a0316331461056357600080fd5b61056c8161067d565b50565b600154600160a060020a031681565b60008054600160a060020a0316331461059657600080fd5b8382146105a257600080fd5b5060005b8381101561067657600154600160a060020a031663a9059cbb8686848181106105cb57fe5b90506020020135600160a060020a031685858581811015156105e957fe5b905060200201356040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50506001016105a6565b5050505050565b600160a060020a038116151561069257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820f9f9ff356140f3ee8caba675491f99222e59aa0929361266b0a3a136f2ba02780029

Deployed Bytecode

0x60806040526004361061008a5763ffffffff60e060020a6000350416632e1a7d4d811461008f57806346091499146100a9578063715018a6146100e25780638da5cb5b146100f75780639e281a9814610128578063c0ee0b8a1461014c578063cf09e0d0146101b5578063f2fde38b146101dc578063fc0c546a146101fd578063ffc3a76914610212575b600080fd5b34801561009b57600080fd5b506100a760043561023e565b005b3480156100b557600080fd5b506100a760048035600160a060020a031690602480358082019290810135916044359081019101356102fa565b3480156100ee57600080fd5b506100a7610414565b34801561010357600080fd5b5061010c610480565b60408051600160a060020a039092168252519081900360200190f35b34801561013457600080fd5b506100a7600160a060020a036004351660243561048f565b34801561015857600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100a7948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506102f59650505050505050565b3480156101c157600080fd5b506101ca610546565b60408051918252519081900360200190f35b3480156101e857600080fd5b506100a7600160a060020a036004351661054c565b34801561020957600080fd5b5061010c61056f565b34801561021e57600080fd5b506100a7602460048035828101929082013591813591820191013561057e565b600054600160a060020a0316331461025557600080fd5b60015460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b505050506040513d60208110156102f557600080fd5b505050565b60008054600160a060020a0316331461031257600080fd5b83821461031e57600080fd5b5060005b8381101561040c57600154600160a060020a03166323b872dd8787878581811061034857fe5b90506020020135600160a060020a0316868686818110151561036657fe5b905060200201356040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050602060405180830381600087803b1580156103d857600080fd5b505af11580156103ec573d6000803e3d6000fd5b505050506040513d602081101561040257600080fd5b5050600101610322565b505050505050565b600054600160a060020a0316331461042b57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146104a657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519185169263a9059cbb926044808401936020939083900390910190829087803b15801561051657600080fd5b505af115801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b50505050565b60025481565b600054600160a060020a0316331461056357600080fd5b61056c8161067d565b50565b600154600160a060020a031681565b60008054600160a060020a0316331461059657600080fd5b8382146105a257600080fd5b5060005b8381101561067657600154600160a060020a031663a9059cbb8686848181106105cb57fe5b90506020020135600160a060020a031685858581811015156105e957fe5b905060200201356040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50506001016105a6565b5050505050565b600160a060020a038116151561069257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820f9f9ff356140f3ee8caba675491f99222e59aa0929361266b0a3a136f2ba02780029

Deployed Bytecode Sourcemap

3316:1152:0:-;;;;;;;;;-1:-1:-1;;;3316:1152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4236:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4236:96:0;;;;;;;3831:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3831:297:0;;;;-1:-1:-1;;;;;3831:297:0;;;;;;;;;;;;;;;;;;;;;;;;931:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;931:114:0;;;;313:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;313:20:0;;;;;;;;-1:-1:-1;;;;;313:20:0;;;;;;;;;;;;;;4340:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4340:125:0;-1:-1:-1;;;;;4340:125:0;;;;;;;4136:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4136:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4136:92:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4136:92:0;;-1:-1:-1;4136:92:0;;-1:-1:-1;;;;;;;4136:92:0;3376:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3376:21:0;;;;;;;;;;;;;;;;;;;;1213:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1213:105:0;-1:-1:-1;;;;;1213:105:0;;;;;3351:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3351:18:0;;;;3556:267;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3556:267:0;;;;;;;;;;;;;;;;;;;;;;;;4236:96;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;4295:5;;;4310;;4295:29;;;;;;-1:-1:-1;;;;;4310:5:0;;;4295:29;;;;;;;;;;;;:5;;;;;:14;;:29;;;;;;;;;;;;;;;;;;;:5;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;4295:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4295:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;4236:96:0:o;3831:297::-;4000:6;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;3945:36;;;3937:45;;;;;;-1:-1:-1;4009:1:0;3995:126;4012:21;;;3995:126;;;4056:5;;-1:-1:-1;;;;;4056:5:0;:18;4075:5;4082:10;;4093:1;4082:13;;;;;;;;;;;;;-1:-1:-1;;;;;4082:13:0;4097:8;;4106:1;4097:11;;;;;;;;;;;;;;;4056:53;;;;;-1:-1:-1;;;4056:53:0;;;;;;;-1:-1:-1;;;;;4056:53:0;-1:-1:-1;;;;;4056:53:0;;;;;;-1:-1:-1;;;;;4056:53:0;-1:-1:-1;;;;;4056:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4056:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4056:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4035:4:0;;3995:126;;;3831:297;;;;;;:::o;931:114::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;1008:5;;;989:25;;-1:-1:-1;;;;;1008:5:0;;;;989:25;;;1037:1;1021:18;;-1:-1:-1;;1021:18:0;;;931:114::o;313:20::-;;;-1:-1:-1;;;;;313:20:0;;:::o;4340:125::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;4443:5;;;4420:37;;;;;;-1:-1:-1;;;;;4443:5:0;;;4420:37;;;;;;;;;;;;:22;;;;;;:37;;;;;;;;;;;;;;;;;:22;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;4420:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4420:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;4340:125:0:o;3376:21::-;;;;:::o;1213:105::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;1283:29;1302:9;1283:18;:29::i;:::-;1213:105;:::o;3351:18::-;;;-1:-1:-1;;;;;3351:18:0;;:::o;3556:267::-;3706:6;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;3651:36;;;3643:45;;;;;;-1:-1:-1;3715:1:0;3701:115;3718:21;;;3701:115;;;3762:5;;-1:-1:-1;;;;;3762:5:0;:14;3777:10;;3788:1;3777:13;;;;;;;;;;;;;-1:-1:-1;;;;;3777:13:0;3792:8;;3801:1;3792:11;;;;;;;;;;;;;;;3762:42;;;;;-1:-1:-1;;;3762:42:0;;;;;;;-1:-1:-1;;;;;3762:42:0;-1:-1:-1;;;;;3762:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3762:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3762:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;3741:4:0;;3701:115;;;3556:267;;;;;:::o;1459:175::-;-1:-1:-1;;;;;1530:23:0;;;;1522:32;;;;;;1587:5;;;1566:38;;-1:-1:-1;;;;;1566:38:0;;;;1587:5;;;1566:38;;;1611:5;:17;;-1:-1:-1;;1611:17:0;-1:-1:-1;;;;;1611:17:0;;;;;;;;;;1459:175::o

Swarm Source

bzzr://f9f9ff356140f3ee8caba675491f99222e59aa0929361266b0a3a136f2ba0278

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.