ETH Price: $3,736.21 (-5.26%)

Token

ERC-20: ZAN Coin (ZAN)
 

Overview

Max Total Supply

7,148,375 ZAN

Holders

1,753

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
100 ZAN

Value
$0.00
0xdd017da9adce6b65b33bfc6734c82fbe62c810f9
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:
ZanCoin

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-04-11
*/

pragma solidity ^0.4.21;

// ----------------------------------------------------------------------------
// ZAN token contract
//
// Symbol      : ZAN
// Name        : ZAN Coin
// Total supply: 17,148,385.000000000000000000
// Decimals    : 18
//
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        assert(c >= a);
    }

    function sub(uint a, uint b) internal pure returns (uint c) {
        assert(b <= a);
        c = a - b;
    }

    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        assert(a == 0 || c / a == b);
    }

    function div(uint a, uint b) internal pure returns (uint c) {
        assert(b > 0);
        c = a / b;
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.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, uint tokens, address token, bytes data) public;
}


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

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

    function Owned() public {
        owner = msg.sender;
    }

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

    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 ZanCoin is ERC20Interface, Owned {
    using SafeMath for uint;
    
    // ------------------------------------------------------------------------
    // Metadata
    // ------------------------------------------------------------------------
    string public symbol;
    string public  name;
    uint8 public decimals;
    uint public _totalSupply;

    mapping(address => uint) public balances;
    mapping(address => mapping(address => uint)) public allowed;
    
    // ------------------------------------------------------------------------
    // Crowdsale data
    // ------------------------------------------------------------------------
    bool public isInPreSaleState;
    bool public isInRoundOneState;
    bool public isInRoundTwoState;
    bool public isInFinalState;
    uint public stateStartDate;
    uint public stateEndDate;
    uint public saleCap;
    uint public exchangeRate;
    
    uint public burnedTokensCount;

    event SwitchCrowdSaleStage(string stage, uint exchangeRate);
    event BurnTokens(address indexed burner, uint amount);
    event PurchaseZanTokens(address indexed contributor, uint eth_sent, uint zan_received);

    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    function ZanCoin() public {
        symbol = "ZAN";
        name = "ZAN Coin";
        decimals = 18;
        _totalSupply = 17148385 * 10**uint(decimals);
        balances[owner] = _totalSupply;
        
        isInPreSaleState = false;
        isInRoundOneState = false;
        isInRoundTwoState = false;
        isInFinalState = false;
        burnedTokensCount = 0;
    }


    // ------------------------------------------------------------------------
    // Total supply
    // ------------------------------------------------------------------------
    function totalSupply() public constant returns (uint) {
        return _totalSupply - balances[address(0)];
    }


    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public constant returns (uint balance) {
        return balances[tokenOwner];
    }


    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    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;
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account
    //
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
    // recommends that there are no checks for the approval double-spend attack
    // as this should be implemented in user interfaces 
    // ------------------------------------------------------------------------
    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    // 
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    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;
    }


    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account. The `spender` contract function
    // `receiveApproval(...)` is then executed
    // ------------------------------------------------------------------------
    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;
    }


    // ------------------------------------------------------------------------
    // Accepts ETH and transfers ZAN tokens based on exchage rate and state
    // ------------------------------------------------------------------------
    function () public payable {
        uint eth_sent = msg.value;
        uint tokens_amount = eth_sent.mul(exchangeRate);
        
        require(eth_sent > 0);
        require(exchangeRate > 0);
        require(stateStartDate < now && now < stateEndDate);
        require(balances[owner] >= tokens_amount);
        require(_totalSupply - (balances[owner] - tokens_amount) <= saleCap);
        
        // Don't accept ETH in the final state
        require(!isInFinalState);
        require(isInPreSaleState || isInRoundOneState || isInRoundTwoState);
        
        balances[owner] = balances[owner].sub(tokens_amount);
        balances[msg.sender] = balances[msg.sender].add(tokens_amount);
        emit PurchaseZanTokens(msg.sender, eth_sent, tokens_amount);
    }
    
    // ------------------------------------------------------------------------
    // Switches crowdsale stages: PreSale -> Round One -> Round Two
    // ------------------------------------------------------------------------
    function switchCrowdSaleStage() external onlyOwner {
        require(!isInFinalState && !isInRoundTwoState);
        
        if (!isInPreSaleState) {
            isInPreSaleState = true;
            exchangeRate = 1500;
            saleCap = (3 * 10**6) * (uint(10) ** decimals);
            emit SwitchCrowdSaleStage("PreSale", exchangeRate);
        }
        else if (!isInRoundOneState) {
            isInRoundOneState = true;
            exchangeRate = 1200;
            saleCap = saleCap + ((4 * 10**6) * (uint(10) ** decimals));
            emit SwitchCrowdSaleStage("RoundOne", exchangeRate);
        }
        else if (!isInRoundTwoState) {
            isInRoundTwoState = true;
            exchangeRate = 900;
            saleCap = saleCap + ((5 * 10**6) * (uint(10) ** decimals));
            emit SwitchCrowdSaleStage("RoundTwo", exchangeRate);
        }
        
        stateStartDate = now + 5 minutes;
        stateEndDate = stateStartDate + 7 days;
    }
    
    // ------------------------------------------------------------------------
    // Switches to Complete stage of the contract. Sends all funds collected
    // to the contract owner.
    // ------------------------------------------------------------------------
    function completeCrowdSale() external onlyOwner {
        require(!isInFinalState);
        require(isInPreSaleState && isInRoundOneState && isInRoundTwoState);
        
        owner.transfer(address(this).balance);
        exchangeRate = 0;
        isInFinalState = true;
        emit SwitchCrowdSaleStage("Complete", exchangeRate);
    }

    // ------------------------------------------------------------------------
    // Token holders are able to burn their tokens.
    // ------------------------------------------------------------------------
    function burn(uint amount) public {
        require(amount > 0);
        require(amount <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(amount);
        _totalSupply = _totalSupply.sub(amount);
        burnedTokensCount = burnedTokensCount + amount;
        emit BurnTokens(msg.sender, amount);
    }

    // ------------------------------------------------------------------------
    // Owner can transfer out any accidentally sent ERC20 tokens
    // ------------------------------------------------------------------------
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"saleCap","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"isInPreSaleState","outputs":[{"name":"","type":"bool"}],"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":"","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":"isInFinalState","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"completeCrowdSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnedTokensCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isInRoundOneState","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stateEndDate","outputs":[{"name":"","type":"uint256"}],"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":"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":"stateStartDate","outputs":[{"name":"","type":"uint256"}],"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":"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":"isInRoundTwoState","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":"switchCrowdSaleStage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"stage","type":"string"},{"indexed":false,"name":"exchangeRate","type":"uint256"}],"name":"SwitchCrowdSaleStage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"BurnTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contributor","type":"address"},{"indexed":false,"name":"eth_sent","type":"uint256"},{"indexed":false,"name":"zan_received","type":"uint256"}],"name":"PurchaseZanTokens","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"}]

606060405234156200001057600080fd5b60008054600160a060020a03191633600160a060020a031617905560408051908101604052600381527f5a414e0000000000000000000000000000000000000000000000000000000000602082015260029080516200007492916020019062000113565b5060408051908101604052600881527f5a414e20436f696e00000000000000000000000000000000000000000000000060208201526003908051620000be92916020019062000113565b5060048054601260ff19909116179081905560ff16600a0a630105a9e102600581905560008054600160a060020a03168152600660205260408120919091556008805463ffffffff19169055600d55620001b8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015657805160ff191683800117855562000186565b8280016001018555821562000186579182015b828111156200018657825182559160200191906001019062000169565b506200019492915062000198565b5090565b620001b591905b808211156200019457600081556001016200019f565b90565b6112e980620001c86000396000f3006060604052600436106101665763ffffffff60e060020a60003504166306fdde03811461031a578063078fd9ea146103a4578063095ea7b3146103c957806318160ddd146103ff5780632301e7b71461041257806323b872dd1461042557806327e235e31461044d578063313ce5671461046c57806339e3407b146104955780633ba0b9a9146104a85780633eaaf86b146104bb57806342966c68146104ce57806343c35651146104e65780635104a3a7146104f95780635962581e1461050c5780635aab18221461051f5780635c6581651461053257806370a082311461055757806379ba5097146105765780638da5cb5b1461058957806392c9a926146105b857806395d89b41146105cb578063a9059cbb146105de578063cae9ca5114610600578063d1c72c8914610665578063d4ee1d9014610678578063dc39d06d1461068b578063dd62ed3e146106ad578063e8a71012146106d2578063f2fde38b146106e5575b600c54349060009061017f90839063ffffffff61070416565b90506000821161018e57600080fd5b600c546000901161019e57600080fd5b426009541080156101b05750600a5442105b15156101bb57600080fd5b60008054600160a060020a0316815260066020526040902054819010156101e157600080fd5b600b5460008054600160a060020a0316815260066020526040902054600554908390039003111561021157600080fd5b6008546301000000900460ff161561022857600080fd5b60085460ff16806102405750600854610100900460ff165b80610253575060085462010000900460ff165b151561025e57600080fd5b60008054600160a060020a0316815260066020526040902054610287908263ffffffff61072c16565b60008054600160a060020a03908116825260066020526040808320939093553316815220546102bc908263ffffffff61073e16565b600160a060020a0333166000818152600660205260409081902092909255907f99efbf4e4884e446e811fb5264447051b3249ea6449db1a4dd586e2a628b5cd590849084905191825260208201526040908101905180910390a25050005b341561032557600080fd5b61032d61074b565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610369578082015183820152602001610351565b50505050905090810190601f1680156103965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103af57600080fd5b6103b76107e9565b60405190815260200160405180910390f35b34156103d457600080fd5b6103eb600160a060020a03600435166024356107ef565b604051901515815260200160405180910390f35b341561040a57600080fd5b6103b761085b565b341561041d57600080fd5b6103eb61088d565b341561043057600080fd5b6103eb600160a060020a0360043581169060243516604435610896565b341561045857600080fd5b6103b7600160a060020a03600435166109a9565b341561047757600080fd5b61047f6109bb565b60405160ff909116815260200160405180910390f35b34156104a057600080fd5b6103eb6109c4565b34156104b357600080fd5b6103b76109d4565b34156104c657600080fd5b6103b76109da565b34156104d957600080fd5b6104e46004356109e0565b005b34156104f157600080fd5b6104e4610ab2565b341561050457600080fd5b6103b7610bc9565b341561051757600080fd5b6103eb610bcf565b341561052a57600080fd5b6103b7610bdd565b341561053d57600080fd5b6103b7600160a060020a0360043581169060243516610be3565b341561056257600080fd5b6103b7600160a060020a0360043516610c00565b341561058157600080fd5b6104e4610c1b565b341561059457600080fd5b61059c610ca9565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b6103b7610cb8565b34156105d657600080fd5b61032d610cbe565b34156105e957600080fd5b6103eb600160a060020a0360043516602435610d29565b341561060b57600080fd5b6103eb60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610de895505050505050565b341561067057600080fd5b6103eb610f4b565b341561068357600080fd5b61059c610f5a565b341561069657600080fd5b6103eb600160a060020a0360043516602435610f69565b34156106b857600080fd5b6103b7600160a060020a0360043581169060243516610ffc565b34156106dd57600080fd5b6104e4611027565b34156106f057600080fd5b6104e4600160a060020a0360043516611253565b81810282158061071e575081838281151561071b57fe5b04145b151561072657fe5b92915050565b60008282111561073857fe5b50900390565b8181018281101561072657fe5b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e15780601f106107b6576101008083540402835291602001916107e1565b820191906000526020600020905b8154815290600101906020018083116107c457829003601f168201915b505050505081565b600b5481565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546005540390565b60085460ff1681565b600160a060020a0383166000908152600660205260408120546108bf908363ffffffff61072c16565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610902908363ffffffff61072c16565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610948908363ffffffff61073e16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60066020526000908152604090205481565b60045460ff1681565b6008546301000000900460ff1681565b600c5481565b60055481565b600081116109ed57600080fd5b600160a060020a033316600090815260066020526040902054811115610a1257600080fd5b600160a060020a033316600090815260066020526040902054610a3b908263ffffffff61072c16565b600160a060020a033316600090815260066020526040902055600554610a67908263ffffffff61072c16565b600555600d805482019055600160a060020a0333167f388d6102a0230861b4e9646fb5acda1c5ec15d39df2b619d39c25d16a12684908260405190815260200160405180910390a250565b60005433600160a060020a03908116911614610acd57600080fd5b6008546301000000900460ff1615610ae457600080fd5b60085460ff168015610afd5750600854610100900460ff165b8015610b11575060085462010000900460ff165b1515610b1c57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610b5557600080fd5b6000600c8190556008805463ff0000001916630100000017905560008051602061129e83398151915290604051602081019190915260408082526008818301527f436f6d706c65746500000000000000000000000000000000000000000000000060608301526080909101905180910390a1565b600d5481565b600854610100900460ff1681565b600a5481565b600760209081526000928352604080842090915290825290205481565b600160a060020a031660009081526006602052604090205490565b60015433600160a060020a03908116911614610c3657600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b60095481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e15780601f106107b6576101008083540402835291602001916107e1565b600160a060020a033316600090815260066020526040812054610d52908363ffffffff61072c16565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d87908363ffffffff61073e16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a03338116600081815260076020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a0316638f4ffcb1338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ee3578082015183820152602001610ecb565b50505050905090810190601f168015610f105780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610f3157600080fd5b5af11515610f3e57600080fd5b5060019695505050505050565b60085462010000900460ff1681565b600154600160a060020a031681565b6000805433600160a060020a03908116911614610f8557600080fd5b600054600160a060020a038085169163a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610fdf57600080fd5b5af11515610fec57600080fd5b5050506040518051949350505050565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60005433600160a060020a0390811691161461104257600080fd5b6008546301000000900460ff16158015611065575060085462010000900460ff16155b151561107057600080fd5b60085460ff1615156111015760088054600160ff199091161790556105dc600c81905560045460ff16600a0a622dc6c002600b5560008051602061129e83398151915290604051602081019190915260408082526007818301527f50726553616c650000000000000000000000000000000000000000000000000060608301526080909101905180910390a1611240565b600854610100900460ff1615156111a1576008805461010061ff00199091161790556104b0600c819055600454600b805460ff909216600a0a623d090002909101905560008051602061129e83398151915290604051602081019190915260408082526008818301527f526f756e644f6e6500000000000000000000000000000000000000000000000060608301526080909101905180910390a1611240565b60085462010000900460ff16151561124057600880546201000062ff000019909116179055610384600c819055600454600b805460ff909216600a0a624c4b4002909101905560008051602061129e83398151915290604051602081019190915260408082526008818301527f526f756e6454776f00000000000000000000000000000000000000000000000060608301526080909101905180910390a15b4261012c810160095562093bac01600a55565b60005433600160a060020a0390811691161461126e57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055560038a3da6cc59e03892c624dec40e4f39fcfe5834ef28d2852dd77634730814bd7a165627a7a72305820e5cb3134c32ee6c7192d36092a4cbe43f07b47e5ef2044d4942bfcaddaae235e0029

Deployed Bytecode

0x6060604052600436106101665763ffffffff60e060020a60003504166306fdde03811461031a578063078fd9ea146103a4578063095ea7b3146103c957806318160ddd146103ff5780632301e7b71461041257806323b872dd1461042557806327e235e31461044d578063313ce5671461046c57806339e3407b146104955780633ba0b9a9146104a85780633eaaf86b146104bb57806342966c68146104ce57806343c35651146104e65780635104a3a7146104f95780635962581e1461050c5780635aab18221461051f5780635c6581651461053257806370a082311461055757806379ba5097146105765780638da5cb5b1461058957806392c9a926146105b857806395d89b41146105cb578063a9059cbb146105de578063cae9ca5114610600578063d1c72c8914610665578063d4ee1d9014610678578063dc39d06d1461068b578063dd62ed3e146106ad578063e8a71012146106d2578063f2fde38b146106e5575b600c54349060009061017f90839063ffffffff61070416565b90506000821161018e57600080fd5b600c546000901161019e57600080fd5b426009541080156101b05750600a5442105b15156101bb57600080fd5b60008054600160a060020a0316815260066020526040902054819010156101e157600080fd5b600b5460008054600160a060020a0316815260066020526040902054600554908390039003111561021157600080fd5b6008546301000000900460ff161561022857600080fd5b60085460ff16806102405750600854610100900460ff165b80610253575060085462010000900460ff165b151561025e57600080fd5b60008054600160a060020a0316815260066020526040902054610287908263ffffffff61072c16565b60008054600160a060020a03908116825260066020526040808320939093553316815220546102bc908263ffffffff61073e16565b600160a060020a0333166000818152600660205260409081902092909255907f99efbf4e4884e446e811fb5264447051b3249ea6449db1a4dd586e2a628b5cd590849084905191825260208201526040908101905180910390a25050005b341561032557600080fd5b61032d61074b565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610369578082015183820152602001610351565b50505050905090810190601f1680156103965780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103af57600080fd5b6103b76107e9565b60405190815260200160405180910390f35b34156103d457600080fd5b6103eb600160a060020a03600435166024356107ef565b604051901515815260200160405180910390f35b341561040a57600080fd5b6103b761085b565b341561041d57600080fd5b6103eb61088d565b341561043057600080fd5b6103eb600160a060020a0360043581169060243516604435610896565b341561045857600080fd5b6103b7600160a060020a03600435166109a9565b341561047757600080fd5b61047f6109bb565b60405160ff909116815260200160405180910390f35b34156104a057600080fd5b6103eb6109c4565b34156104b357600080fd5b6103b76109d4565b34156104c657600080fd5b6103b76109da565b34156104d957600080fd5b6104e46004356109e0565b005b34156104f157600080fd5b6104e4610ab2565b341561050457600080fd5b6103b7610bc9565b341561051757600080fd5b6103eb610bcf565b341561052a57600080fd5b6103b7610bdd565b341561053d57600080fd5b6103b7600160a060020a0360043581169060243516610be3565b341561056257600080fd5b6103b7600160a060020a0360043516610c00565b341561058157600080fd5b6104e4610c1b565b341561059457600080fd5b61059c610ca9565b604051600160a060020a03909116815260200160405180910390f35b34156105c357600080fd5b6103b7610cb8565b34156105d657600080fd5b61032d610cbe565b34156105e957600080fd5b6103eb600160a060020a0360043516602435610d29565b341561060b57600080fd5b6103eb60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610de895505050505050565b341561067057600080fd5b6103eb610f4b565b341561068357600080fd5b61059c610f5a565b341561069657600080fd5b6103eb600160a060020a0360043516602435610f69565b34156106b857600080fd5b6103b7600160a060020a0360043581169060243516610ffc565b34156106dd57600080fd5b6104e4611027565b34156106f057600080fd5b6104e4600160a060020a0360043516611253565b81810282158061071e575081838281151561071b57fe5b04145b151561072657fe5b92915050565b60008282111561073857fe5b50900390565b8181018281101561072657fe5b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e15780601f106107b6576101008083540402835291602001916107e1565b820191906000526020600020905b8154815290600101906020018083116107c457829003601f168201915b505050505081565b600b5481565b600160a060020a03338116600081815260076020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546005540390565b60085460ff1681565b600160a060020a0383166000908152600660205260408120546108bf908363ffffffff61072c16565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054610902908363ffffffff61072c16565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054610948908363ffffffff61073e16565b600160a060020a03808516600081815260066020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60066020526000908152604090205481565b60045460ff1681565b6008546301000000900460ff1681565b600c5481565b60055481565b600081116109ed57600080fd5b600160a060020a033316600090815260066020526040902054811115610a1257600080fd5b600160a060020a033316600090815260066020526040902054610a3b908263ffffffff61072c16565b600160a060020a033316600090815260066020526040902055600554610a67908263ffffffff61072c16565b600555600d805482019055600160a060020a0333167f388d6102a0230861b4e9646fb5acda1c5ec15d39df2b619d39c25d16a12684908260405190815260200160405180910390a250565b60005433600160a060020a03908116911614610acd57600080fd5b6008546301000000900460ff1615610ae457600080fd5b60085460ff168015610afd5750600854610100900460ff165b8015610b11575060085462010000900460ff165b1515610b1c57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610b5557600080fd5b6000600c8190556008805463ff0000001916630100000017905560008051602061129e83398151915290604051602081019190915260408082526008818301527f436f6d706c65746500000000000000000000000000000000000000000000000060608301526080909101905180910390a1565b600d5481565b600854610100900460ff1681565b600a5481565b600760209081526000928352604080842090915290825290205481565b600160a060020a031660009081526006602052604090205490565b60015433600160a060020a03908116911614610c3657600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b60095481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e15780601f106107b6576101008083540402835291602001916107e1565b600160a060020a033316600090815260066020526040812054610d52908363ffffffff61072c16565b600160a060020a033381166000908152600660205260408082209390935590851681522054610d87908363ffffffff61073e16565b600160a060020a0380851660008181526006602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a03338116600081815260076020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a0316638f4ffcb1338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ee3578082015183820152602001610ecb565b50505050905090810190601f168015610f105780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610f3157600080fd5b5af11515610f3e57600080fd5b5060019695505050505050565b60085462010000900460ff1681565b600154600160a060020a031681565b6000805433600160a060020a03908116911614610f8557600080fd5b600054600160a060020a038085169163a9059cbb91168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610fdf57600080fd5b5af11515610fec57600080fd5b5050506040518051949350505050565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b60005433600160a060020a0390811691161461104257600080fd5b6008546301000000900460ff16158015611065575060085462010000900460ff16155b151561107057600080fd5b60085460ff1615156111015760088054600160ff199091161790556105dc600c81905560045460ff16600a0a622dc6c002600b5560008051602061129e83398151915290604051602081019190915260408082526007818301527f50726553616c650000000000000000000000000000000000000000000000000060608301526080909101905180910390a1611240565b600854610100900460ff1615156111a1576008805461010061ff00199091161790556104b0600c819055600454600b805460ff909216600a0a623d090002909101905560008051602061129e83398151915290604051602081019190915260408082526008818301527f526f756e644f6e6500000000000000000000000000000000000000000000000060608301526080909101905180910390a1611240565b60085462010000900460ff16151561124057600880546201000062ff000019909116179055610384600c819055600454600b805460ff909216600a0a624c4b4002909101905560008051602061129e83398151915290604051602081019190915260408082526008818301527f526f756e6454776f00000000000000000000000000000000000000000000000060608301526080909101905180910390a15b4261012c810160095562093bac01600a55565b60005433600160a060020a0390811691161461126e57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055560038a3da6cc59e03892c624dec40e4f39fcfe5834ef28d2852dd77634730814bd7a165627a7a72305820e5cb3134c32ee6c7192d36092a4cbe43f07b47e5ef2044d4942bfcaddaae235e0029

Swarm Source

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