Latest 4 txns

TxHash Age From To Value [TxFee]
0xcb360e24e44d02ec164abf1e67fa7dd6d096cd007e2d742bf3e99b7ecfd582c694 days 21 hrs ago0xc2f8ee415561b8d14597edd4263ee9364d501139  IN   0x877a5552347782c664bca10fd6c55312a0b392f40 Ether0.000051739
0x21b135b3190b5071e28503a2524382f3d4595d3d8c4cdeacd5b42236b38b2bfc95 days 23 hrs ago0xc2f8ee415561b8d14597edd4263ee9364d501139  IN   0x877a5552347782c664bca10fd6c55312a0b392f40 Ether0.000036739
0x7f218af434ac025edf4277f77388eb32efd135d32106e76acdfa3db15744ab3195 days 23 hrs ago0xc2f8ee415561b8d14597edd4263ee9364d501139  IN   0x877a5552347782c664bca10fd6c55312a0b392f40 Ether0.000051675
0xdcf44c50225a19a5b361e498fdd836bf4e004a1cec5cdacd6f6a49587796d01096 days 21 hrs ago0xc2f8ee415561b8d14597edd4263ee9364d501139  IN    Contract Creation0 Ether0.001275696
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: TCC
Compiler Text: v0.4.23+commit.124ca40d
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.23;

// ----------------------------------------------------------------------------
// FlexibleToken that allows the owner to update the symbol and name of the
// token, until the contract is locked down
//
// Deploy with the following:
// - string _symbol, e.g. 'FLX'
// - string _name, e.g. 'FlexibleToken'
// - uint8 _decimals, e.g. 18
// - uint _initialSupply, e.g. 1,000,000.000000000000000000 for 1 mil with 18
//   decimals
//
// Owner can call `setSymbol("xyz")` to update the symbol and
// `setName("xyz name")` to update the name. Once the owner calls `lock()`,
// the name and symbol can no longer be updated
//
// Note that blockchain explorers may not automatically update the symbol and
// name data when these are changed. You may have to contract them to perform
// a manual update
//
// Enjoy.
//
// (c) BokkyPooBah / Bok Consulting Pty Ltd 2018. The MIT Licence.
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }
    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }
    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }
    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}


// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call,
// borrowed from MiniMeToken
// ----------------------------------------------------------------------------
contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}


// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    constructor() public {
        owner = msg.sender;
    }
    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and an
// initial fixed supply
// ----------------------------------------------------------------------------
contract TCC is ERC20Interface, Owned {
    using SafeMath for uint;

    string public symbol;
    string public  name;
    uint8 public decimals;
    uint public _totalSupply;
    bool public locked = false;

    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;

    event Locked();
    event SymbolUpdated(string oldSymbol, string newSymbol);
    event NameUpdated(string oldName, string newName);

    constructor() public {
        symbol = "TCC";
        name = "TCC";
        decimals = 18;
        _totalSupply = 1000000000e18;
        balances[owner] = _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
    }
    function lock() public onlyOwner {
        require(!locked);
        emit Locked();
        locked = true;
    }
    function setSymbol(string _symbol) public onlyOwner {
        require(!locked);
        emit SymbolUpdated(symbol, _symbol);
        symbol = _symbol;
    }
    function setName(string _name) public onlyOwner {
        require(!locked);
        emit NameUpdated(name, _name);
        name = _name;
    }

    function totalSupply() public constant returns (uint) {
        return _totalSupply  - balances[address(0)];
    }
    function balanceOf(address tokenOwner) public constant returns (uint balance) {
        return balances[tokenOwner];
    }
    function transfer(address to, uint tokens) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }
    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }
    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
        return true;
    }
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }

    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }

    function () public payable {
        revert();
    }
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldSymbol","type":"string"},{"indexed":false,"name":"newSymbol","type":"string"}],"name":"SymbolUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldName","type":"string"},{"indexed":false,"name":"newName","type":"string"}],"name":"NameUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60806040526006805460ff191690553480156200001b57600080fd5b5060008054600160a060020a03191633600160a060020a03161790556040805180820190915260038082527f544343000000000000000000000000000000000000000000000000000000000060209092019182526200007d916002916200013f565b506040805180820190915260038082527f54434300000000000000000000000000000000000000000000000000000000006020909201918252620000c291816200013f565b506004805460ff191660121790556b033b2e3c9fd0803ce8000000600581905560008054600160a060020a0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3620001e4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018257805160ff1916838001178555620001b2565b82800160010185558215620001b2579182015b82811115620001b257825182559160200191906001019062000195565b50620001c0929150620001c4565b5090565b620001e191905b80821115620001c05760008155600101620001cb565b90565b610faf80620001f46000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610116578063095ea7b3146101a057806318160ddd146101d857806323b872dd146101ff578063313ce567146102295780633eaaf86b1461025457806370a082311461026957806379ba50971461028a5780638da5cb5b146102a157806395d89b41146102d2578063a9059cbb146102e7578063b84c82461461030b578063c47f002714610364578063cae9ca51146103bd578063cf30901214610426578063d4ee1d901461043b578063dc39d06d14610450578063dd62ed3e14610474578063f2fde38b1461049b578063f83d08ba146104bc575b600080fd5b34801561012257600080fd5b5061012b6104d1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016557818101518382015260200161014d565b50505050905090810190601f1680156101925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ac57600080fd5b506101c4600160a060020a036004351660243561055f565b604080519115158252519081900360200190f35b3480156101e457600080fd5b506101ed6105ca565b60408051918252519081900360200190f35b34801561020b57600080fd5b506101c4600160a060020a03600435811690602435166044356105fd565b34801561023557600080fd5b5061023e610710565b6040805160ff9092168252519081900360200190f35b34801561026057600080fd5b506101ed610719565b34801561027557600080fd5b506101ed600160a060020a036004351661071f565b34801561029657600080fd5b5061029f61073a565b005b3480156102ad57600080fd5b506102b66107c6565b60408051600160a060020a039092168252519081900360200190f35b3480156102de57600080fd5b5061012b6107d5565b3480156102f357600080fd5b506101c4600160a060020a036004351660243561082d565b34801561031757600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261029f9436949293602493928401919081908401838280828437509497506108ec9650505050505050565b34801561037057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261029f943694929360249392840191908190840183828082843750949750610a419650505050505050565b3480156103c957600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101c4948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610b949650505050505050565b34801561043257600080fd5b506101c4610d17565b34801561044757600080fd5b506102b6610d20565b34801561045c57600080fd5b506101c4600160a060020a0360043516602435610d2f565b34801561048057600080fd5b506101ed600160a060020a0360043581169060243516610dee565b3480156104a757600080fd5b5061029f600160a060020a0360043516610e19565b3480156104c857600080fd5b5061029f610e63565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105575780601f1061052c57610100808354040283529160200191610557565b820191906000526020600020905b81548152906001019060200180831161053a57829003601f168201915b505050505081565b600160a060020a03338116600081815260086020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df54600554035b90565b600160a060020a038316600090815260076020526040812054610626908363ffffffff610ec616565b600160a060020a0380861660009081526007602090815260408083209490945560088152838220339093168252919091522054610669908363ffffffff610ec616565b600160a060020a03808616600090815260086020908152604080832033851684528252808320949094559186168152600790915220546106af908363ffffffff610edb16565b600160a060020a0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b60055481565b600160a060020a031660009081526007602052604090205490565b60015433600160a060020a0390811691161461075557600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105575780601f1061052c57610100808354040283529160200191610557565b600160a060020a033316600090815260076020526040812054610856908363ffffffff610ec616565b600160a060020a03338116600090815260076020526040808220939093559085168152205461088b908363ffffffff610edb16565b600160a060020a038085166000818152600760209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600192915050565b60005433600160a060020a0390811691161461090757600080fd5b60065460ff161561091757600080fd5b604080518181526002805460001961010060018316150201168190049282018390527fe539f7c7cd6b523196945e98454143f55e93314cc40672ad65628a7df42d483f9290918491819060208201906060830190869080156109ba5780601f1061098f576101008083540402835291602001916109ba565b820191906000526020600020905b81548152906001019060200180831161099d57829003601f168201915b5050838103825284518152845160209182019186019080838360005b838110156109ee5781810151838201526020016109d6565b50505050905090810190601f168015610a1b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a18051610a3d906002906020840190610eeb565b5050565b60005433600160a060020a03908116911614610a5c57600080fd5b60065460ff1615610a6c57600080fd5b6040805181815260038054600260001961010060018416150201909116049282018390527ff19e969be7affb98a1d812094e0f24ecca36f1eabd6dd592c97020d47c64a00e929091849181906020820190606083019086908015610b115780601f10610ae657610100808354040283529160200191610b11565b820191906000526020600020905b815481529060010190602001808311610af457829003601f168201915b5050838103825284518152845160209182019186019080838360005b83811015610b45578181015183820152602001610b2d565b50505050905090810190601f168015610b725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a18051610a3d906003906020840190610eeb565b600160a060020a03338116600081815260086020908152604080832094881680845294825280832087905580518781529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a383600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ca6578181015183820152602001610c8e565b50505050905090810190601f168015610cd35780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610cf557600080fd5b505af1158015610d09573d6000803e3d6000fd5b506001979650505050505050565b60065460ff1681565b600154600160a060020a031681565b6000805433600160a060020a03908116911614610d4b57600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015610dbb57600080fd5b505af1158015610dcf573d6000803e3d6000fd5b505050506040513d6020811015610de557600080fd5b50519392505050565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610e3457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a03908116911614610e7e57600080fd5b60065460ff1615610e8e57600080fd5b6040517f0f2e5b6c72c6a4491efd919a9f9a409f324ef0708c11ee57d410c2cb06c0992b90600090a16006805460ff19166001179055565b600082821115610ed557600080fd5b50900390565b818101828110156105c457600080fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f2c57805160ff1916838001178555610f59565b82800160010185558215610f59579182015b82811115610f59578251825591602001919060010190610f3e565b50610f65929150610f69565b5090565b6105fa91905b80821115610f655760008155600101610f6f5600a165627a7a723058206a394dfec2a20a01d2220c521f8c39b02eea7b579cad8a96a517cf4b4bea6c2f0029

   Swarm Source:
bzzr://6a394dfec2a20a01d2220c521f8c39b02eea7b579cad8a96a517cf4b4bea6c2f

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward