ETH Price: $1,979.79 (-5.18%)

Contract

0xE0492F69A6Dd1c7fdBDA9901fB9f2A3c7f8Ea9aD
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer69045742018-12-17 18:15:092636 days ago1545070509IN
0xE0492F69...c7f8Ea9aD
0 ETH0.0004714915
Transfer69045542018-12-17 18:11:392636 days ago1545070299IN
0xE0492F69...c7f8Ea9aD
0 ETH0.001460514
Transfer65385912018-10-18 14:34:072696 days ago1539873247IN
0xE0492F69...c7f8Ea9aD
0 ETH0.0018896810
Transfer Ownersh...64050422018-09-26 20:40:222718 days ago1537994422IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000278099
Distribute63679202018-09-20 18:08:272724 days ago1537466907IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000886527
Transfer Owned O...63678742018-09-20 17:56:132724 days ago1537466173IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000208786
Transfer63678292018-09-20 17:47:462724 days ago1537465666IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000770947
Set Target Token63656022018-09-20 8:54:262724 days ago1537433666IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000263386
Distribute63655492018-09-20 8:42:302724 days ago1537432950IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000173286
Distribute63655392018-09-20 8:40:302724 days ago1537432830IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000173286
Release Vesting63655362018-09-20 8:40:002724 days ago1537432800IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000413696
Transfer Owned O...63653732018-09-20 7:57:592724 days ago1537430279IN
0xE0492F69...c7f8Ea9aD
0 ETH0.000209586

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:
VestingHasDistributorHandlerHasContracts

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.24;

/**
 * @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;
  }
}

/**
 * @title ContractOwner
 * @dev The ContractOwner contract serves the role of interactng with the functions of Ownable contracts,
 * this simplifies the implementation of "user permissions".
 */
contract HasContracts is Ownable {

  /**
   * @dev Relinquish control of the owned _contract.
   */
  function renounceOwnedOwnership(address _contract) public onlyOwner {
    Ownable(_contract).renounceOwnership();
  }

  /**
   * @dev Transfer control of the owned _contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnedOwnership(address _contract, address _newOwner) public onlyOwner {
    Ownable(_contract).transferOwnership(_newOwner);
  }
}

contract IOwnable {
  address public owner;

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

  function renounceOwnership() public;
  function transferOwnership(address _newOwner) public;
}

contract ITokenDistributor is IOwnable {

    address public targetToken;
    address[] public stakeHolders;
    uint256 public maxStakeHolders;
    event InsufficientTokenBalance( address indexed _token, uint256 _time );
    event TokensDistributed( address indexed _token, uint256 _total, uint256 _time );

    function isDistributionDue (address _token) public view returns (bool);
    function isDistributionDue () public view returns (bool);
    function countStakeHolders () public view returns (uint256);
    function getTokenBalance(address _token) public view returns (uint256);
    function getPortion (uint256 _total) public view returns (uint256);
    function setTargetToken (address _targetToken) public returns (bool);
    function distribute (address _token) public returns (bool);
    function distribute () public returns (bool);
}

/**
* A secondary contract which can interact directly with tokenDistributor
* and can ultimately be made Owner to acheieve full `Code is Law` state
*/
contract HasDistributorHandler is Ownable {
    /**
    *   Allows distributing of tokens from tokenDistributor contracts
    *   supports only 2 versions at present
    *   Version1 : distribute()
    *   version2 : distribute(address token) ( fallback() ) : for backward compatibility
    *
    *   version type has to be passed in to complete the release, default is version1.
    *  0 => version1
    *  1 => version2
    *
    */

    enum distributorContractVersion { v1, v2 }

    address public tokenDistributor;
    distributorContractVersion public distributorVersion;

    constructor (distributorContractVersion _distributorVersion, address _tokenDistributor) public Ownable() {
        setTokenDistributor(_distributorVersion, _tokenDistributor);
    }

    function setTokenDistributor (distributorContractVersion _distributorVersion, address _tokenDistributor) public onlyOwner returns (bool) {
      require(tokenDistributor == 0x0, 'Token Distributor already set');
      distributorVersion = _distributorVersion;
      tokenDistributor = _tokenDistributor;
      return true;
    }

    function distribute () public returns (bool) {
        require(tokenDistributor != 0x0, 'Token Distributor not set');

        if (distributorVersion == distributorContractVersion.v2) {
          /* TODO Check functionaliy and optimize  */
            return tokenDistributor.call(0x0);
        } else {
          return ITokenDistributor(tokenDistributor).distribute();
        }
        return false;
    }

    function () public {
      distribute();
    }
}

pragma solidity^0.4.24;

contract IVestingContract {
  function release() public;
  function release(address token) public;
}

/**
 * @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);
}

contract TokenHandler is Ownable {

    address public targetToken;

    constructor ( address _targetToken) public Ownable() {
        setTargetToken(_targetToken);
    }

    function getTokenBalance(address _token) public view returns (uint256) {
        ERC20Basic token = ERC20Basic(_token);
        return token.balanceOf(address(this));
    }

    function setTargetToken (address _targetToken) public onlyOwner returns (bool) {
      require(targetToken == 0x0, 'Target token already set');
      targetToken = _targetToken;
      return true;
    }

    function _transfer (address _token, address _recipient, uint256 _value) internal {
        ERC20Basic token = ERC20Basic(_token);
        token.transfer(_recipient, _value);
    }
}

/*
Supports default zeppelin vesting contract
https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/TokenVesting.sol
*/





contract VestingHandler is TokenHandler {

    /**
    *   Allows releasing of tokens from vesting contracts
    *   supports only 2 versions at present
    *   Version1 : release()
    *   version2 : release(address token)
    *
    *   version type has to be passed in to complete the release, default is version1.
    *  0 => version1
    *  1 => version2
    */

    enum vestingContractVersion { v1, v2 }

    address public vestingContract;
    vestingContractVersion public targetVersion;

    constructor ( vestingContractVersion _targetVersion, address _vestingContract, address _targetToken) public
    TokenHandler(_targetToken){
        setVestingContract(_targetVersion, _vestingContract);
    }

    function setVestingContract (vestingContractVersion _version, address _vestingContract) public onlyOwner returns (bool) {
        require(vestingContract == 0x0, 'Vesting Contract already set');
        vestingContract = _vestingContract;
        targetVersion = _version;
        return true;
    }

    function _releaseVesting (vestingContractVersion _version, address _vestingContract, address _targetToken) internal returns (bool) {
        require(_targetToken != 0x0, 'Target token not set');
        if (_version == vestingContractVersion.v1) {
            return _releaseVesting (_version, _vestingContract);
        } else if (_version == vestingContractVersion.v2){
            IVestingContract(_vestingContract).release(_targetToken);
            return true;
        }
        return false;
    }

    function _releaseVesting (vestingContractVersion _version, address _vestingContract) internal returns (bool) {
        if (_version != vestingContractVersion.v1) {
            revert('You need to pass in the additional argument(s)');
        }
        IVestingContract(_vestingContract).release();
        return true;
    }

    function releaseVesting (vestingContractVersion _version, address _vestingContract, address _targetToken) public onlyOwner returns (bool) {
        return _releaseVesting(_version, _vestingContract, _targetToken);
    }

    function releaseVesting (vestingContractVersion _version, address _vestingContract) public onlyOwner returns (bool) {
        return _releaseVesting(_version, _vestingContract);
    }

    function release () public returns (bool){
        require(vestingContract != 0x0, 'Vesting Contract not set');
        return _releaseVesting(targetVersion, vestingContract, targetToken);
    }

    function () public {
      release();
    }
}

/**
* Allows using one call to both release and Distribute tokens from
* Handler and distributor in cases where separate contracts
* Presently does not support re-use
*/
contract VestingHasDistributorHandler is VestingHandler, HasDistributorHandler {

    constructor (distributorContractVersion _distributorVersion, address _tokenDistributor, vestingContractVersion _targetVersion, address _vestingContract, address _targetToken) public
    VestingHandler( _targetVersion, _vestingContract, _targetToken )
    HasDistributorHandler(_distributorVersion, _tokenDistributor)
    {
    }

    function releaseAndDistribute () public {
        release();
        distribute();
    }

    function () {
      releaseAndDistribute();
    }
}

contract VestingHasDistributorHandlerHasContracts is VestingHasDistributorHandler, HasContracts {

    constructor (distributorContractVersion _distributorVersion, address _tokenDistributor, vestingContractVersion _targetVersion, address _vestingContract, address _targetToken) public
    VestingHasDistributorHandler( _distributorVersion, _tokenDistributor, _targetVersion, _vestingContract, _targetToken )
    HasContracts()
    {
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_contract","type":"address"}],"name":"renounceOwnedOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenDistributor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_targetToken","type":"address"}],"name":"setTargetToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"targetToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_token","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseAndDistribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_version","type":"uint8"},{"name":"_vestingContract","type":"address"},{"name":"_targetToken","type":"address"}],"name":"releaseVesting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_version","type":"uint8"},{"name":"_vestingContract","type":"address"}],"name":"releaseVesting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"targetVersion","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vestingContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"release","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_version","type":"uint8"},{"name":"_vestingContract","type":"address"}],"name":"setVestingContract","outputs":[{"name":"","type":"bool"}],"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":"_contract","type":"address"},{"name":"_newOwner","type":"address"}],"name":"transferOwnedOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_distributorVersion","type":"uint8"},{"name":"_tokenDistributor","type":"address"}],"name":"setTokenDistributor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"distribute","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributorVersion","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_distributorVersion","type":"uint8"},{"name":"_tokenDistributor","type":"address"},{"name":"_targetVersion","type":"uint8"},{"name":"_vestingContract","type":"address"},{"name":"_targetToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"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"}]

608060405234801561001057600080fd5b5060405160a08061108d8339810160409081528151602083015191830151606084015160809094015160008054600160a060020a0319163317905591939091848484848484848484848061006c816401000000006100b6810204565b50506100878383610169640100000000026401000000009004565b505050506100a48282610252640100000000026401000000009004565b50505050505050505050505050610340565b60008054600160a060020a031633146100ce57600080fd5b600154600160a060020a03161561014657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f54617267657420746f6b656e20616c7265616479207365740000000000000000604482015290519081900360640190fd5b5060018054600160a060020a038316600160a060020a0319909116178155919050565b60008054600160a060020a0316331461018157600080fd5b600254600160a060020a0316156101f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f56657374696e6720436f6e747261637420616c72656164792073657400000000604482015290519081900360640190fd5b60028054600160a060020a031916600160a060020a0384161780825584919060a060020a60ff0219167401000000000000000000000000000000000000000083600181111561024457fe5b021790555060019392505050565b60008054600160a060020a0316331461026a57600080fd5b600354600160a060020a0316156102e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f546f6b656e204469737472696275746f7220616c726561647920736574000000604482015290519081900360640190fd5b6003805484919060a060020a60ff0219167401000000000000000000000000000000000000000083600181111561031557fe5b02179055505060038054600160a060020a038316600160a060020a0319909116179055600192915050565b610d3e8061034f6000396000f3006080604052600436106100ec5763ffffffff60e060020a6000350416623a661d811461010357806318a6bc32146101245780631b66cb0014610155578063327107f71461018a5780633aecd0e31461019f5780633c627c9b146100ec5780634798a5d5146101d257806352273494146101ff5780635e067446146102265780635e6f60451461025f578063715018a61461027457806386d1a69f14610289578063899f4e191461029e5780638da5cb5b146102c5578063a1eb84b0146102da578063bf8cf62d14610301578063e4fc6b6d14610328578063eeb389371461033d578063f2fde38b14610352575b3480156100f857600080fd5b50610101610373565b005b34801561010f57600080fd5b50610101600160a060020a0360043516610387565b34801561013057600080fd5b506101396103f7565b60408051600160a060020a039092168252519081900360200190f35b34801561016157600080fd5b50610176600160a060020a0360043516610406565b604080519115158252519081900360200190f35b34801561019657600080fd5b506101396104af565b3480156101ab57600080fd5b506101c0600160a060020a03600435166104be565b60408051918252519081900360200190f35b3480156101de57600080fd5b5061017660ff60043516600160a060020a0360243581169060443516610556565b34801561020b57600080fd5b5061017660ff60043516600160a060020a0360243516610583565b34801561023257600080fd5b5061023b6105a5565b6040518082600181111561024b57fe5b60ff16815260200191505060405180910390f35b34801561026b57600080fd5b506101396105b5565b34801561028057600080fd5b506101016105c4565b34801561029557600080fd5b50610176610630565b3480156102aa57600080fd5b5061017660ff60043516600160a060020a03602435166106c2565b3480156102d157600080fd5b5061013961079e565b3480156102e657600080fd5b50610101600160a060020a03600435811690602435166107ad565b34801561030d57600080fd5b5061017660ff60043516600160a060020a036024351661083b565b34801561033457600080fd5b5061017661091c565b34801561034957600080fd5b5061023b610a5b565b34801561035e57600080fd5b50610101600160a060020a0360043516610a6b565b61037b610630565b5061038461091c565b50565b600054600160a060020a0316331461039e57600080fd5b80600160a060020a031663715018a66040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156103dc57600080fd5b505af11580156103f0573d6000803e3d6000fd5b5050505050565b600354600160a060020a031681565b60008054600160a060020a0316331461041e57600080fd5b600154600160a060020a03161561047f576040805160e560020a62461bcd02815260206004820152601860248201527f54617267657420746f6b656e20616c7265616479207365740000000000000000604482015290519081900360640190fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b600154600160a060020a031681565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516000918391600160a060020a038316916370a0823191602480830192602092919082900301818887803b15801561052357600080fd5b505af1158015610537573d6000803e3d6000fd5b505050506040513d602081101561054d57600080fd5b50519392505050565b60008054600160a060020a0316331461056e57600080fd5b610579848484610a8b565b90505b9392505050565b60008054600160a060020a0316331461059b57600080fd5b61057c8383610bac565b60025460a060020a900460ff1681565b600254600160a060020a031681565b600054600160a060020a031633146105db57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600090600160a060020a03161515610695576040805160e560020a62461bcd02815260206004820152601860248201527f56657374696e6720436f6e7472616374206e6f74207365740000000000000000604482015290519081900360640190fd5b6002546001546106bc9160ff60a060020a82041691600160a060020a039182169116610a8b565b90505b90565b60008054600160a060020a031633146106da57600080fd5b600254600160a060020a03161561073b576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e6720436f6e747261637420616c72656164792073657400000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161780825584919074ff0000000000000000000000000000000000000000191660a060020a83600181111561079057fe5b021790555060019392505050565b600054600160a060020a031681565b600054600160a060020a031633146107c457600080fd5b81600160a060020a031663f2fde38b826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561081f57600080fd5b505af1158015610833573d6000803e3d6000fd5b505050505050565b60008054600160a060020a0316331461085357600080fd5b600354600160a060020a0316156108b4576040805160e560020a62461bcd02815260206004820152601d60248201527f546f6b656e204469737472696275746f7220616c726561647920736574000000604482015290519081900360640190fd5b6003805484919074ff0000000000000000000000000000000000000000191660a060020a8360018111156108e457fe5b02179055505060038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116179055600192915050565b600354600090600160a060020a03161515610981576040805160e560020a62461bcd02815260206004820152601960248201527f546f6b656e204469737472696275746f72206e6f742073657400000000000000604482015290519081900360640190fd5b600160035460a060020a900460ff16600181111561099b57fe5b14156109d5576003546040805160008082529151600160a060020a039093169260208083019392829003018183865af191505090506106bf565b600360009054906101000a9004600160a060020a0316600160a060020a031663e4fc6b6d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b505190506106bf565b60035460a060020a900460ff1681565b600054600160a060020a03163314610a8257600080fd5b61038481610c95565b6000600160a060020a0382161515610aed576040805160e560020a62461bcd02815260206004820152601460248201527f54617267657420746f6b656e206e6f7420736574000000000000000000000000604482015290519081900360640190fd5b6000846001811115610afb57fe5b1415610b1257610b0b8484610bac565b905061057c565b6001846001811115610b2057fe5b1415610ba25782600160a060020a03166319165587836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b158015610b8157600080fd5b505af1158015610b95573d6000803e3d6000fd5b505050506001905061057c565b5060009392505050565b600080836001811115610bbb57fe5b14610c36576040805160e560020a62461bcd02815260206004820152602e60248201527f596f75206e65656420746f207061737320696e20746865206164646974696f6e60448201527f616c20617267756d656e74287329000000000000000000000000000000000000606482015290519081900360840190fd5b81600160a060020a03166386d1a69f6040518163ffffffff1660e060020a028152600401600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b5060019695505050505050565b600160a060020a0381161515610caa57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582099b3350bd397fac5de9e94e79fb1d2fa0b7b841f6b5aac86051df17f4e4a54e5002900000000000000000000000000000000000000000000000000000000000000010000000000000000000000009db4cad25a2b548fd7cadc31933f5ec71e598354000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046e3d6e2a1fc2c65210a799502af92873ab42f720000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100ec5763ffffffff60e060020a6000350416623a661d811461010357806318a6bc32146101245780631b66cb0014610155578063327107f71461018a5780633aecd0e31461019f5780633c627c9b146100ec5780634798a5d5146101d257806352273494146101ff5780635e067446146102265780635e6f60451461025f578063715018a61461027457806386d1a69f14610289578063899f4e191461029e5780638da5cb5b146102c5578063a1eb84b0146102da578063bf8cf62d14610301578063e4fc6b6d14610328578063eeb389371461033d578063f2fde38b14610352575b3480156100f857600080fd5b50610101610373565b005b34801561010f57600080fd5b50610101600160a060020a0360043516610387565b34801561013057600080fd5b506101396103f7565b60408051600160a060020a039092168252519081900360200190f35b34801561016157600080fd5b50610176600160a060020a0360043516610406565b604080519115158252519081900360200190f35b34801561019657600080fd5b506101396104af565b3480156101ab57600080fd5b506101c0600160a060020a03600435166104be565b60408051918252519081900360200190f35b3480156101de57600080fd5b5061017660ff60043516600160a060020a0360243581169060443516610556565b34801561020b57600080fd5b5061017660ff60043516600160a060020a0360243516610583565b34801561023257600080fd5b5061023b6105a5565b6040518082600181111561024b57fe5b60ff16815260200191505060405180910390f35b34801561026b57600080fd5b506101396105b5565b34801561028057600080fd5b506101016105c4565b34801561029557600080fd5b50610176610630565b3480156102aa57600080fd5b5061017660ff60043516600160a060020a03602435166106c2565b3480156102d157600080fd5b5061013961079e565b3480156102e657600080fd5b50610101600160a060020a03600435811690602435166107ad565b34801561030d57600080fd5b5061017660ff60043516600160a060020a036024351661083b565b34801561033457600080fd5b5061017661091c565b34801561034957600080fd5b5061023b610a5b565b34801561035e57600080fd5b50610101600160a060020a0360043516610a6b565b61037b610630565b5061038461091c565b50565b600054600160a060020a0316331461039e57600080fd5b80600160a060020a031663715018a66040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156103dc57600080fd5b505af11580156103f0573d6000803e3d6000fd5b5050505050565b600354600160a060020a031681565b60008054600160a060020a0316331461041e57600080fd5b600154600160a060020a03161561047f576040805160e560020a62461bcd02815260206004820152601860248201527f54617267657420746f6b656e20616c7265616479207365740000000000000000604482015290519081900360640190fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b600154600160a060020a031681565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516000918391600160a060020a038316916370a0823191602480830192602092919082900301818887803b15801561052357600080fd5b505af1158015610537573d6000803e3d6000fd5b505050506040513d602081101561054d57600080fd5b50519392505050565b60008054600160a060020a0316331461056e57600080fd5b610579848484610a8b565b90505b9392505050565b60008054600160a060020a0316331461059b57600080fd5b61057c8383610bac565b60025460a060020a900460ff1681565b600254600160a060020a031681565b600054600160a060020a031633146105db57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600090600160a060020a03161515610695576040805160e560020a62461bcd02815260206004820152601860248201527f56657374696e6720436f6e7472616374206e6f74207365740000000000000000604482015290519081900360640190fd5b6002546001546106bc9160ff60a060020a82041691600160a060020a039182169116610a8b565b90505b90565b60008054600160a060020a031633146106da57600080fd5b600254600160a060020a03161561073b576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e6720436f6e747261637420616c72656164792073657400000000604482015290519081900360640190fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161780825584919074ff0000000000000000000000000000000000000000191660a060020a83600181111561079057fe5b021790555060019392505050565b600054600160a060020a031681565b600054600160a060020a031633146107c457600080fd5b81600160a060020a031663f2fde38b826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561081f57600080fd5b505af1158015610833573d6000803e3d6000fd5b505050505050565b60008054600160a060020a0316331461085357600080fd5b600354600160a060020a0316156108b4576040805160e560020a62461bcd02815260206004820152601d60248201527f546f6b656e204469737472696275746f7220616c726561647920736574000000604482015290519081900360640190fd5b6003805484919074ff0000000000000000000000000000000000000000191660a060020a8360018111156108e457fe5b02179055505060038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116179055600192915050565b600354600090600160a060020a03161515610981576040805160e560020a62461bcd02815260206004820152601960248201527f546f6b656e204469737472696275746f72206e6f742073657400000000000000604482015290519081900360640190fd5b600160035460a060020a900460ff16600181111561099b57fe5b14156109d5576003546040805160008082529151600160a060020a039093169260208083019392829003018183865af191505090506106bf565b600360009054906101000a9004600160a060020a0316600160a060020a031663e4fc6b6d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b505190506106bf565b60035460a060020a900460ff1681565b600054600160a060020a03163314610a8257600080fd5b61038481610c95565b6000600160a060020a0382161515610aed576040805160e560020a62461bcd02815260206004820152601460248201527f54617267657420746f6b656e206e6f7420736574000000000000000000000000604482015290519081900360640190fd5b6000846001811115610afb57fe5b1415610b1257610b0b8484610bac565b905061057c565b6001846001811115610b2057fe5b1415610ba25782600160a060020a03166319165587836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b158015610b8157600080fd5b505af1158015610b95573d6000803e3d6000fd5b505050506001905061057c565b5060009392505050565b600080836001811115610bbb57fe5b14610c36576040805160e560020a62461bcd02815260206004820152602e60248201527f596f75206e65656420746f207061737320696e20746865206164646974696f6e60448201527f616c20617267756d656e74287329000000000000000000000000000000000000606482015290519081900360840190fd5b81600160a060020a03166386d1a69f6040518163ffffffff1660e060020a028152600401600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b5060019695505050505050565b600160a060020a0381161515610caa57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582099b3350bd397fac5de9e94e79fb1d2fa0b7b841f6b5aac86051df17f4e4a54e50029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000010000000000000000000000009db4cad25a2b548fd7cadc31933f5ec71e598354000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046e3d6e2a1fc2c65210a799502af92873ab42f720000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _distributorVersion (uint8): 1
Arg [1] : _tokenDistributor (address): 0x9Db4CAd25A2b548fd7CaDc31933f5EC71E598354
Arg [2] : _targetVersion (uint8): 0
Arg [3] : _vestingContract (address): 0x46E3d6E2A1fc2C65210A799502aF92873Ab42F72
Arg [4] : _targetToken (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [1] : 0000000000000000000000009db4cad25a2b548fd7cadc31933f5ec71e598354
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 00000000000000000000000046e3d6e2a1fc2c65210a799502af92873ab42f72
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://99b3350bd397fac5de9e94e79fb1d2fa0b7b841f6b5aac86051df17f4e4a54e5

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.