Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 6708840 | 2283 days ago | IN | 0 ETH | 0.00010903 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TokenTimelock
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-10 */ pragma solidity ^0.4.17; contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function Ownable() internal { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract ERC20Basic { function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); } library SafeERC20 { function safeTransfer(ERC20Basic token, address to, uint256 value) internal { assert(token.transfer(to, value)); } } /** * @title TokenTimelock * @dev TokenTimelock is a token holder contract that will allow a * beneficiary to extract the tokens after a given release time */ contract TokenTimelock is Ownable{ using SafeERC20 for ERC20Basic; ERC20Basic public token; // ERC20 basic token contract being held uint64 public releaseTime; // timestamp when token claim is enabled function TokenTimelock(ERC20Basic _token, uint64 _releaseTime) public { require(_releaseTime > now); token = _token; owner = msg.sender; releaseTime = _releaseTime; } /** * @notice Transfers tokens held by timelock to owner. */ function claim() public onlyOwner { require(now >= releaseTime); uint256 amount = token.balanceOf(this); require(amount > 0); token.safeTransfer(owner, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releaseTime","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_releaseTime","type":"uint64"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b604051604080610458833981016040528080519190602001805160008054600160a060020a03191633600160a060020a0316179055915050426001604060020a0382161161005c57600080fd5b600180546000805433600160a060020a03908116600160a060020a0319928316179092556001604060020a03909416740100000000000000000000000000000000000000000260a060020a60e060020a031991909516939091169290921791909116919091179055610385806100d36000396000f3006060604052600436106100535763ffffffff60e060020a6000350416634e71d92d81146100585780638da5cb5b1461006d578063b91d40011461009c578063f2fde38b146100cc578063fc0c546a146100eb575b600080fd5b341561006357600080fd5b61006b6100fe565b005b341561007857600080fd5b6100806101f3565b604051600160a060020a03909116815260200160405180910390f35b34156100a757600080fd5b6100af610202565b60405167ffffffffffffffff909116815260200160405180910390f35b34156100d757600080fd5b61006b600160a060020a036004351661022a565b34156100f657600080fd5b6100806102c5565b6000805433600160a060020a0390811691161461011a57600080fd5b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1642101561014b57600080fd5b600154600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156101a457600080fd5b6102c65a03f115156101b557600080fd5b5050506040518051915050600081116101cd57600080fd5b6000546001546101f091600160a060020a0391821691168363ffffffff6102d416565b50565b600054600160a060020a031681565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561033157600080fd5b6102c65a03f1151561034257600080fd5b50505060405180519050151561035457fe5b5050505600a165627a7a72305820c8f2e1b8aacbf5929c8543dd01fd81c44f3d7eae45fa6578474c79bae78b54d800290000000000000000000000004d829f8c92a6691c56300d020c9e0db984cfe2ba000000000000000000000000000000000000000000000000000000005bed51b0
Deployed Bytecode
0x6060604052600436106100535763ffffffff60e060020a6000350416634e71d92d81146100585780638da5cb5b1461006d578063b91d40011461009c578063f2fde38b146100cc578063fc0c546a146100eb575b600080fd5b341561006357600080fd5b61006b6100fe565b005b341561007857600080fd5b6100806101f3565b604051600160a060020a03909116815260200160405180910390f35b34156100a757600080fd5b6100af610202565b60405167ffffffffffffffff909116815260200160405180910390f35b34156100d757600080fd5b61006b600160a060020a036004351661022a565b34156100f657600080fd5b6100806102c5565b6000805433600160a060020a0390811691161461011a57600080fd5b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1642101561014b57600080fd5b600154600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156101a457600080fd5b6102c65a03f115156101b557600080fd5b5050506040518051915050600081116101cd57600080fd5b6000546001546101f091600160a060020a0391821691168363ffffffff6102d416565b50565b600054600160a060020a031681565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561033157600080fd5b6102c65a03f1151561034257600080fd5b50505060405180519050151561035457fe5b5050505600a165627a7a72305820c8f2e1b8aacbf5929c8543dd01fd81c44f3d7eae45fa6578474c79bae78b54d80029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004d829f8c92a6691c56300d020c9e0db984cfe2ba000000000000000000000000000000000000000000000000000000005bed51b0
-----Decoded View---------------
Arg [0] : _token (address): 0x4d829f8C92a6691c56300D020c9e0dB984Cfe2BA
Arg [1] : _releaseTime (uint64): 1542279600
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000004d829f8c92a6691c56300d020c9e0db984cfe2ba
Arg [1] : 000000000000000000000000000000000000000000000000000000005bed51b0
Swarm Source
bzzr://c8f2e1b8aacbf5929c8543dd01fd81c44f3d7eae45fa6578474c79bae78b54d8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.