ETH Price: $3,431.16 (+3.33%)

Token

TLS Token (TLS)
 

Overview

Max Total Supply

20,000,000 TLS

Holders

4,589 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
100 TLS

Value
$0.00
0xc642c0a1791d3ece6b98fc12c072dc653b9f6661
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Our technology and business model, combined with our platform, allows everyone to profit from green energy generation.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-02-09
*/

/*! tls.token.sol | (c) 2018 Develop by BelovITLab LLC (smartcontract.ru), author @stupidlovejoy | License: MIT */

pragma solidity 0.4.25;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns(uint256) {
        if(a == 0) return 0;
        uint256 c = a * b;
        require(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns(uint256) {
        require(b > 0);
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns(uint256) {
        require(b <= a);
        uint256 c = a - b;
        return c;
    }

    function add(uint256 a, uint256 b) internal pure returns(uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns(uint256) {
        require(b != 0);
        return a % b;
    }
}

contract Ownable {
    address public owner;
    address public new_owner;

    event OwnershipTransfer(address indexed previousOwner, address indexed newOwner);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    constructor() public {
        owner = msg.sender;
    }

    function _transferOwnership(address _to) internal {
        require(_to != address(0));

        new_owner = _to;

        emit OwnershipTransfer(owner, _to);
    }

    function acceptOwnership() public {
        require(new_owner != address(0) && msg.sender == new_owner);

        emit OwnershipTransferred(owner, new_owner);

        owner = new_owner;
        new_owner = address(0);
    }

    function transferOwnership(address _to) public onlyOwner {
        _transferOwnership(_to);
    }
}

contract ERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() public view returns(uint256);
    function balanceOf(address who) public view returns(uint256);
    function transfer(address to, uint256 value) public returns(bool);
    function transferFrom(address from, address to, uint256 value) public returns(bool);
    function allowance(address owner, address spender) public view returns(uint256);
    function approve(address spender, uint256 value) public returns(bool);
}

contract StandardToken is ERC20 {
    using SafeMath for uint256;

    uint256 internal totalSupply_;

    string public name;
    string public symbol;
    uint8 public decimals;

    mapping(address => uint256) public balances;
    mapping(address => mapping(address => uint256)) internal allowed;

    constructor(string _name, string _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    function totalSupply() public view returns(uint256) {
        return totalSupply_;
    }

    function balanceOf(address _owner) public view returns(uint256) {
        return balances[_owner];
    }

    function transfer(address _to, uint256 _value) public returns(bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function multiTransfer(address[] _to, uint256[] _value) public returns(bool) {
        require(_to.length == _value.length);

        for(uint i = 0; i < _to.length; i++) {
            transfer(_to[i], _value[i]);
        }

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns(bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

        emit Transfer(_from, _to, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns(uint256) {
        return allowed[_owner][_spender];
    }

    function approve(address _spender, uint256 _value) public returns(bool) {
        require(_spender != address(0));
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function increaseApproval(address _spender, uint _addedValue) public returns(bool) {
        require(_spender != address(0));
        require(_addedValue > 0);

        allowed[msg.sender][_spender] = (allowed[msg.sender][_spender].add(_addedValue));

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public returns(bool) {
        require(_spender != address(0));
        require(_subtractedValue > 0);

        uint oldValue = allowed[msg.sender][_spender];

        if(_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        }
        else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

contract MintableToken is StandardToken, Ownable {
    bool public mintingFinished = false;

    event Mint(address indexed to, uint256 amount);
    event MintFinished();

    modifier canMint() { require(!mintingFinished); _; }
    modifier hasMintPermission() { require(msg.sender == owner); _; }

    function mint(address _to, uint256 _amount) hasMintPermission canMint public returns(bool) {
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);

        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    function finishMinting() onlyOwner canMint public returns(bool) {
        mintingFinished = true;

        emit MintFinished();
        return true;
    }
}

contract CappedToken is MintableToken {
    uint256 public cap;

    constructor(uint256 _cap) public {
        require(_cap > 0);
        cap = _cap;
    }

    function mint(address _to, uint256 _amount) public returns(bool) {
        require(totalSupply_.add(_amount) <= cap);

        return super.mint(_to, _amount);
    }
}

contract BurnableToken is StandardToken {
    event Burn(address indexed burner, uint256 value);

    function _burn(address _who, uint256 _value) internal {
        require(_value <= balances[_who]);

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);

        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
    }

    function burn(uint256 _value) public {
        _burn(msg.sender, _value);
    }

    function burnFrom(address _from, uint256 _value) public {
        require(_value <= allowed[_from][msg.sender]);
        
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        _burn(_from, _value);
    }
}

contract Withdrawable is Ownable {
    event WithdrawEther(address indexed to, uint value);

    function withdrawEther(address _to, uint _value) onlyOwner public {
        require(_to != address(0));
        require(address(this).balance >= _value);

        _to.transfer(_value);

        emit WithdrawEther(_to, _value);
    }

    function withdrawTokensTransfer(ERC20 _token, address _to, uint256 _value) onlyOwner public {
        require(_token.transfer(_to, _value));
    }

    function withdrawTokensTransferFrom(ERC20 _token, address _from, address _to, uint256 _value) onlyOwner public {
        require(_token.transferFrom(_from, _to, _value));
    }

    function withdrawTokensApprove(ERC20 _token, address _spender, uint256 _value) onlyOwner public {
        require(_token.approve(_spender, _value));
    }
}

contract Pausable is Ownable {
    bool public paused = false;

    event Pause();
    event Unpause();

    modifier whenNotPaused() { require(!paused); _; }
    modifier whenPaused() { require(paused); _; }

    function pause() onlyOwner whenNotPaused public {
        paused = true;
        emit Pause();
    }

    function unpause() onlyOwner whenPaused public {
        paused = false;
        emit Unpause();
    }
}

contract Manageable is Ownable {
    address[] public managers;

    event ManagerAdded(address indexed manager);
    event ManagerRemoved(address indexed manager);

    modifier onlyManager() { require(isManager(msg.sender)); _; }

    function countManagers() view public returns(uint) {
        return managers.length;
    }

    function getManagers() view public returns(address[]) {
        return managers;
    }

    function isManager(address _manager) view public returns(bool) {
        for(uint i = 0; i < managers.length; i++) {
            if(managers[i] == _manager) {
                return true;
            }
        }
        return false;
    }

    function addManager(address _manager) onlyOwner public {
        require(_manager != address(0));
        require(!isManager(_manager));

        managers.push(_manager);

        emit ManagerAdded(_manager);
    }

    function removeManager(address _manager) onlyOwner public {
        uint index = managers.length;
        for(uint i = 0; i < managers.length; i++) {
            if(managers[i] == _manager) {
                index = i;
            }
        }

        if(index >= managers.length) revert();

        for(; index < managers.length - 1; index++) {
            managers[index] = managers[index + 1];
        }
        
        managers.length--;
        emit ManagerRemoved(_manager);
    }
}

contract RewardToken is StandardToken, Ownable {
    struct Payment {
        uint time;
        uint amount;
    }

    Payment[] public repayments;
    mapping(address => Payment[]) public rewards;

    event Repayment(address indexed from, uint256 amount);
    event Reward(address indexed to, uint256 amount);

    function repayment() onlyOwner payable public {
        require(msg.value >= 0.01 ether);

        repayments.push(Payment({time : block.timestamp, amount : msg.value}));

        emit Repayment(msg.sender, msg.value);
    }

    function _reward(address _to) private returns(bool) {
        if(rewards[_to].length < repayments.length) {
            uint sum = 0;
            for(uint i = rewards[_to].length; i < repayments.length; i++) {
                uint amount = balances[_to] > 0 ? (repayments[i].amount * balances[_to] / totalSupply_) : 0;
                rewards[_to].push(Payment({time : block.timestamp, amount : amount}));
                sum += amount;
            }

            if(sum > 0) {
                _to.transfer(sum);
                emit Reward(_to, sum);
            }

            return true;
        }
        return false;
    }

    function reward() public returns(bool) {
        return _reward(msg.sender);
    }

    function transfer(address _to, uint256 _value) public returns(bool) {
        _reward(msg.sender);
        _reward(_to);
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns(bool) {
        _reward(_from);
        _reward(_to);
        return super.transferFrom(_from, _to, _value);
    }
}


contract Token is RewardToken, CappedToken, BurnableToken, Withdrawable {
    constructor() CappedToken(20000000 * 1e8) StandardToken("TLS Token", "TLS", 8) public {
        
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"repayment","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_value","type":"uint256[]"}],"name":"multiTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reward","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"new_owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensApprove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","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":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"repayments","outputs":[{"name":"time","type":"uint256"},{"name":"amount","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":"","type":"address"},{"name":"","type":"uint256"}],"name":"rewards","outputs":[{"name":"time","type":"uint256"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"WithdrawEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Repayment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Reward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052600a805460ff191690553480156200001b57600080fd5b50604080518082018252600981527f544c5320546f6b656e000000000000000000000000000000000000000000000060208083019182528351808501909452600384527f544c53000000000000000000000000000000000000000000000000000000000090840152815166071afd498d00009391600891620000a091600191620000f7565b508151620000b6906002906020850190620000f7565b506003805460ff90921660ff19909216919091179055505060068054600160a060020a0319163317905560008111620000ee57600080fd5b600b556200019c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013a57805160ff19168380011785556200016a565b828001600101855582156200016a579182015b828111156200016a5782518255916020019190600101906200014d565b50620001789291506200017c565b5090565b6200019991905b8082111562000178576000815560010162000183565b90565b6117ce80620001ac6000396000f3006080604052600436106101715763ffffffff60e060020a60003504166305d2035b811461017657806306fdde031461019f578063095ea7b31461022957806317cd802d1461024d57806318160ddd146102575780631e89d5451461027e578063228cb7331461030c57806323b872dd1461032157806327e235e31461034b578063313ce5671461036c578063355274ea1461039757806340c10f19146103ac57806342966c68146103d05780634552b04f146103e8578063522f681514610419578063661884631461043d5780636cf7ccac1461046157806370a0823114610491578063757b8cf4146104b257806379ba5097146104dc57806379cc6790146104f15780637d64bcb4146105155780638da5cb5b1461052a57806395d89b411461053f578063a85f376114610554578063a9059cbb14610585578063b933ceac146105a9578063d73dd623146105cd578063dd62ed3e146105f1578063f0595dd114610618578063f2fde38b14610642575b600080fd5b34801561018257600080fd5b5061018b610663565b604080519115158252519081900360200190f35b3480156101ab57600080fd5b506101b461066c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ee5781810151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061018b600160a060020a03600435166024356106f9565b6102556107b0565b005b34801561026357600080fd5b5061026c610889565b60408051918252519081900360200190f35b34801561028a57600080fd5b506040805160206004803580820135838102808601850190965280855261018b95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061088f9650505050505050565b34801561031857600080fd5b5061018b6108fa565b34801561032d57600080fd5b5061018b600160a060020a036004358116906024351660443561090a565b34801561035757600080fd5b5061026c600160a060020a0360043516610933565b34801561037857600080fd5b50610381610945565b6040805160ff9092168252519081900360200190f35b3480156103a357600080fd5b5061026c61094e565b3480156103b857600080fd5b5061018b600160a060020a0360043516602435610954565b3480156103dc57600080fd5b5061025560043561098a565b3480156103f457600080fd5b506103fd610997565b60408051600160a060020a039092168252519081900360200190f35b34801561042557600080fd5b50610255600160a060020a03600435166024356109a6565b34801561044957600080fd5b5061018b600160a060020a0360043516602435610a5a565b34801561046d57600080fd5b50610255600160a060020a0360043581169060243581169060443516606435610b70565b34801561049d57600080fd5b5061026c600160a060020a0360043516610c38565b3480156104be57600080fd5b50610255600160a060020a0360043581169060243516604435610c53565b3480156104e857600080fd5b50610255610d09565b3480156104fd57600080fd5b50610255600160a060020a0360043516602435610dab565b34801561052157600080fd5b5061018b610e41565b34801561053657600080fd5b506103fd610ea7565b34801561054b57600080fd5b506101b4610eb6565b34801561056057600080fd5b5061056c600435610f0e565b6040805192835260208301919091528051918290030190f35b34801561059157600080fd5b5061018b600160a060020a0360043516602435610f3a565b3480156105b557600080fd5b5061056c600160a060020a0360043516602435610f5a565b3480156105d957600080fd5b5061018b600160a060020a0360043516602435610f95565b3480156105fd57600080fd5b5061026c600160a060020a0360043581169060243516611052565b34801561062457600080fd5b50610255600160a060020a036004358116906024351660443561107d565b34801561064e57600080fd5b50610255600160a060020a03600435166110f7565b600a5460ff1681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000600160a060020a038316151561071057600080fd5b81158061073e5750336000908152600560209081526040808320600160a060020a0387168452909152902054155b151561074957600080fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600654600160a060020a031633146107c757600080fd5b662386f26fc100003410156107db57600080fd5b6040805180820182524281523460208083018281526008805460018101825560009190915293517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3600290950294850155517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee4909301929092558251908152915133927fbb284f7f8cb8b1b8c98ee9a7d765413efc44bbb17352a0302ada1d737cdaef1b92908290030190a2565b60005490565b600080825184511415156108a257600080fd5b5060005b83518110156108f0576108e784828151811015156108c057fe5b9060200190602002015184838151811015156108d857fe5b90602001906020020151610f3a565b506001016108a6565b5060019392505050565b600061090533611117565b905090565b600061091584611117565b5061091f83611117565b5061092b8484846112cb565b949350505050565b60046020526000908152604090205481565b60035460ff1681565b600b5481565b6000600b5461096e8360005461143290919063ffffffff16565b111561097957600080fd5b6109838383611444565b9392505050565b6109943382611536565b50565b600754600160a060020a031681565b600654600160a060020a031633146109bd57600080fd5b600160a060020a03821615156109d257600080fd5b30318111156109e057600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610a16573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fdb35132c111efe920cede025e819975671cfd1b8fcc1174762c8670c4e94c211919081900360200190a25050565b600080600160a060020a0384161515610a7257600080fd5b60008311610a7f57600080fd5b50336000908152600560209081526040808320600160a060020a038716845290915290205480831115610ad557336000908152600560209081526040808320600160a060020a0388168452909152812055610b0a565b610ae5818463ffffffff61162616565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600654600160a060020a03163314610b8757600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b158015610bfb57600080fd5b505af1158015610c0f573d6000803e3d6000fd5b505050506040513d6020811015610c2557600080fd5b50511515610c3257600080fd5b50505050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a03163314610c6a57600080fd5b82600160a060020a031663095ea7b383836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b50511515610d0457600080fd5b505050565b600754600160a060020a031615801590610d2d5750600754600160a060020a031633145b1515610d3857600080fd5b600754600654604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546006805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600160a060020a0382166000908152600560209081526040808320338452909152902054811115610ddb57600080fd5b600160a060020a0382166000908152600560209081526040808320338452909152902054610e0f908263ffffffff61162616565b600160a060020a0383166000908152600560209081526040808320338452909152902055610e3d8282611536565b5050565b600654600090600160a060020a03163314610e5b57600080fd5b600a5460ff1615610e6b57600080fd5b600a805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600654600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b6008805482908110610f1c57fe5b60009182526020909120600290910201805460019091015490915082565b6000610f4533611117565b50610f4f83611117565b50610983838361163d565b600960205281600052604060002081815481101515610f7557fe5b600091825260209091206002909102018054600190910154909250905082565b6000600160a060020a0383161515610fac57600080fd5b60008211610fb957600080fd5b336000908152600560209081526040808320600160a060020a0387168452909152902054610fed908363ffffffff61143216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600654600160a060020a0316331461109457600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610ccd57600080fd5b600654600160a060020a0316331461110e57600080fd5b6109948161170e565b600854600160a060020a038216600090815260096020526040812054909182918291829110156112be57600160a060020a03851660009081526009602052604081205490935091505b60085482101561123557600160a060020a0385166000908152600460205260408120541161118f5760006111d6565b60008054600160a060020a0387168252600460205260409091205460088054859081106111b857fe5b906000526020600020906002020160010154028115156111d457fe5b045b600160a060020a0386166000908152600960209081526040808320815180830190925242825281830185815281546001818101845592865293909420915160029093029091019182559151908201559381019392909201919050611160565b60008311156112b557604051600160a060020a0386169084156108fc029085906000818181858888f19350505050158015611274573d6000803e3d6000fd5b50604080518481529051600160a060020a038716917f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9919081900360200190a25b600193506112c3565b600093505b505050919050565b6000600160a060020a03831615156112e257600080fd5b600160a060020a03841660009081526004602052604090205482111561130757600080fd5b600160a060020a038416600090815260056020908152604080832033845290915290205482111561133757600080fd5b600160a060020a038416600090815260046020526040902054611360908363ffffffff61162616565b600160a060020a038086166000908152600460205260408082209390935590851681522054611395908363ffffffff61143216565b600160a060020a0380851660009081526004602090815260408083209490945591871681526005825282812033825290915220546113d9908363ffffffff61162616565b600160a060020a0380861660008181526005602090815260408083203384528252918290209490945580518681529051928716939192600080516020611783833981519152929181900390910190a35060019392505050565b60008282018381101561098357600080fd5b600654600090600160a060020a0316331461145e57600080fd5b600a5460ff161561146e57600080fd5b600054611481908363ffffffff61143216565b6000908155600160a060020a0384168152600460205260409020546114ac908363ffffffff61143216565b600160a060020a038416600081815260046020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206117838339815191529181900360200190a350600192915050565b600160a060020a03821660009081526004602052604090205481111561155b57600080fd5b600160a060020a038216600090815260046020526040902054611584908263ffffffff61162616565b600160a060020a038316600090815260046020526040812091909155546115b1908263ffffffff61162616565b600055604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206117838339815191529181900360200190a35050565b6000808383111561163657600080fd5b5050900390565b6000600160a060020a038316151561165457600080fd5b3360009081526004602052604090205482111561167057600080fd5b33600090815260046020526040902054611690908363ffffffff61162616565b3360009081526004602052604080822092909255600160a060020a038516815220546116c2908363ffffffff61143216565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233926000805160206117838339815191529281900390910190a350600192915050565b600160a060020a038116151561172357600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116918217909255600654604051919216907f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca90600090a3505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a6c1b18d2757a255003dc4e4764fd60f68fe8b3ce50479b6f2342b41261750430029

Deployed Bytecode

0x6080604052600436106101715763ffffffff60e060020a60003504166305d2035b811461017657806306fdde031461019f578063095ea7b31461022957806317cd802d1461024d57806318160ddd146102575780631e89d5451461027e578063228cb7331461030c57806323b872dd1461032157806327e235e31461034b578063313ce5671461036c578063355274ea1461039757806340c10f19146103ac57806342966c68146103d05780634552b04f146103e8578063522f681514610419578063661884631461043d5780636cf7ccac1461046157806370a0823114610491578063757b8cf4146104b257806379ba5097146104dc57806379cc6790146104f15780637d64bcb4146105155780638da5cb5b1461052a57806395d89b411461053f578063a85f376114610554578063a9059cbb14610585578063b933ceac146105a9578063d73dd623146105cd578063dd62ed3e146105f1578063f0595dd114610618578063f2fde38b14610642575b600080fd5b34801561018257600080fd5b5061018b610663565b604080519115158252519081900360200190f35b3480156101ab57600080fd5b506101b461066c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ee5781810151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061018b600160a060020a03600435166024356106f9565b6102556107b0565b005b34801561026357600080fd5b5061026c610889565b60408051918252519081900360200190f35b34801561028a57600080fd5b506040805160206004803580820135838102808601850190965280855261018b95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375094975061088f9650505050505050565b34801561031857600080fd5b5061018b6108fa565b34801561032d57600080fd5b5061018b600160a060020a036004358116906024351660443561090a565b34801561035757600080fd5b5061026c600160a060020a0360043516610933565b34801561037857600080fd5b50610381610945565b6040805160ff9092168252519081900360200190f35b3480156103a357600080fd5b5061026c61094e565b3480156103b857600080fd5b5061018b600160a060020a0360043516602435610954565b3480156103dc57600080fd5b5061025560043561098a565b3480156103f457600080fd5b506103fd610997565b60408051600160a060020a039092168252519081900360200190f35b34801561042557600080fd5b50610255600160a060020a03600435166024356109a6565b34801561044957600080fd5b5061018b600160a060020a0360043516602435610a5a565b34801561046d57600080fd5b50610255600160a060020a0360043581169060243581169060443516606435610b70565b34801561049d57600080fd5b5061026c600160a060020a0360043516610c38565b3480156104be57600080fd5b50610255600160a060020a0360043581169060243516604435610c53565b3480156104e857600080fd5b50610255610d09565b3480156104fd57600080fd5b50610255600160a060020a0360043516602435610dab565b34801561052157600080fd5b5061018b610e41565b34801561053657600080fd5b506103fd610ea7565b34801561054b57600080fd5b506101b4610eb6565b34801561056057600080fd5b5061056c600435610f0e565b6040805192835260208301919091528051918290030190f35b34801561059157600080fd5b5061018b600160a060020a0360043516602435610f3a565b3480156105b557600080fd5b5061056c600160a060020a0360043516602435610f5a565b3480156105d957600080fd5b5061018b600160a060020a0360043516602435610f95565b3480156105fd57600080fd5b5061026c600160a060020a0360043581169060243516611052565b34801561062457600080fd5b50610255600160a060020a036004358116906024351660443561107d565b34801561064e57600080fd5b50610255600160a060020a03600435166110f7565b600a5460ff1681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000600160a060020a038316151561071057600080fd5b81158061073e5750336000908152600560209081526040808320600160a060020a0387168452909152902054155b151561074957600080fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600654600160a060020a031633146107c757600080fd5b662386f26fc100003410156107db57600080fd5b6040805180820182524281523460208083018281526008805460018101825560009190915293517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3600290950294850155517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee4909301929092558251908152915133927fbb284f7f8cb8b1b8c98ee9a7d765413efc44bbb17352a0302ada1d737cdaef1b92908290030190a2565b60005490565b600080825184511415156108a257600080fd5b5060005b83518110156108f0576108e784828151811015156108c057fe5b9060200190602002015184838151811015156108d857fe5b90602001906020020151610f3a565b506001016108a6565b5060019392505050565b600061090533611117565b905090565b600061091584611117565b5061091f83611117565b5061092b8484846112cb565b949350505050565b60046020526000908152604090205481565b60035460ff1681565b600b5481565b6000600b5461096e8360005461143290919063ffffffff16565b111561097957600080fd5b6109838383611444565b9392505050565b6109943382611536565b50565b600754600160a060020a031681565b600654600160a060020a031633146109bd57600080fd5b600160a060020a03821615156109d257600080fd5b30318111156109e057600080fd5b604051600160a060020a0383169082156108fc029083906000818181858888f19350505050158015610a16573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fdb35132c111efe920cede025e819975671cfd1b8fcc1174762c8670c4e94c211919081900360200190a25050565b600080600160a060020a0384161515610a7257600080fd5b60008311610a7f57600080fd5b50336000908152600560209081526040808320600160a060020a038716845290915290205480831115610ad557336000908152600560209081526040808320600160a060020a0388168452909152812055610b0a565b610ae5818463ffffffff61162616565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600654600160a060020a03163314610b8757600080fd5b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b158015610bfb57600080fd5b505af1158015610c0f573d6000803e3d6000fd5b505050506040513d6020811015610c2557600080fd5b50511515610c3257600080fd5b50505050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a03163314610c6a57600080fd5b82600160a060020a031663095ea7b383836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b50511515610d0457600080fd5b505050565b600754600160a060020a031615801590610d2d5750600754600160a060020a031633145b1515610d3857600080fd5b600754600654604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546006805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600160a060020a0382166000908152600560209081526040808320338452909152902054811115610ddb57600080fd5b600160a060020a0382166000908152600560209081526040808320338452909152902054610e0f908263ffffffff61162616565b600160a060020a0383166000908152600560209081526040808320338452909152902055610e3d8282611536565b5050565b600654600090600160a060020a03163314610e5b57600080fd5b600a5460ff1615610e6b57600080fd5b600a805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600654600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b6008805482908110610f1c57fe5b60009182526020909120600290910201805460019091015490915082565b6000610f4533611117565b50610f4f83611117565b50610983838361163d565b600960205281600052604060002081815481101515610f7557fe5b600091825260209091206002909102018054600190910154909250905082565b6000600160a060020a0383161515610fac57600080fd5b60008211610fb957600080fd5b336000908152600560209081526040808320600160a060020a0387168452909152902054610fed908363ffffffff61143216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600654600160a060020a0316331461109457600080fd5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610ccd57600080fd5b600654600160a060020a0316331461110e57600080fd5b6109948161170e565b600854600160a060020a038216600090815260096020526040812054909182918291829110156112be57600160a060020a03851660009081526009602052604081205490935091505b60085482101561123557600160a060020a0385166000908152600460205260408120541161118f5760006111d6565b60008054600160a060020a0387168252600460205260409091205460088054859081106111b857fe5b906000526020600020906002020160010154028115156111d457fe5b045b600160a060020a0386166000908152600960209081526040808320815180830190925242825281830185815281546001818101845592865293909420915160029093029091019182559151908201559381019392909201919050611160565b60008311156112b557604051600160a060020a0386169084156108fc029085906000818181858888f19350505050158015611274573d6000803e3d6000fd5b50604080518481529051600160a060020a038716917f619caafabdd75649b302ba8419e48cccf64f37f1983ac4727cfb38b57703ffc9919081900360200190a25b600193506112c3565b600093505b505050919050565b6000600160a060020a03831615156112e257600080fd5b600160a060020a03841660009081526004602052604090205482111561130757600080fd5b600160a060020a038416600090815260056020908152604080832033845290915290205482111561133757600080fd5b600160a060020a038416600090815260046020526040902054611360908363ffffffff61162616565b600160a060020a038086166000908152600460205260408082209390935590851681522054611395908363ffffffff61143216565b600160a060020a0380851660009081526004602090815260408083209490945591871681526005825282812033825290915220546113d9908363ffffffff61162616565b600160a060020a0380861660008181526005602090815260408083203384528252918290209490945580518681529051928716939192600080516020611783833981519152929181900390910190a35060019392505050565b60008282018381101561098357600080fd5b600654600090600160a060020a0316331461145e57600080fd5b600a5460ff161561146e57600080fd5b600054611481908363ffffffff61143216565b6000908155600160a060020a0384168152600460205260409020546114ac908363ffffffff61143216565b600160a060020a038416600081815260046020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206117838339815191529181900360200190a350600192915050565b600160a060020a03821660009081526004602052604090205481111561155b57600080fd5b600160a060020a038216600090815260046020526040902054611584908263ffffffff61162616565b600160a060020a038316600090815260046020526040812091909155546115b1908263ffffffff61162616565b600055604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206117838339815191529181900360200190a35050565b6000808383111561163657600080fd5b5050900390565b6000600160a060020a038316151561165457600080fd5b3360009081526004602052604090205482111561167057600080fd5b33600090815260046020526040902054611690908363ffffffff61162616565b3360009081526004602052604080822092909255600160a060020a038516815220546116c2908363ffffffff61143216565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233926000805160206117838339815191529281900390910190a350600192915050565b600160a060020a038116151561172357600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116918217909255600654604051919216907f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca90600090a3505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a6c1b18d2757a255003dc4e4764fd60f68fe8b3ce50479b6f2342b41261750430029

Swarm Source

bzzr://a6c1b18d2757a255003dc4e4764fd60f68fe8b3ce50479b6f2342b4126175043
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.