ETH Price: $2,683.02 (+0.54%)

Token

eHealth First (EHF)
 

Overview

Max Total Supply

100,000,000 EHF

Holders

253

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
8,670 EHF

Value
$0.00
0xbac8631b4b7b07e1600daa18182a418e2cb9c32d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Ehfirst

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-08
*/

/*
This file is part of the eHealth First Contract.

www.ehfirst.io

An IT-platform for Personalized Health and Longevity Management
based on Blockchain, Artificial Intelligence,
Machine Learning and Natural Language Processing

The eHealth First Contract is free software: you can redistribute it and/or
modify it under the terms of the GNU lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

The eHealth First Contract is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU lesser General Public License for more details.

You should have received a copy of the GNU lesser General Public License
along with the eHealth First Contract. If not, see <http://www.gnu.org/licenses/>.

@author Ilya Svirin <[email protected]>

IF YOU ARE ENJOYED IT DONATE TO 0x3Ad38D1060d1c350aF29685B2b8Ec3eDE527452B ! :)
*/


pragma solidity ^0.4.19;

contract owned {

    address public owner;
    address public candidate;

  function owned() public payable {
         owner = msg.sender;
     }
    
    modifier onlyOwner {
        require(owner == msg.sender);
        _;
    }

    function changeOwner(address _owner) onlyOwner public {
        require(_owner != 0);
        candidate = _owner;
    }
    
    function confirmOwner() public {
        require(candidate == msg.sender);
        owner = candidate;
        delete candidate;
    }
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
    uint public totalSupply;
    function balanceOf(address who) public constant returns (uint);
    function transfer(address to, uint value) public;
    function allowance(address owner, address spender) public constant returns (uint);
    function transferFrom(address from, address to, uint value) public;
    function approve(address spender, uint value) public;
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
}

contract Token is owned, ERC20 {

    string  public standard    = 'Token 0.1';
    string  public name        = 'eHealth First';
    string  public symbol      = "EHF";
    uint8   public decimals    = 8;

    uint    public freezedMoment;

    struct TokenHolder {
        uint balance;
        uint balanceBeforeUpdate;
        uint balanceUpdateTime;
    }
    mapping (address => TokenHolder) public holders;
    mapping (address => uint) public vesting;
    mapping (address => mapping (address => uint256)) public allowed;

    address public vestingManager;

    function setVestingManager(address _vestingManager) public onlyOwner {
        vestingManager = _vestingManager;
    }

    function beforeBalanceChanges(address _who) internal {
        if (holders[_who].balanceUpdateTime <= freezedMoment) {
            holders[_who].balanceUpdateTime = now;
            holders[_who].balanceBeforeUpdate = holders[_who].balance;
        }
    }

    event Burned(address indexed owner, uint256 value);

    function Token() public owned() {}

    function balanceOf(address _who) constant public returns (uint) {
        return holders[_who].balance;
    }

    function transfer(address _to, uint256 _value) public {
        require(now > vesting[msg.sender] || msg.sender == vestingManager);
        require(holders[_to].balance + _value >= holders[_to].balance); // overflow
        beforeBalanceChanges(msg.sender);
        beforeBalanceChanges(_to);
        holders[msg.sender].balance -= _value;
        holders[_to].balance += _value;
        if (vesting[_to] < vesting[msg.sender]) {
            vesting[_to] = vesting[msg.sender];
        }
        emit Transfer(msg.sender, _to, _value);
    }
    
    function transferFrom(address _from, address _to, uint256 _value) public {
        require(now > vesting[_from]);
        require(holders[_to].balance + _value >= holders[_to].balance); // overflow
        require(allowed[_from][msg.sender] >= _value);
        beforeBalanceChanges(_from);
        beforeBalanceChanges(_to);
        holders[_from].balance -= _value;
        holders[_to].balance += _value;
        allowed[_from][msg.sender] -= _value;
        emit Transfer(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
    }

    function allowance(address _owner, address _spender) public constant
        returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
    
    function burn(uint256 _value) public {
        require(holders[msg.sender].balance >= _value);
        beforeBalanceChanges(msg.sender);
        holders[msg.sender].balance -= _value;
        totalSupply -= _value;
        emit Burned(msg.sender, _value);
    }
}

contract Crowdsale is Token {

    address public backend;

    uint public stage;
    bool public started;
    uint public startTokenPriceWei;
    uint public tokensForSale;
    uint public startTime;
    uint public lastTokenPriceWei;
    uint public milliPercent; // "25" means 0.25%
    uint public paymentsCount; // restart on each stage
    bool public sealed;
    modifier notSealed {
        require(sealed == false);
        _;
    }

    event Mint(address indexed _who, uint _tokens, uint _coinType, bytes32 _txHash);
    event Stage(uint _stage, bool startNotFinish);

    function Crowdsale() public Token() {
        totalSupply = 100000000*100000000;
        holders[this].balance = totalSupply;
    }

    function startStage(uint _startTokenPriceWei, uint _tokensForSale, uint _milliPercent) public onlyOwner notSealed {
        require(!started);
        require(_startTokenPriceWei >= lastTokenPriceWei);
        startTokenPriceWei = _startTokenPriceWei;
        tokensForSale = _tokensForSale * 100000000;
        if(tokensForSale > holders[this].balance) {
            tokensForSale = holders[this].balance;
        }
        milliPercent = _milliPercent;
        startTime = now;
        started = true;
        paymentsCount = 0;
        emit Stage(stage, started);
    }
    
    function currentTokenPrice() public constant returns(uint) {
        uint price;
        if(!sealed && started) {
            uint d = (now - startTime) / 1 days;
            price = startTokenPriceWei;
            price += startTokenPriceWei * d * milliPercent / 100;
        }
        return price;
    }
    
    function stopStage() public onlyOwner notSealed {
        require(started);
        started = false;
        lastTokenPriceWei = currentTokenPrice();
        emit Stage(stage, started);
        ++stage;
    }
    
    function () payable public notSealed {
        require(started);
        uint price = currentTokenPrice();
        if(paymentsCount < 100) {
            price = price * 90 / 100;
        }
        ++paymentsCount;
        uint tokens = 100000000 * msg.value / price;
        if(tokens > tokensForSale) {
            tokens = tokensForSale;
            uint sumWei = tokens * lastTokenPriceWei / 100000000;
            require(msg.sender.call.gas(3000000).value(msg.value - sumWei)());
        }
        require(tokens > 0);
        require(holders[msg.sender].balance + tokens > holders[msg.sender].balance); // overflow
        tokensForSale -= tokens;
        beforeBalanceChanges(msg.sender);
        beforeBalanceChanges(this);
        holders[msg.sender].balance += tokens;
        holders[this].balance -= tokens;
        emit Transfer(this, msg.sender, tokens);
    }

    function mintTokens1(address _who, uint _tokens, uint _coinType, bytes32 _txHash) public notSealed {
        require(msg.sender == owner || msg.sender == backend);
        require(started);
        _tokens *= 100000000;
        if(_tokens > tokensForSale) {
            _tokens = tokensForSale;
        }
        require(_tokens > 0);
        require(holders[_who].balance + _tokens > holders[_who].balance); // overflow
        tokensForSale -= _tokens;
        beforeBalanceChanges(_who);
        beforeBalanceChanges(this);
        holders[_who].balance += _tokens;
        holders[this].balance -= _tokens;
        emit Mint(_who, _tokens, _coinType, _txHash);
        emit Transfer(this, _who, _tokens);
    }
    
    // must be called by owners only out of stage
    function mintTokens2(address _who, uint _tokens, uint _vesting) public notSealed {
        require(msg.sender == owner || msg.sender == backend);
        require(!started);
        require(_tokens > 0);
        _tokens *= 100000000;
        require(_tokens <= holders[this].balance);
        require(holders[_who].balance + _tokens > holders[_who].balance); // overflow
        if(_vesting != 0) {
            vesting[_who] = _vesting;
        }
        beforeBalanceChanges(_who);
        beforeBalanceChanges(this);
        holders[_who].balance += _tokens;
        holders[this].balance -= _tokens;
        emit Mint(_who, _tokens, 0, 0);
        emit Transfer(this, _who, _tokens);
    }

    // need to seal Crowdsale when it is finished completely
    function seal() public onlyOwner {
        sealed = true;
    }
}

contract Ehfirst is Crowdsale {

   function Ehfirst() payable public Crowdsale() {}

    function setBackend(address _backend) public onlyOwner {
        backend = _backend;
    }
    
    function withdraw() public onlyOwner {
        require(owner.call.gas(3000000).value(address(this).balance)());
    }
    
    function freezeTheMoment() public onlyOwner {
        freezedMoment = now;
    }

    /** Get balance of _who for freezed moment
     *  freezeTheMoment()
     */
    function freezedBalanceOf(address _who) constant public returns(uint) {
        if (holders[_who].balanceUpdateTime <= freezedMoment) {
            return holders[_who].balance;
        } else {
            return holders[_who].balanceBeforeUpdate;
        }
    }
}

Contract Security Audit

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":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"backend","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensForSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freezeTheMoment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_vestingManager","type":"address"}],"name":"setVestingManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"holders","outputs":[{"name":"balance","type":"uint256"},{"name":"balanceBeforeUpdate","type":"uint256"},{"name":"balanceUpdateTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"started","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"freezedBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"milliPercent","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":"lastTokenPriceWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"seal","outputs":[],"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":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"candidate","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startTokenPriceWei","type":"uint256"},{"name":"_tokensForSale","type":"uint256"},{"name":"_milliPercent","type":"uint256"}],"name":"startStage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentTokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTokenPriceWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_tokens","type":"uint256"},{"name":"_coinType","type":"uint256"},{"name":"_txHash","type":"bytes32"}],"name":"mintTokens1","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":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paymentsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopStage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_tokens","type":"uint256"},{"name":"_vesting","type":"uint256"}],"name":"mintTokens2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"confirmOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"freezedMoment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_backend","type":"address"}],"name":"setBackend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vestingManager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"vesting","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sealed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_who","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_coinType","type":"uint256"},{"indexed":false,"name":"_txHash","type":"bytes32"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_stage","type":"uint256"},{"indexed":false,"name":"startNotFinish","type":"bool"}],"name":"Stage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burned","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"},{"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"}]

606060405260408051908101604052600981527f546f6b656e20302e310000000000000000000000000000000000000000000000602082015260039080516200004d92916020019062000137565b5060408051908101604052600d81527f654865616c746820466972737400000000000000000000000000000000000000602082015260049080516200009792916020019062000137565b5060408051908101604052600381527f454846000000000000000000000000000000000000000000000000000000000060208201526005908051620000e192916020019062000137565b506006805460ff1916600890811790915560008054600160a060020a03338116600160a060020a0319909216919091178255662386f26fc1000060028190553090911682526020929092526040902055620001dc565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017a57805160ff1916838001178555620001aa565b82800160010185558215620001aa579182015b82811115620001aa5782518255916020019190600101906200018d565b50620001b8929150620001bc565b5090565b620001d991905b80821115620001b85760008155600101620001c3565b90565b6115c680620001ec6000396000f3006060604052600436106101f85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610351578063095ea7b3146103db578063099e4133146103ff57806312aef8c31461042e578063147e51f41461045357806315d7b2c41461046657806318160ddd1461048557806318a5bbdc146104985780631f2698ab146104db5780631fa5e43b1461050257806323b872dd146105215780632cc763e714610549578063313ce5671461055c5780633ab966f4146105855780633ccfd60b146105985780633fb27b85146105ab57806342966c68146105be5780635a3b7e42146105d45780635c658165146105e75780636c8381f81461060c5780636cdacfc41461061f57806370a082311461063b57806371b3659e1461065a57806378e979251461066d5780637bbfb0bd146106805780638383671b146106935780638da5cb5b146106bb57806395d89b41146106ce578063a6f9dae1146106e1578063a9059cbb14610700578063aafab1e814610722578063ae1c406214610735578063ae81f51b14610748578063bd9b6d861461076d578063c040e6b814610780578063c878136814610793578063da7fc24f146107a6578063db27b8dd146107c5578063dd62ed3e146107d8578063e388c423146107fd578063e4b203ef1461081c575b6015546000908190819060ff161561020f57600080fd5b600e5460ff16151561022057600080fd5b61022861082f565b92506064601454101561023f576064605a84020492505b601480546001019055826305f5e100340281151561025957fe5b0491506010548211156102a95750506010546012546305f5e10090820204600160a060020a033316622dc6c034839003604051600060405180830381858888f1935050505015156102a957600080fd5b600082116102b657600080fd5b600160a060020a033316600090815260086020526040902054828101116102dc57600080fd5b6010805483900390556102ee33610882565b6102f730610882565b600160a060020a03338116600081815260086020526040808220805487019055309093168082529083902080548690039055909160008051602061157b8339815191529085905190815260200160405180910390a3505050005b341561035c57600080fd5b6103646108d0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103a0578082015183820152602001610388565b50505050905090810190601f1680156103cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e657600080fd5b6103fd600160a060020a036004351660243561096e565b005b341561040a57600080fd5b6104126109d2565b604051600160a060020a03909116815260200160405180910390f35b341561043957600080fd5b6104416109e1565b60405190815260200160405180910390f35b341561045e57600080fd5b6103fd6109e7565b341561047157600080fd5b6103fd600160a060020a0360043516610a08565b341561049057600080fd5b610441610a52565b34156104a357600080fd5b6104b7600160a060020a0360043516610a58565b60405180848152602001838152602001828152602001935050505060405180910390f35b34156104e657600080fd5b6104ee610a79565b604051901515815260200160405180910390f35b341561050d57600080fd5b610441600160a060020a0360043516610a82565b341561052c57600080fd5b6103fd600160a060020a0360043581169060243516604435610aeb565b341561055457600080fd5b610441610bf3565b341561056757600080fd5b61056f610bf9565b60405160ff909116815260200160405180910390f35b341561059057600080fd5b610441610c02565b34156105a357600080fd5b6103fd610c08565b34156105b657600080fd5b6103fd610c5c565b34156105c957600080fd5b6103fd600435610c86565b34156105df57600080fd5b610364610d15565b34156105f257600080fd5b610441600160a060020a0360043581169060243516610d80565b341561061757600080fd5b610412610d9d565b341561062a57600080fd5b6103fd600435602435604435610dac565b341561064657600080fd5b610441600160a060020a0360043516610ea7565b341561066557600080fd5b61044161082f565b341561067857600080fd5b610441610ec2565b341561068b57600080fd5b610441610ec8565b341561069e57600080fd5b6103fd600160a060020a0360043516602435604435606435610ece565b34156106c657600080fd5b610412611041565b34156106d957600080fd5b610364611050565b34156106ec57600080fd5b6103fd600160a060020a03600435166110bb565b341561070b57600080fd5b6103fd600160a060020a036004351660243561111a565b341561072d57600080fd5b61044161123a565b341561074057600080fd5b6103fd611240565b341561075357600080fd5b6103fd600160a060020a03600435166024356044356112e1565b341561077857600080fd5b6103fd611480565b341561078b57600080fd5b6104416114cf565b341561079e57600080fd5b6104416114d5565b34156107b157600080fd5b6103fd600160a060020a03600435166114db565b34156107d057600080fd5b610412611525565b34156107e357600080fd5b610441600160a060020a0360043581169060243516611534565b341561080857600080fd5b610441600160a060020a036004351661155f565b341561082757600080fd5b6104ee611571565b6015546000908190819060ff1615801561084b5750600e5460ff165b1561087c5760115462015180904203049050600f549150606460135482600f54020281151561087657fe5b04820191505b50919050565b600754600160a060020a038216600090815260086020526040902060020154116108cd57600160a060020a038116600090815260086020526040902042600282015580546001909101555b50565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109665780601f1061093b57610100808354040283529160200191610966565b820191906000526020600020905b81548152906001019060200180831161094957829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35050565b600c54600160a060020a031681565b60105481565b60005433600160a060020a03908116911614610a0257600080fd5b42600755565b60005433600160a060020a03908116911614610a2357600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025481565b60086020526000908152604090208054600182015460029092015490919083565b600e5460ff1681565b600754600160a060020a03821660009081526008602052604081206002015490919011610ac85750600160a060020a038116600090815260086020526040902054610ae6565b50600160a060020a0381166000908152600860205260409020600101545b919050565b600160a060020a0383166000908152600960205260409020544211610b0f57600080fd5b600160a060020a0382166000908152600860205260409020548181011015610b3657600080fd5b600160a060020a038084166000908152600a60209081526040808320339094168352929052205481901015610b6a57600080fd5b610b7383610882565b610b7c82610882565b600160a060020a03808416600081815260086020908152604080832080548790039055868516808452818420805488019055848452600a835281842033909616845294909152908190208054859003905560008051602061157b8339815191529084905190815260200160405180910390a3505050565b60135481565b60065460ff1681565b60125481565b60005433600160a060020a03908116911614610c2357600080fd5b600054600160a060020a0390811690622dc6c090301631604051600060405180830381858888f193505050501515610c5a57600080fd5b565b60005433600160a060020a03908116911614610c7757600080fd5b6015805460ff19166001179055565b600160a060020a03331660009081526008602052604090205481901015610cac57600080fd5b610cb533610882565b600160a060020a03331660008181526008602052604090819020805484900390556002805484900390557f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79083905190815260200160405180910390a250565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109665780601f1061093b57610100808354040283529160200191610966565b600a60209081526000928352604080842090915290825290205481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610dc757600080fd5b60155460ff1615610dd757600080fd5b600e5460ff1615610de757600080fd5b601254831015610df657600080fd5b600f8390556305f5e10082026010819055600160a060020a033016600090815260086020526040902054901115610e4457600160a060020a0330166000908152600860205260409020546010555b601381905542601155600e805460ff1916600117908190556000601455600d547fc7a1a1848efa6c0bdd8291da8a9615a4a2d621c7e7ee249ec029633bb54466029160ff16604051918252151560208201526040908101905180910390a1505050565b600160a060020a031660009081526008602052604090205490565b60115481565b600f5481565b60155460ff1615610ede57600080fd5b60005433600160a060020a0390811691161480610f095750600c5433600160a060020a039081169116145b1515610f1457600080fd5b600e5460ff161515610f2557600080fd5b6305f5e10083029250601054831115610f3e5760105492505b60008311610f4b57600080fd5b600160a060020a03841660009081526008602052604090205483810111610f7157600080fd5b601080548490039055610f8384610882565b610f8c30610882565b600160a060020a0380851660008181526008602052604080822080548801905530909316815282902080548690039055907fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d908590859085905192835260208301919091526040808301919091526060909101905180910390a283600160a060020a031630600160a060020a031660008051602061157b8339815191528560405190815260200160405180910390a350505050565b600054600160a060020a031681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109665780601f1061093b57610100808354040283529160200191610966565b60005433600160a060020a039081169116146110d657600080fd5b600160a060020a03811615156110eb57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03331660009081526009602052604090205442118061114e5750600b5433600160a060020a039081169116145b151561115957600080fd5b600160a060020a038216600090815260086020526040902054818101101561118057600080fd5b61118933610882565b61119282610882565b600160a060020a0333811660008181526008602090815260408083208054879003905593861680835284832080548701905592825260099052828120549181529190912054101561120157600160a060020a033381166000908152600960205260408082205492851682529020555b81600160a060020a031633600160a060020a031660008051602061157b8339815191528360405190815260200160405180910390a35050565b60145481565b60005433600160a060020a0390811691161461125b57600080fd5b60155460ff161561126b57600080fd5b600e5460ff16151561127c57600080fd5b600e805460ff1916905561128e61082f565b601255600d54600e547fc7a1a1848efa6c0bdd8291da8a9615a4a2d621c7e7ee249ec029633bb5446602919060ff16604051918252151560208201526040908101905180910390a1600d80546001019055565b60155460ff16156112f157600080fd5b60005433600160a060020a039081169116148061131c5750600c5433600160a060020a039081169116145b151561132757600080fd5b600e5460ff161561133757600080fd5b6000821161134457600080fd5b600160a060020a0330166000908152600860205260409020546305f5e100929092029182111561137357600080fd5b600160a060020a0383166000908152600860205260409020548281011161139957600080fd5b80156113bb57600160a060020a03831660009081526009602052604090208190555b6113c483610882565b6113cd30610882565b600160a060020a038084166000818152600860205260408082208054870190553090931681528281208054869003905590917fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d91859181905192835260208301919091526040808301919091526060909101905180910390a282600160a060020a031630600160a060020a031660008051602061157b8339815191528460405190815260200160405180910390a3505050565b60015433600160a060020a0390811691161461149b57600080fd5b600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600d5481565b60075481565b60005433600160a060020a039081169116146114f657600080fd5b600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600b54600160a060020a031681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60096020526000908152604090205481565b60155460ff16815600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820766b7f614718398b2eb10ee708fe7defc37d5778363afb5532aa26126e91f2c00029

Deployed Bytecode

0x6060604052600436106101f85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610351578063095ea7b3146103db578063099e4133146103ff57806312aef8c31461042e578063147e51f41461045357806315d7b2c41461046657806318160ddd1461048557806318a5bbdc146104985780631f2698ab146104db5780631fa5e43b1461050257806323b872dd146105215780632cc763e714610549578063313ce5671461055c5780633ab966f4146105855780633ccfd60b146105985780633fb27b85146105ab57806342966c68146105be5780635a3b7e42146105d45780635c658165146105e75780636c8381f81461060c5780636cdacfc41461061f57806370a082311461063b57806371b3659e1461065a57806378e979251461066d5780637bbfb0bd146106805780638383671b146106935780638da5cb5b146106bb57806395d89b41146106ce578063a6f9dae1146106e1578063a9059cbb14610700578063aafab1e814610722578063ae1c406214610735578063ae81f51b14610748578063bd9b6d861461076d578063c040e6b814610780578063c878136814610793578063da7fc24f146107a6578063db27b8dd146107c5578063dd62ed3e146107d8578063e388c423146107fd578063e4b203ef1461081c575b6015546000908190819060ff161561020f57600080fd5b600e5460ff16151561022057600080fd5b61022861082f565b92506064601454101561023f576064605a84020492505b601480546001019055826305f5e100340281151561025957fe5b0491506010548211156102a95750506010546012546305f5e10090820204600160a060020a033316622dc6c034839003604051600060405180830381858888f1935050505015156102a957600080fd5b600082116102b657600080fd5b600160a060020a033316600090815260086020526040902054828101116102dc57600080fd5b6010805483900390556102ee33610882565b6102f730610882565b600160a060020a03338116600081815260086020526040808220805487019055309093168082529083902080548690039055909160008051602061157b8339815191529085905190815260200160405180910390a3505050005b341561035c57600080fd5b6103646108d0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103a0578082015183820152602001610388565b50505050905090810190601f1680156103cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e657600080fd5b6103fd600160a060020a036004351660243561096e565b005b341561040a57600080fd5b6104126109d2565b604051600160a060020a03909116815260200160405180910390f35b341561043957600080fd5b6104416109e1565b60405190815260200160405180910390f35b341561045e57600080fd5b6103fd6109e7565b341561047157600080fd5b6103fd600160a060020a0360043516610a08565b341561049057600080fd5b610441610a52565b34156104a357600080fd5b6104b7600160a060020a0360043516610a58565b60405180848152602001838152602001828152602001935050505060405180910390f35b34156104e657600080fd5b6104ee610a79565b604051901515815260200160405180910390f35b341561050d57600080fd5b610441600160a060020a0360043516610a82565b341561052c57600080fd5b6103fd600160a060020a0360043581169060243516604435610aeb565b341561055457600080fd5b610441610bf3565b341561056757600080fd5b61056f610bf9565b60405160ff909116815260200160405180910390f35b341561059057600080fd5b610441610c02565b34156105a357600080fd5b6103fd610c08565b34156105b657600080fd5b6103fd610c5c565b34156105c957600080fd5b6103fd600435610c86565b34156105df57600080fd5b610364610d15565b34156105f257600080fd5b610441600160a060020a0360043581169060243516610d80565b341561061757600080fd5b610412610d9d565b341561062a57600080fd5b6103fd600435602435604435610dac565b341561064657600080fd5b610441600160a060020a0360043516610ea7565b341561066557600080fd5b61044161082f565b341561067857600080fd5b610441610ec2565b341561068b57600080fd5b610441610ec8565b341561069e57600080fd5b6103fd600160a060020a0360043516602435604435606435610ece565b34156106c657600080fd5b610412611041565b34156106d957600080fd5b610364611050565b34156106ec57600080fd5b6103fd600160a060020a03600435166110bb565b341561070b57600080fd5b6103fd600160a060020a036004351660243561111a565b341561072d57600080fd5b61044161123a565b341561074057600080fd5b6103fd611240565b341561075357600080fd5b6103fd600160a060020a03600435166024356044356112e1565b341561077857600080fd5b6103fd611480565b341561078b57600080fd5b6104416114cf565b341561079e57600080fd5b6104416114d5565b34156107b157600080fd5b6103fd600160a060020a03600435166114db565b34156107d057600080fd5b610412611525565b34156107e357600080fd5b610441600160a060020a0360043581169060243516611534565b341561080857600080fd5b610441600160a060020a036004351661155f565b341561082757600080fd5b6104ee611571565b6015546000908190819060ff1615801561084b5750600e5460ff165b1561087c5760115462015180904203049050600f549150606460135482600f54020281151561087657fe5b04820191505b50919050565b600754600160a060020a038216600090815260086020526040902060020154116108cd57600160a060020a038116600090815260086020526040902042600282015580546001909101555b50565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109665780601f1061093b57610100808354040283529160200191610966565b820191906000526020600020905b81548152906001019060200180831161094957829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35050565b600c54600160a060020a031681565b60105481565b60005433600160a060020a03908116911614610a0257600080fd5b42600755565b60005433600160a060020a03908116911614610a2357600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025481565b60086020526000908152604090208054600182015460029092015490919083565b600e5460ff1681565b600754600160a060020a03821660009081526008602052604081206002015490919011610ac85750600160a060020a038116600090815260086020526040902054610ae6565b50600160a060020a0381166000908152600860205260409020600101545b919050565b600160a060020a0383166000908152600960205260409020544211610b0f57600080fd5b600160a060020a0382166000908152600860205260409020548181011015610b3657600080fd5b600160a060020a038084166000908152600a60209081526040808320339094168352929052205481901015610b6a57600080fd5b610b7383610882565b610b7c82610882565b600160a060020a03808416600081815260086020908152604080832080548790039055868516808452818420805488019055848452600a835281842033909616845294909152908190208054859003905560008051602061157b8339815191529084905190815260200160405180910390a3505050565b60135481565b60065460ff1681565b60125481565b60005433600160a060020a03908116911614610c2357600080fd5b600054600160a060020a0390811690622dc6c090301631604051600060405180830381858888f193505050501515610c5a57600080fd5b565b60005433600160a060020a03908116911614610c7757600080fd5b6015805460ff19166001179055565b600160a060020a03331660009081526008602052604090205481901015610cac57600080fd5b610cb533610882565b600160a060020a03331660008181526008602052604090819020805484900390556002805484900390557f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79083905190815260200160405180910390a250565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109665780601f1061093b57610100808354040283529160200191610966565b600a60209081526000928352604080842090915290825290205481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610dc757600080fd5b60155460ff1615610dd757600080fd5b600e5460ff1615610de757600080fd5b601254831015610df657600080fd5b600f8390556305f5e10082026010819055600160a060020a033016600090815260086020526040902054901115610e4457600160a060020a0330166000908152600860205260409020546010555b601381905542601155600e805460ff1916600117908190556000601455600d547fc7a1a1848efa6c0bdd8291da8a9615a4a2d621c7e7ee249ec029633bb54466029160ff16604051918252151560208201526040908101905180910390a1505050565b600160a060020a031660009081526008602052604090205490565b60115481565b600f5481565b60155460ff1615610ede57600080fd5b60005433600160a060020a0390811691161480610f095750600c5433600160a060020a039081169116145b1515610f1457600080fd5b600e5460ff161515610f2557600080fd5b6305f5e10083029250601054831115610f3e5760105492505b60008311610f4b57600080fd5b600160a060020a03841660009081526008602052604090205483810111610f7157600080fd5b601080548490039055610f8384610882565b610f8c30610882565b600160a060020a0380851660008181526008602052604080822080548801905530909316815282902080548690039055907fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d908590859085905192835260208301919091526040808301919091526060909101905180910390a283600160a060020a031630600160a060020a031660008051602061157b8339815191528560405190815260200160405180910390a350505050565b600054600160a060020a031681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109665780601f1061093b57610100808354040283529160200191610966565b60005433600160a060020a039081169116146110d657600080fd5b600160a060020a03811615156110eb57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a03331660009081526009602052604090205442118061114e5750600b5433600160a060020a039081169116145b151561115957600080fd5b600160a060020a038216600090815260086020526040902054818101101561118057600080fd5b61118933610882565b61119282610882565b600160a060020a0333811660008181526008602090815260408083208054879003905593861680835284832080548701905592825260099052828120549181529190912054101561120157600160a060020a033381166000908152600960205260408082205492851682529020555b81600160a060020a031633600160a060020a031660008051602061157b8339815191528360405190815260200160405180910390a35050565b60145481565b60005433600160a060020a0390811691161461125b57600080fd5b60155460ff161561126b57600080fd5b600e5460ff16151561127c57600080fd5b600e805460ff1916905561128e61082f565b601255600d54600e547fc7a1a1848efa6c0bdd8291da8a9615a4a2d621c7e7ee249ec029633bb5446602919060ff16604051918252151560208201526040908101905180910390a1600d80546001019055565b60155460ff16156112f157600080fd5b60005433600160a060020a039081169116148061131c5750600c5433600160a060020a039081169116145b151561132757600080fd5b600e5460ff161561133757600080fd5b6000821161134457600080fd5b600160a060020a0330166000908152600860205260409020546305f5e100929092029182111561137357600080fd5b600160a060020a0383166000908152600860205260409020548281011161139957600080fd5b80156113bb57600160a060020a03831660009081526009602052604090208190555b6113c483610882565b6113cd30610882565b600160a060020a038084166000818152600860205260408082208054870190553090931681528281208054869003905590917fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d91859181905192835260208301919091526040808301919091526060909101905180910390a282600160a060020a031630600160a060020a031660008051602061157b8339815191528460405190815260200160405180910390a3505050565b60015433600160a060020a0390811691161461149b57600080fd5b600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600d5481565b60075481565b60005433600160a060020a039081169116146114f657600080fd5b600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600b54600160a060020a031681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60096020526000908152604090205481565b60155460ff16815600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820766b7f614718398b2eb10ee708fe7defc37d5778363afb5532aa26126e91f2c00029

Swarm Source

bzzr://766b7f614718398b2eb10ee708fe7defc37d5778363afb5532aa26126e91f2c0
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.