ETH Price: $1,982.50 (-3.20%)

Contract

0xba2c51C73409Daa658c8b78DeD2a449cd778A2e8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim Ownership59374972018-07-10 6:30:422817 days ago1531204242IN
0xba2c51C7...cd778A2e8
0 ETH0.0002322312
Transfer Ownersh...59374892018-07-10 6:28:552817 days ago1531204135IN
0xba2c51C7...cd778A2e8
0 ETH0.0005252412
Multi Send From59352082018-07-09 21:07:282817 days ago1531170448IN
0xba2c51C7...cd778A2e8
0 ETH0.0750204421
Multi Send From59352042018-07-09 21:06:382817 days ago1531170398IN
0xba2c51C7...cd778A2e8
0 ETH0.0743864121
Multi Send From59351972018-07-09 21:04:452817 days ago1531170285IN
0xba2c51C7...cd778A2e8
0 ETH0.0728100621
Multi Send From59351952018-07-09 21:04:192817 days ago1531170259IN
0xba2c51C7...cd778A2e8
0 ETH0.0740727521
Multi Send From59351872018-07-09 21:02:322817 days ago1531170152IN
0xba2c51C7...cd778A2e8
0 ETH0.0750150621
Multi Send From59351742018-07-09 20:57:312817 days ago1531169851IN
0xba2c51C7...cd778A2e8
0 ETH0.0750244721
Multi Send From59351652018-07-09 20:55:242817 days ago1531169724IN
0xba2c51C7...cd778A2e8
0 ETH0.0756504421
Multi Send From59351552018-07-09 20:52:532817 days ago1531169573IN
0xba2c51C7...cd778A2e8
0 ETH0.0778554421
Multi Send From59351542018-07-09 20:52:432817 days ago1531169563IN
0xba2c51C7...cd778A2e8
0 ETH0.0772254421
Multi Send From59351472018-07-09 20:51:082817 days ago1531169468IN
0xba2c51C7...cd778A2e8
0 ETH0.0806944721
Multi Send From59351342018-07-09 20:48:142817 days ago1531169294IN
0xba2c51C7...cd778A2e8
0 ETH0.0791140921
Multi Send From59351322018-07-09 20:48:022817 days ago1531169282IN
0xba2c51C7...cd778A2e8
0 ETH0.0772240921
Multi Send From59351262018-07-09 20:46:272817 days ago1531169187IN
0xba2c51C7...cd778A2e8
0 ETH0.0810067821
Multi Send From59351222018-07-09 20:45:052817 days ago1531169105IN
0xba2c51C7...cd778A2e8
0 ETH0.0797414121
Multi Send From59351002018-07-09 20:40:222817 days ago1531168822IN
0xba2c51C7...cd778A2e8
0 ETH0.0791114121
Multi Send From59350902018-07-09 20:38:232817 days ago1531168703IN
0xba2c51C7...cd778A2e8
0 ETH0.0788004421
Multi Send From59350712018-07-09 20:34:292817 days ago1531168469IN
0xba2c51C7...cd778A2e8
0 ETH0.0797414121
Multi Send From59350692018-07-09 20:34:232817 days ago1531168463IN
0xba2c51C7...cd778A2e8
0 ETH0.1152682230
Multi Send From59350652018-07-09 20:33:302817 days ago1531168410IN
0xba2c51C7...cd778A2e8
0 ETH0.1143720630
Multi Send From59350622018-07-09 20:32:532817 days ago1531168373IN
0xba2c51C7...cd778A2e8
0 ETH0.108066330
Multi Send From59350582018-07-09 20:32:162817 days ago1531168336IN
0xba2c51C7...cd778A2e8
0 ETH0.110766330
Multi Send From59350562018-07-09 20:31:442817 days ago1531168304IN
0xba2c51C7...cd778A2e8
0 ETH0.1125739830
Multi Send From59350532018-07-09 20:30:112817 days ago1531168211IN
0xba2c51C7...cd778A2e8
0 ETH0.1112220630
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FlyDropToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-07-05
*/

pragma solidity ^0.4.21;

library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 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 c;
  }

  /**
  * @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) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() 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 transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract Claimable is Ownable {
  address public pendingOwner;

  /**
   * @dev Modifier throws if called by any account other than the pendingOwner.
   */
  modifier onlyPendingOwner() {
    require(msg.sender == pendingOwner);
    _;
  }

  /**
   * @dev Allows the current owner to set the pendingOwner address.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    pendingOwner = newOwner;
  }

  /**
   * @dev Allows the pendingOwner address to finalize the transfer.
   */
  function claimOwnership() onlyPendingOwner public {
    emit OwnershipTransferred(owner, pendingOwner);
    owner = pendingOwner;
    pendingOwner = address(0);
  }
}

contract FlyDropToken is Claimable {
    using SafeMath for uint256;

    ERC20 public erc20tk = ERC20(0xFb5a551374B656C6e39787B1D3A03fEAb7f3a98E);
    bytes[] internal approveRecords;

    event ReceiveApproval(address _from, uint256 _value, address _token, bytes _extraData);

    /**
     * @dev receive approval from an ERC20 token contract, take a record
     *
     * @param _from address The address which you want to send tokens from
     * @param _value uint256 the amounts of tokens to be sent
     * @param _token address the ERC20 token address
     * @param _extraData bytes the extra data for the record
     */
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public {
        // erc20tk = ERC20(_token);
        require(erc20tk.transferFrom(_from, this, _value)); // transfer tokens to this contract
        approveRecords.push(_extraData);
        emit ReceiveApproval(_from, _value, _token, _extraData);
    }

    /**
     * @dev Send tokens to other multi addresses in one function
     *
     * @param _destAddrs address The addresses which you want to send tokens to
     * @param _values uint256 the amounts of tokens to be sent
     */
    function multiSend(address[] _destAddrs, uint256[] _values) onlyOwner public returns (uint256) {
        require(_destAddrs.length == _values.length);

        uint256 i = 0;
        for (; i < _destAddrs.length; i = i.add(1)) {
            if (!erc20tk.transfer(_destAddrs[i], _values[i])) {
                break;
            }
        }

        return (i);
    }

    function changERC20(address _token) onlyOwner public {
        erc20tk = ERC20(_token);
    }

    /**
     * @dev Send tokens to other multi addresses in one function
     *
     * @param _from address The address which you want to send tokens from
     * @param _destAddrs address The addresses which you want to send tokens to
     * @param _values uint256 the amounts of tokens to be sent
     */
    function multiSendFrom(address _from, address[] _destAddrs, uint256[] _values) onlyOwner public returns (uint256) {
        require(_destAddrs.length == _values.length);

        uint256 i = 0;
        for (; i < _destAddrs.length; i = i.add(1)) {
            if (!erc20tk.transferFrom(_from, _destAddrs[i], _values[i])) {
                break;
            }
        }

        return (i);
    }

    /**
     * @dev get records about approval
     *
     * @param _ind uint the index of record
     */
    function getApproveRecord(uint _ind) onlyOwner public view returns (bytes) {
        require(_ind < approveRecords.length);

        return approveRecords[_ind];
    }
}

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);
}

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);
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"erc20tk","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"changERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_ind","type":"uint256"}],"name":"getApproveRecord","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_token","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_destAddrs","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"multiSendFrom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_destAddrs","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"multiSend","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","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":false,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_token","type":"address"},{"indexed":false,"name":"_extraData","type":"bytes"}],"name":"ReceiveApproval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405260028054600160a060020a031990811673fb5a551374b656c6e39787b1d3a03feab7f3a98e179091556000805433600160a060020a03169216919091179055610a9b806100526000396000f30060606040526004361061008a5763ffffffff60e060020a60003504166311780a01811461008f5780633bf13ded146100be5780634e71e0c8146100df5780637957170b146100f25780638da5cb5b1461017f5780638f4ffcb114610192578063a7ff2373146101fe578063bb4c9f0b146102ad578063e30c39781461033c578063f2fde38b1461034f575b600080fd5b341561009a57600080fd5b6100a261036e565b604051600160a060020a03909116815260200160405180910390f35b34156100c957600080fd5b6100dd600160a060020a036004351661037d565b005b34156100ea57600080fd5b6100dd6103c7565b34156100fd57600080fd5b610108600435610455565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6100a261053f565b341561019d57600080fd5b6100dd60048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061054e95505050505050565b341561020957600080fd5b61029b60048035600160a060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506106c595505050505050565b60405190815260200160405180910390f35b34156102b857600080fd5b61029b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506107cd95505050505050565b341561034757600080fd5b6100a26108c7565b341561035a57600080fd5b6100dd600160a060020a03600435166108d6565b600254600160a060020a031681565b60005433600160a060020a0390811691161461039857600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015433600160a060020a039081169116146103e257600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b61045d61092f565b60005433600160a060020a0390811691161461047857600080fd5b600354821061048657600080fd5b600380548390811061049457fe5b90600052602060002090018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105335780601f1061050857610100808354040283529160200191610533565b820191906000526020600020905b81548152906001019060200180831161051657829003601f168201915b50505050509050919050565b600054600160a060020a031681565b600254600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156105b157600080fd5b5af115156105be57600080fd5b5050506040518051905015156105d357600080fd5b60038054600181016105e58382610941565b600092835260209092200182805161060192916020019061096a565b50507fc580975836a6474723779cc3df05b753a9d649f7125258b85e3a94ad063a98e784848484604051600160a060020a038086168252602082018590528316604082015260806060820181815290820183818151815260200191508051906020019080838360005b8381101561068257808201518382015260200161066a565b50505050905090810190601f1680156106af5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b60008054819033600160a060020a039081169116146106e357600080fd5b82518451146106f157600080fd5b5060005b83518110156107c557600254600160a060020a03166323b872dd8686848151811061071c57fe5b9060200190602002015186858151811061073257fe5b9060200190602002015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561078b57600080fd5b5af1151561079857600080fd5b5050506040518051905015156107ad576107c5565b6107be81600163ffffffff61092016565b90506106f5565b949350505050565b60008054819033600160a060020a039081169116146107eb57600080fd5b82518451146107f957600080fd5b5060005b83518110156108c057600254600160a060020a031663a9059cbb85838151811061082357fe5b9060200190602002015185848151811061083957fe5b9060200190602002015160405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561088657600080fd5b5af1151561089357600080fd5b5050506040518051905015156108a8576108c0565b6108b981600163ffffffff61092016565b90506107fd565b9392505050565b600154600160a060020a031681565b60005433600160a060020a039081169116146108f157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156108c057fe5b60206040519081016040526000815290565b815481835581811511610965576000838152602090206109659181019083016109e8565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ab57805160ff19168380011785556109d8565b828001600101855582156109d8579182015b828111156109d85782518255916020019190600101906109bd565b506109e4929150610a0e565b5090565b610a0b91905b808211156109e4576000610a028282610a28565b506001016109ee565b90565b610a0b91905b808211156109e45760008155600101610a14565b50805460018160011615610100020316600290046000825580601f10610a4e5750610a6c565b601f016020900490600052602060002090810190610a6c9190610a0e565b505600a165627a7a72305820afab45a633f63f9031561a6b74da1be5cf011293486945c9ef8d53a2444da2d80029

Deployed Bytecode

0x60606040526004361061008a5763ffffffff60e060020a60003504166311780a01811461008f5780633bf13ded146100be5780634e71e0c8146100df5780637957170b146100f25780638da5cb5b1461017f5780638f4ffcb114610192578063a7ff2373146101fe578063bb4c9f0b146102ad578063e30c39781461033c578063f2fde38b1461034f575b600080fd5b341561009a57600080fd5b6100a261036e565b604051600160a060020a03909116815260200160405180910390f35b34156100c957600080fd5b6100dd600160a060020a036004351661037d565b005b34156100ea57600080fd5b6100dd6103c7565b34156100fd57600080fd5b610108600435610455565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6100a261053f565b341561019d57600080fd5b6100dd60048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061054e95505050505050565b341561020957600080fd5b61029b60048035600160a060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506106c595505050505050565b60405190815260200160405180910390f35b34156102b857600080fd5b61029b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506107cd95505050505050565b341561034757600080fd5b6100a26108c7565b341561035a57600080fd5b6100dd600160a060020a03600435166108d6565b600254600160a060020a031681565b60005433600160a060020a0390811691161461039857600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015433600160a060020a039081169116146103e257600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b61045d61092f565b60005433600160a060020a0390811691161461047857600080fd5b600354821061048657600080fd5b600380548390811061049457fe5b90600052602060002090018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105335780601f1061050857610100808354040283529160200191610533565b820191906000526020600020905b81548152906001019060200180831161051657829003601f168201915b50505050509050919050565b600054600160a060020a031681565b600254600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156105b157600080fd5b5af115156105be57600080fd5b5050506040518051905015156105d357600080fd5b60038054600181016105e58382610941565b600092835260209092200182805161060192916020019061096a565b50507fc580975836a6474723779cc3df05b753a9d649f7125258b85e3a94ad063a98e784848484604051600160a060020a038086168252602082018590528316604082015260806060820181815290820183818151815260200191508051906020019080838360005b8381101561068257808201518382015260200161066a565b50505050905090810190601f1680156106af5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b60008054819033600160a060020a039081169116146106e357600080fd5b82518451146106f157600080fd5b5060005b83518110156107c557600254600160a060020a03166323b872dd8686848151811061071c57fe5b9060200190602002015186858151811061073257fe5b9060200190602002015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561078b57600080fd5b5af1151561079857600080fd5b5050506040518051905015156107ad576107c5565b6107be81600163ffffffff61092016565b90506106f5565b949350505050565b60008054819033600160a060020a039081169116146107eb57600080fd5b82518451146107f957600080fd5b5060005b83518110156108c057600254600160a060020a031663a9059cbb85838151811061082357fe5b9060200190602002015185848151811061083957fe5b9060200190602002015160405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561088657600080fd5b5af1151561089357600080fd5b5050506040518051905015156108a8576108c0565b6108b981600163ffffffff61092016565b90506107fd565b9392505050565b600154600160a060020a031681565b60005433600160a060020a039081169116146108f157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156108c057fe5b60206040519081016040526000815290565b815481835581811511610965576000838152602090206109659181019083016109e8565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ab57805160ff19168380011785556109d8565b828001600101855582156109d8579182015b828111156109d85782518255916020019190600101906109bd565b506109e4929150610a0e565b5090565b610a0b91905b808211156109e4576000610a028282610a28565b506001016109ee565b90565b610a0b91905b808211156109e45760008155600101610a14565b50805460018160011615610100020316600290046000825580601f10610a4e5750610a6c565b601f016020900490600052602060002090810190610a6c9190610a0e565b505600a165627a7a72305820afab45a633f63f9031561a6b74da1be5cf011293486945c9ef8d53a2444da2d80029

Swarm Source

bzzr://afab45a633f63f9031561a6b74da1be5cf011293486945c9ef8d53a2444da2d8

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.