Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 4998872 | 2570 days ago | IN | 1.7 ETH | 0.00270135 | ||||
Transfer | 4998863 | 2570 days ago | IN | 0.1 ETH | 0.00345135 | ||||
Transfer | 4994543 | 2571 days ago | IN | 0.05 ETH | 0.00345135 | ||||
Transfer | 4990271 | 2571 days ago | IN | 0.04 ETH | 0.00345135 | ||||
Transfer | 4985821 | 2572 days ago | IN | 0.04516 ETH | 0.00138054 | ||||
Transfer | 4964621 | 2576 days ago | IN | 0.01 ETH | 0.0034451 | ||||
Set Token | 4964552 | 2576 days ago | IN | 0 ETH | 0.00178645 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ClickableTV
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-24 */ pragma solidity ^0.4.18; library SafeMath { 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; } 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; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } 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)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract ClickableTVToken { function balanceOf(address _owner) public view returns (uint256 balance); function transfer(address _to, uint256 _value) public returns (bool); } contract ClickableTV is Ownable { using SafeMath for uint256; // The token being sold ClickableTVToken public token; // start and end timestamps where investments are allowed (both inclusive) // uint256 public startTime = block.timestamp; // for test. Time of deploy smart-contract // uint256 public startTime = 1522540800; // for production. Timestamp 01 Apr 2018 00:00:00 UTC uint256 public presaleStart = 1516492800; // Sunday, 21-Jan-18 00:00:00 UTC uint256 public presaleEnd = 1519862399; // Wednesday, 28-Feb-18 23:59:59 UTC uint256 public saleStart = 1519862400; // Thursday, 01-Mar-18 00:00:00 UTC uint256 public saleEnd = 1527811199; // Thursday, 31-May-18 23:59:59 UTC // address where funds are collected address public wallet; // ICO Token Price – 1 CKTV = .001 ETH uint256 public rate = 1000; // amount of raised money in wei uint256 public weiRaised; function ClickableTV() public { wallet = msg.sender; } function setToken(ClickableTVToken _token) public onlyOwner { token = _token; } // By default wallet == owner function setWallet(address _wallet) public onlyOwner { wallet = _wallet; } function tokenWeiToSale() public view returns (uint256) { return token.balanceOf(this); } function transfer(address _to, uint256 _value) public onlyOwner returns (bool){ assert(tokenWeiToSale() >= _value); token.transfer(_to, _value); } // fallback function can be used to buy tokens function() external payable { buyTokens(msg.sender); } /** * event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased */ event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); // low level token purchase function function buyTokens(address beneficiary) public payable { require(beneficiary != address(0)); require(validPurchase()); uint256 weiAmount = msg.value; // calculate token amount to be created uint256 tokens = weiAmount.mul(rate); // 25% discount of token price for the first six weeks during pre-sale if (block.timestamp < presaleEnd) tokens = tokens.mul(100).div(75); // update state weiRaised = weiRaised.add(weiAmount); token.transfer(beneficiary, tokens); TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); forwardFunds(); } // send ether to the fund collection wallet // override to create custom fund forwarding mechanisms function forwardFunds() internal { wallet.transfer(msg.value); } // @return true if the transaction can buy tokens function validPurchase() internal view returns (bool) { bool presalePeriod = now >= presaleStart && now <= presaleEnd; bool salePeriod = now >= saleStart && now <= saleEnd; bool nonZeroPurchase = msg.value != 0; return (presalePeriod || salePeriod) && nonZeroPurchase; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"setToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presaleEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenWeiToSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"saleEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","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":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052635a63d800600255635a97427f600355635a974280600455635b108c7f6005556103e8600755341561003557600080fd5b60008054600160a060020a033316600160a060020a031991821681179092556006805490911690911790556107748061006f6000396000f3006060604052600436106100c15763ffffffff60e060020a600035041663144fa6d781146100cc578063229f3e29146100eb5780632c4e722e146101105780634042b66f14610123578063521eb273146101365780638da5cb5b146101655780638ed20fa014610178578063a9059cbb1461018b578063ab0bcc41146101c1578063c10b9358146101d4578063de8801e5146101e7578063deaa59df146101fa578063ec8ac4d814610219578063f2fde38b1461022d578063fc0c546a1461024c575b6100ca3361025f565b005b34156100d757600080fd5b6100ca600160a060020a03600435166103be565b34156100f657600080fd5b6100fe610408565b60405190815260200160405180910390f35b341561011b57600080fd5b6100fe61040e565b341561012e57600080fd5b6100fe610414565b341561014157600080fd5b61014961041a565b604051600160a060020a03909116815260200160405180910390f35b341561017057600080fd5b610149610429565b341561018357600080fd5b6100fe610438565b341561019657600080fd5b6101ad600160a060020a03600435166024356104b2565b604051901515815260200160405180910390f35b34156101cc57600080fd5b6100fe610560565b34156101df57600080fd5b6100fe610566565b34156101f257600080fd5b6100fe61056c565b341561020557600080fd5b6100ca600160a060020a0360043516610572565b6100ca600160a060020a036004351661025f565b341561023857600080fd5b6100ca600160a060020a03600435166105bc565b341561025757600080fd5b610149610657565b600080600160a060020a038316151561027757600080fd5b61027f610666565b151561028a57600080fd5b6007543492506102a190839063ffffffff6106b616565b90506003544210156102d2576102cf604b6102c383606463ffffffff6106b616565b9063ffffffff6106ec16565b90505b6008546102e5908363ffffffff61070316565b600855600154600160a060020a031663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561034757600080fd5b6102c65a03f1151561035857600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a36103b9610712565b505050565b60005433600160a060020a039081169116146103d957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60075481565b60085481565b600654600160a060020a031681565b600054600160a060020a031681565b600154600090600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561049357600080fd5b6102c65a03f115156104a457600080fd5b505050604051805191505090565b6000805433600160a060020a039081169116146104ce57600080fd5b816104d7610438565b10156104df57fe5b600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561053e57600080fd5b6102c65a03f1151561054f57600080fd5b505050604051805190505092915050565b60045481565b60055481565b60025481565b60005433600160a060020a0390811691161461058d57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146105d757600080fd5b600160a060020a03811615156105ec57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b600080600080600254421015801561068057506003544211155b9250600454421015801561069657506005544211155b91505034151582806106a55750815b80156106ae5750805b935050505090565b6000808315156106c957600091506106e5565b508282028284828115156106d957fe5b04146106e157fe5b8091505b5092915050565b60008082848115156106fa57fe5b04949350505050565b6000828201838110156106e157fe5b600654600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561074657600080fd5b5600a165627a7a7230582023df32360b765c93c5364c1676be1a1671cf6b2f1b22c4e3e170ec36faa31b210029
Deployed Bytecode
0x6060604052600436106100c15763ffffffff60e060020a600035041663144fa6d781146100cc578063229f3e29146100eb5780632c4e722e146101105780634042b66f14610123578063521eb273146101365780638da5cb5b146101655780638ed20fa014610178578063a9059cbb1461018b578063ab0bcc41146101c1578063c10b9358146101d4578063de8801e5146101e7578063deaa59df146101fa578063ec8ac4d814610219578063f2fde38b1461022d578063fc0c546a1461024c575b6100ca3361025f565b005b34156100d757600080fd5b6100ca600160a060020a03600435166103be565b34156100f657600080fd5b6100fe610408565b60405190815260200160405180910390f35b341561011b57600080fd5b6100fe61040e565b341561012e57600080fd5b6100fe610414565b341561014157600080fd5b61014961041a565b604051600160a060020a03909116815260200160405180910390f35b341561017057600080fd5b610149610429565b341561018357600080fd5b6100fe610438565b341561019657600080fd5b6101ad600160a060020a03600435166024356104b2565b604051901515815260200160405180910390f35b34156101cc57600080fd5b6100fe610560565b34156101df57600080fd5b6100fe610566565b34156101f257600080fd5b6100fe61056c565b341561020557600080fd5b6100ca600160a060020a0360043516610572565b6100ca600160a060020a036004351661025f565b341561023857600080fd5b6100ca600160a060020a03600435166105bc565b341561025757600080fd5b610149610657565b600080600160a060020a038316151561027757600080fd5b61027f610666565b151561028a57600080fd5b6007543492506102a190839063ffffffff6106b616565b90506003544210156102d2576102cf604b6102c383606463ffffffff6106b616565b9063ffffffff6106ec16565b90505b6008546102e5908363ffffffff61070316565b600855600154600160a060020a031663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561034757600080fd5b6102c65a03f1151561035857600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a36103b9610712565b505050565b60005433600160a060020a039081169116146103d957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60075481565b60085481565b600654600160a060020a031681565b600054600160a060020a031681565b600154600090600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561049357600080fd5b6102c65a03f115156104a457600080fd5b505050604051805191505090565b6000805433600160a060020a039081169116146104ce57600080fd5b816104d7610438565b10156104df57fe5b600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561053e57600080fd5b6102c65a03f1151561054f57600080fd5b505050604051805190505092915050565b60045481565b60055481565b60025481565b60005433600160a060020a0390811691161461058d57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146105d757600080fd5b600160a060020a03811615156105ec57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b600080600080600254421015801561068057506003544211155b9250600454421015801561069657506005544211155b91505034151582806106a55750815b80156106ae5750805b935050505090565b6000808315156106c957600091506106e5565b508282028284828115156106d957fe5b04146106e157fe5b8091505b5092915050565b60008082848115156106fa57fe5b04949350505050565b6000828201838110156106e157fe5b600654600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561074657600080fd5b5600a165627a7a7230582023df32360b765c93c5364c1676be1a1671cf6b2f1b22c4e3e170ec36faa31b210029
Swarm Source
bzzr://23df32360b765c93c5364c1676be1a1671cf6b2f1b22c4e3e170ec36faa31b21
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.