ETH Price: $2,917.49 (+3.45%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Distribute Token...75073662019-04-05 9:52:392044 days ago1554457959IN
0x1a930F5f...A639880fE
0 ETH0.004021973
Distribute Token...60809632018-08-03 13:22:252288 days ago1533302545IN
0x1a930F5f...A639880fE
0 ETH0.010653223.1
Distribute Token...60809592018-08-03 13:21:392288 days ago1533302499IN
0x1a930F5f...A639880fE
0 ETH0.019490063.1
Distribute Token...60809452018-08-03 13:17:292288 days ago1533302249IN
0x1a930F5f...A639880fE
0 ETH0.018542513
Distribute Token...60808642018-08-03 12:54:362288 days ago1533300876IN
0x1a930F5f...A639880fE
0 ETH0.00919993.1
Distribute Token...48047562017-12-27 5:41:252508 days ago1514353285IN
0x1a930F5f...A639880fE
0 ETH0.013829922
Distribute Token...48040632017-12-27 2:48:542508 days ago1514342934IN
0x1a930F5f...A639880fE
0 ETH0.007289162
Distribute Token...48040612017-12-27 2:48:472508 days ago1514342927IN
0x1a930F5f...A639880fE
0 ETH0.013199962
Distribute Token...48038912017-12-27 2:07:052508 days ago1514340425IN
0x1a930F5f...A639880fE
0 ETH0.006399862
Distribute Token...48038552017-12-27 1:58:272508 days ago1514339907IN
0x1a930F5f...A639880fE
0 ETH0.0122
Distribute Token...48037112017-12-27 1:23:082508 days ago1514337788IN
0x1a930F5f...A639880fE
0 ETH0.003437822
Distribute Token...48036922017-12-27 1:16:312508 days ago1514337391IN
0x1a930F5f...A639880fE
0 ETH0.00090962
Distribute Token...48036762017-12-27 1:12:242508 days ago1514337144IN
0x1a930F5f...A639880fE
0 ETH0.001319512
Distribute Token...48036222017-12-27 1:00:402508 days ago1514336440IN
0x1a930F5f...A639880fE
0 ETH0.000226292
0x6060604048035342017-12-27 0:38:302508 days ago1514335110IN
 Create: BountyDistribute
0 ETH0.000754012

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BountyDistribute

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-12-27
*/

pragma solidity ^0.4.17;

/**
 * @title ERC20
 * @dev ERC20 interface
 */
contract ERC20 {
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    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 Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @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 OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


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

}


/**
 * @title claim accidentally sent tokens
 */
contract HasNoTokens is Ownable {
    event ExtractedTokens(address indexed _token, address indexed _claimer, uint _amount);

    /// @notice This method can be used to extract mistakenly
    ///  sent tokens to this contract.
    /// @param _token The address of the token contract that you want to recover
    ///  set to 0 in case you want to extract ether.
    /// @param _claimer Address that tokens will be send to
    function extractTokens(address _token, address _claimer) onlyOwner public {
        if (_token == 0x0) {
            _claimer.transfer(this.balance);
            return;
        }

        ERC20 token = ERC20(_token);
        uint balance = token.balanceOf(this);
        token.transfer(_claimer, balance);
        ExtractedTokens(_token, _claimer, balance);
    }
}


/**
 * @title claim accidentally sent tokens
 */
contract BountyDistribute is HasNoTokens {
    /// @notice distribute tokens
    function distributeTokens(address _token, address[] _to, uint256[] _value) external onlyOwner {
        require(_to.length == _value.length);

        ERC20 token = ERC20(_token);

        for (uint256 i = 0; i < _to.length; i++) {
            token.transfer(_to[i], _value[i]);
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address[]"},{"name":"_value","type":"uint256[]"}],"name":"distributeTokens","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":"_claimer","type":"address"}],"name":"extractTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_claimer","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ExtractedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405260008054600160a060020a033316600160a060020a031990911617905561046d806100306000396000f3006060604052600436106100485763ffffffff60e060020a60003504166351b6fe96811461004d5780638da5cb5b14610086578063ed6b2d7d146100b5578063f2fde38b146100da575b600080fd5b341561005857600080fd5b61008460048035600160a060020a031690602480358082019290810135916044359081019101356100f9565b005b341561009157600080fd5b6100996101ea565b604051600160a060020a03909116815260200160405180910390f35b34156100c057600080fd5b610084600160a060020a03600435811690602435166101f9565b34156100e557600080fd5b610084600160a060020a03600435166103a6565b60008054819033600160a060020a0390811691161461011757600080fd5b84831461012357600080fd5b5085905060005b848110156101e157600160a060020a03821663a9059cbb87878481811061014d57fe5b90506020020135600160a060020a0316868685818110151561016b57fe5b9050602002013560006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156101be57600080fd5b6102c65a03f115156101cf57600080fd5b5050506040518051505060010161012a565b50505050505050565b600054600160a060020a031681565b60008054819033600160a060020a0390811691161461021757600080fd5b600160a060020a03841615156102695782600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f19350505050151561026457600080fd5b6103a0565b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156102c357600080fd5b6102c65a03f115156102d457600080fd5b5050506040518051915050600160a060020a03821663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561033c57600080fd5b6102c65a03f1151561034d57600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f21e9b296e283cad208b551b3c383bb74e34086eb5691fee8392dcce6794521c28360405190815260200160405180910390a35b50505050565b60005433600160a060020a039081169116146103c157600080fd5b600160a060020a03811615156103d657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820d9af8c6a645da9a1d34b41734abedaae4cb99a020d156a217177d400a4e57fa00029

Deployed Bytecode

0x6060604052600436106100485763ffffffff60e060020a60003504166351b6fe96811461004d5780638da5cb5b14610086578063ed6b2d7d146100b5578063f2fde38b146100da575b600080fd5b341561005857600080fd5b61008460048035600160a060020a031690602480358082019290810135916044359081019101356100f9565b005b341561009157600080fd5b6100996101ea565b604051600160a060020a03909116815260200160405180910390f35b34156100c057600080fd5b610084600160a060020a03600435811690602435166101f9565b34156100e557600080fd5b610084600160a060020a03600435166103a6565b60008054819033600160a060020a0390811691161461011757600080fd5b84831461012357600080fd5b5085905060005b848110156101e157600160a060020a03821663a9059cbb87878481811061014d57fe5b90506020020135600160a060020a0316868685818110151561016b57fe5b9050602002013560006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156101be57600080fd5b6102c65a03f115156101cf57600080fd5b5050506040518051505060010161012a565b50505050505050565b600054600160a060020a031681565b60008054819033600160a060020a0390811691161461021757600080fd5b600160a060020a03841615156102695782600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f19350505050151561026457600080fd5b6103a0565b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156102c357600080fd5b6102c65a03f115156102d457600080fd5b5050506040518051915050600160a060020a03821663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561033c57600080fd5b6102c65a03f1151561034d57600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f21e9b296e283cad208b551b3c383bb74e34086eb5691fee8392dcce6794521c28360405190815260200160405180910390a35b50505050565b60005433600160a060020a039081169116146103c157600080fd5b600160a060020a03811615156103d657600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820d9af8c6a645da9a1d34b41734abedaae4cb99a020d156a217177d400a4e57fa00029

Swarm Source

bzzr://d9af8c6a645da9a1d34b41734abedaae4cb99a020d156a217177d400a4e57fa0

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.