Contract 0xbD8d47598B811d8388d41c538570a7a83ee8E330

 
Txn Hash Method
Block
From
To
Value
0x7133473b06627177c960e2b4b049cadc08fa2c7d4b36bd0368453075ea9535e7Transfer49988722018-01-30 8:59:251365 days 9 hrs ago0x08402dfa1bc98db9c5d241c35688b8fbe036a0da IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3301.7 Ether0.0027013550
0x13210389ecf1138b4a71632e903a75c9c8d56bb6d7e612f34d6795aa16d70117Transfer49988632018-01-30 8:57:411365 days 9 hrs ago0x08402dfa1bc98db9c5d241c35688b8fbe036a0da IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3300.1 Ether0.0034513550
0xb4cf1ea509a6ffadcf142739657c65e8be21fce36ff8500814013b542e10a79cTransfer49945432018-01-29 15:23:271366 days 3 hrs ago0xc4fa49d8d6f48f1f223711fa5c7cc967e0e8c747 IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3300.05 Ether0.0034513550
0x1e444b10dd9c0d2c0fd7d0743c2219ed41cf46e680551f5eb8511b64d36b2909Transfer49902712018-01-28 22:00:351366 days 20 hrs ago0xed11ab2e40edf100f51233602e1e4172a6941243 IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3300.04 Ether0.0034513550
0x1bff5cb12443f79fb2fb0d89497e7c2e9071afb6eac4a489e27638f2ec1a2e81Transfer49858212018-01-28 4:21:111367 days 14 hrs ago0x7e8338b95615b679b706ebed28633c97d1632aea IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3300.04516 Ether0.0013805420
0x1484a17e4432f3eca3703b660a2803d6f0e53f7a6f79d2a202f8b031eafdd133Transfer49646212018-01-24 14:51:391371 days 3 hrs ago0x4ff2bc93df40f6a7fd6931851467919edf8fb437 IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3300.01 Ether0.00344510741
0x33e07af9638481bb89c2df3babc702b9c5f99aaa1f4766462ebe9cbd5138c24bSet Token49645522018-01-24 14:32:291371 days 3 hrs ago0x9faea63793905a13d0ee367613a3406dacc5d594 IN  0xbd8d47598b811d8388d41c538570a7a83ee8e3300 Ether0.00178645241
0xf04b4b330f5acc11db7c785a8205f3fe8198130e111680f7b39d78772c10eed80x6060604049645372018-01-24 14:27:101371 days 4 hrs ago0x9faea63793905a13d0ee367613a3406dacc5d594 IN  Create: ClickableTV0 Ether0.02902328541
[ Download CSV Export 
Latest 6 internal transactions
Parent Txn Hash Block From To Value
0x7133473b06627177c960e2b4b049cadc08fa2c7d4b36bd0368453075ea9535e749988722018-01-30 8:59:251365 days 9 hrs ago 0xbd8d47598b811d8388d41c538570a7a83ee8e3300x9faea63793905a13d0ee367613a3406dacc5d5941.7 Ether
0x13210389ecf1138b4a71632e903a75c9c8d56bb6d7e612f34d6795aa16d7011749988632018-01-30 8:57:411365 days 9 hrs ago 0xbd8d47598b811d8388d41c538570a7a83ee8e3300x9faea63793905a13d0ee367613a3406dacc5d5940.1 Ether
0xb4cf1ea509a6ffadcf142739657c65e8be21fce36ff8500814013b542e10a79c49945432018-01-29 15:23:271366 days 3 hrs ago 0xbd8d47598b811d8388d41c538570a7a83ee8e3300x9faea63793905a13d0ee367613a3406dacc5d5940.05 Ether
0x1e444b10dd9c0d2c0fd7d0743c2219ed41cf46e680551f5eb8511b64d36b290949902712018-01-28 22:00:351366 days 20 hrs ago 0xbd8d47598b811d8388d41c538570a7a83ee8e3300x9faea63793905a13d0ee367613a3406dacc5d5940.04 Ether
0x1bff5cb12443f79fb2fb0d89497e7c2e9071afb6eac4a489e27638f2ec1a2e8149858212018-01-28 4:21:111367 days 14 hrs ago 0xbd8d47598b811d8388d41c538570a7a83ee8e3300x9faea63793905a13d0ee367613a3406dacc5d5940.04516 Ether
0x1484a17e4432f3eca3703b660a2803d6f0e53f7a6f79d2a202f8b031eafdd13349646212018-01-24 14:51:391371 days 3 hrs ago 0xbd8d47598b811d8388d41c538570a7a83ee8e3300x9faea63793905a13d0ee367613a3406dacc5d5940.01 Ether
[ Download CSV Export 
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
/**
 *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

Contract ABI

[{"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"}]

6060604052635a63d800600255635a97427f600355635a974280600455635b108c7f6005556103e8600755341561003557600080fd5b60008054600160a060020a033316600160a060020a031991821681179092556006805490911690911790556107748061006f6000396000f3006060604052600436106100c15763ffffffff60e060020a600035041663144fa6d781146100cc578063229f3e29146100eb5780632c4e722e146101105780634042b66f14610123578063521eb273146101365780638da5cb5b146101655780638ed20fa014610178578063a9059cbb1461018b578063ab0bcc41146101c1578063c10b9358146101d4578063de8801e5146101e7578063deaa59df146101fa578063ec8ac4d814610219578063f2fde38b1461022d578063fc0c546a1461024c575b6100ca3361025f565b005b34156100d757600080fd5b6100ca600160a060020a03600435166103be565b34156100f657600080fd5b6100fe610408565b60405190815260200160405180910390f35b341561011b57600080fd5b6100fe61040e565b341561012e57600080fd5b6100fe610414565b341561014157600080fd5b61014961041a565b604051600160a060020a03909116815260200160405180910390f35b341561017057600080fd5b610149610429565b341561018357600080fd5b6100fe610438565b341561019657600080fd5b6101ad600160a060020a03600435166024356104b2565b604051901515815260200160405180910390f35b34156101cc57600080fd5b6100fe610560565b34156101df57600080fd5b6100fe610566565b34156101f257600080fd5b6100fe61056c565b341561020557600080fd5b6100ca600160a060020a0360043516610572565b6100ca600160a060020a036004351661025f565b341561023857600080fd5b6100ca600160a060020a03600435166105bc565b341561025757600080fd5b610149610657565b600080600160a060020a038316151561027757600080fd5b61027f610666565b151561028a57600080fd5b6007543492506102a190839063ffffffff6106b616565b90506003544210156102d2576102cf604b6102c383606463ffffffff6106b616565b9063ffffffff6106ec16565b90505b6008546102e5908363ffffffff61070316565b600855600154600160a060020a031663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561034757600080fd5b6102c65a03f1151561035857600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a36103b9610712565b505050565b60005433600160a060020a039081169116146103d957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60075481565b60085481565b600654600160a060020a031681565b600054600160a060020a031681565b600154600090600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561049357600080fd5b6102c65a03f115156104a457600080fd5b505050604051805191505090565b6000805433600160a060020a039081169116146104ce57600080fd5b816104d7610438565b10156104df57fe5b600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561053e57600080fd5b6102c65a03f1151561054f57600080fd5b505050604051805190505092915050565b60045481565b60055481565b60025481565b60005433600160a060020a0390811691161461058d57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146105d757600080fd5b600160a060020a03811615156105ec57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b600080600080600254421015801561068057506003544211155b9250600454421015801561069657506005544211155b91505034151582806106a55750815b80156106ae5750805b935050505090565b6000808315156106c957600091506106e5565b508282028284828115156106d957fe5b04146106e157fe5b8091505b5092915050565b60008082848115156106fa57fe5b04949350505050565b6000828201838110156106e157fe5b600654600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561074657600080fd5b5600a165627a7a7230582023df32360b765c93c5364c1676be1a1671cf6b2f1b22c4e3e170ec36faa31b210029

Swarm Source

bzzr://23df32360b765c93c5364c1676be1a1671cf6b2f1b22c4e3e170ec36faa31b21
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.