Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 12 from a total of 12 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 6904574 | 2636 days ago | IN | 0 ETH | 0.00047149 | ||||
| Transfer | 6904554 | 2636 days ago | IN | 0 ETH | 0.0014605 | ||||
| Transfer | 6538591 | 2696 days ago | IN | 0 ETH | 0.00188968 | ||||
| Transfer Ownersh... | 6405042 | 2718 days ago | IN | 0 ETH | 0.00027809 | ||||
| Distribute | 6367920 | 2724 days ago | IN | 0 ETH | 0.00088652 | ||||
| Transfer Owned O... | 6367874 | 2724 days ago | IN | 0 ETH | 0.00020878 | ||||
| Transfer | 6367829 | 2724 days ago | IN | 0 ETH | 0.00077094 | ||||
| Set Target Token | 6365602 | 2724 days ago | IN | 0 ETH | 0.00026338 | ||||
| Distribute | 6365549 | 2724 days ago | IN | 0 ETH | 0.00017328 | ||||
| Distribute | 6365539 | 2724 days ago | IN | 0 ETH | 0.00017328 | ||||
| Release Vesting | 6365536 | 2724 days ago | IN | 0 ETH | 0.00041369 | ||||
| Transfer Owned O... | 6365373 | 2724 days ago | IN | 0 ETH | 0.00020958 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VestingHasDistributorHandlerHasContracts
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.