ETH Price: $2,132.28 (+3.80%)
 

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
Multi Send59224792018-07-07 16:06:472824 days ago1530979607IN
0xccdE7878...D1625dacF
0 ETH0.69161233191
Multi Send59224782018-07-07 16:06:282824 days ago1530979588IN
0xccdE7878...D1625dacF
0 ETH0.69158788191
Multi Send59224752018-07-07 16:05:472824 days ago1530979547IN
0xccdE7878...D1625dacF
0 ETH0.69156344191
Multi Send59224732018-07-07 16:05:302824 days ago1530979530IN
0xccdE7878...D1625dacF
0 ETH0.69156344191
Multi Send59224712018-07-07 16:05:062824 days ago1530979506IN
0xccdE7878...D1625dacF
0 ETH0.69158788191
Multi Send59224702018-07-07 16:04:412824 days ago1530979481IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59224682018-07-07 16:04:042824 days ago1530979444IN
0xccdE7878...D1625dacF
0 ETH0.69156344191
Multi Send59224642018-07-07 16:03:422824 days ago1530979422IN
0xccdE7878...D1625dacF
0 ETH0.69156344191
Multi Send59224612018-07-07 16:02:532824 days ago1530979373IN
0xccdE7878...D1625dacF
0 ETH0.69153899191
Multi Send59224602018-07-07 16:02:512824 days ago1530979371IN
0xccdE7878...D1625dacF
0 ETH0.68873511191
Multi Send59224602018-07-07 16:02:512824 days ago1530979371IN
0xccdE7878...D1625dacF
0 ETH0.69158788191
Multi Send59224572018-07-07 16:02:322824 days ago1530979352IN
0xccdE7878...D1625dacF
0 ETH0.69153899191
Multi Send59224532018-07-07 16:01:342824 days ago1530979294IN
0xccdE7878...D1625dacF
0 ETH0.69156344191
Multi Send59224522018-07-07 16:01:192824 days ago1530979279IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59224512018-07-07 16:01:092824 days ago1530979269IN
0xccdE7878...D1625dacF
0 ETH0.69157566191
Multi Send59224502018-07-07 16:00:562824 days ago1530979256IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59224492018-07-07 16:00:462824 days ago1530979246IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59224482018-07-07 16:00:382824 days ago1530979238IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59224462018-07-07 15:59:592824 days ago1530979199IN
0xccdE7878...D1625dacF
0 ETH0.69152676191
Multi Send59224452018-07-07 15:59:472824 days ago1530979187IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59224452018-07-07 15:59:472824 days ago1530979187IN
0xccdE7878...D1625dacF
0 ETH0.69155121191
Multi Send59213692018-07-07 11:39:132824 days ago1530963553IN
0xccdE7878...D1625dacF
0 ETH0.3294650491
Multi Send59213682018-07-07 11:39:072824 days ago1530963547IN
0xccdE7878...D1625dacF
0 ETH0.3294825191
Multi Send59213672018-07-07 11:39:042824 days ago1530963544IN
0xccdE7878...D1625dacF
0 ETH0.3294650491
Multi Send59213622018-07-07 11:38:272824 days ago1530963507IN
0xccdE7878...D1625dacF
0 ETH0.3294708691
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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xba2c51C7...cd778A2e8
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
FlyDropToken

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *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"}]

0x606060405260028054600160a060020a031990811673fb5a551374b656c6e39787b1d3a03feab7f3a98e179091556000805433600160a060020a03169216919091179055610a9b806100526000396000f30060606040526004361061008a5763ffffffff60e060020a60003504166311780a01811461008f5780633bf13ded146100be5780634e71e0c8146100df5780637957170b146100f25780638da5cb5b1461017f5780638f4ffcb114610192578063a7ff2373146101fe578063bb4c9f0b146102ad578063e30c39781461033c578063f2fde38b1461034f575b600080fd5b341561009a57600080fd5b6100a261036e565b604051600160a060020a03909116815260200160405180910390f35b34156100c957600080fd5b6100dd600160a060020a036004351661037d565b005b34156100ea57600080fd5b6100dd6103c7565b34156100fd57600080fd5b610108600435610455565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014457808201518382015260200161012c565b50505050905090810190601f1680156101715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018a57600080fd5b6100a261053f565b341561019d57600080fd5b6100dd60048035600160a060020a0390811691602480359260443516919060849060643590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061054e95505050505050565b341561020957600080fd5b61029b60048035600160a060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506106c595505050505050565b60405190815260200160405180910390f35b34156102b857600080fd5b61029b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506107cd95505050505050565b341561034757600080fd5b6100a26108c7565b341561035a57600080fd5b6100dd600160a060020a03600435166108d6565b600254600160a060020a031681565b60005433600160a060020a0390811691161461039857600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015433600160a060020a039081169116146103e257600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b61045d61092f565b60005433600160a060020a0390811691161461047857600080fd5b600354821061048657600080fd5b600380548390811061049457fe5b90600052602060002090018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105335780601f1061050857610100808354040283529160200191610533565b820191906000526020600020905b81548152906001019060200180831161051657829003601f168201915b50505050509050919050565b600054600160a060020a031681565b600254600160a060020a03166323b872dd85308660405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156105b157600080fd5b5af115156105be57600080fd5b5050506040518051905015156105d357600080fd5b60038054600181016105e58382610941565b600092835260209092200182805161060192916020019061096a565b50507fc580975836a6474723779cc3df05b753a9d649f7125258b85e3a94ad063a98e784848484604051600160a060020a038086168252602082018590528316604082015260806060820181815290820183818151815260200191508051906020019080838360005b8381101561068257808201518382015260200161066a565b50505050905090810190601f1680156106af5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b60008054819033600160a060020a039081169116146106e357600080fd5b82518451146106f157600080fd5b5060005b83518110156107c557600254600160a060020a03166323b872dd8686848151811061071c57fe5b9060200190602002015186858151811061073257fe5b9060200190602002015160405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561078b57600080fd5b5af1151561079857600080fd5b5050506040518051905015156107ad576107c5565b6107be81600163ffffffff61092016565b90506106f5565b949350505050565b60008054819033600160a060020a039081169116146107eb57600080fd5b82518451146107f957600080fd5b5060005b83518110156108c057600254600160a060020a031663a9059cbb85838151811061082357fe5b9060200190602002015185848151811061083957fe5b9060200190602002015160405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561088657600080fd5b5af1151561089357600080fd5b5050506040518051905015156108a8576108c0565b6108b981600163ffffffff61092016565b90506107fd565b9392505050565b600154600160a060020a031681565b60005433600160a060020a039081169116146108f157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156108c057fe5b60206040519081016040526000815290565b815481835581811511610965576000838152602090206109659181019083016109e8565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106109ab57805160ff19168380011785556109d8565b828001600101855582156109d8579182015b828111156109d85782518255916020019190600101906109bd565b506109e4929150610a0e565b5090565b610a0b91905b808211156109e4576000610a028282610a28565b506001016109ee565b90565b610a0b91905b808211156109e45760008155600101610a14565b50805460018160011615610100020316600290046000825580601f10610a4e5750610a6c565b601f016020900490600052602060002090810190610a6c9190610a0e565b505600a165627a7a72305820afab45a633f63f9031561a6b74da1be5cf011293486945c9ef8d53a2444da2d80029

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.