ETH Price: $3,002.28 (+2.85%)
Gas: 5 Gwei

Token

STASHPAY (STP)
 

Overview

Max Total Supply

183,162,927.10457972 STP

Holders

2,284

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
3,913 STP

Value
$0.00
0x9d96b0561be0440ebe93e79fe06a23bbe8270f90
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:
STP

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-12-20
*/

pragma solidity ^0.4.18;

/// Implements ERC20 Token standard: https://github.com/ethereum/EIPs/issues/20
interface ERC20Token {

    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    function transfer(address _to, uint _value) public returns (bool);
    function transferFrom(address _from, address _to, uint _value) public returns (bool);
    function approve(address _spender, uint _value) public returns (bool);
    function balanceOf(address _owner) public view returns (uint);
    function allowance(address _owner, address _spender) public view returns (uint);    
}


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

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

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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

contract Ownable {
    address public owner;

    function Ownable()
        public
    {        
        owner = msg.sender;
    }
 
    modifier onlyOwner {
        assert(msg.sender == owner);    
        _;
    }

    function transferOwnership(address newOwner)
        public
        onlyOwner
    {
        owner = newOwner;
    } 
}


contract Freezable is Ownable {

    mapping (address => bool) public frozenAccount;      
    
    modifier onlyUnfrozen(address _target) {
        assert(!isFrozen(_target));
        _;
    }
    
    // @dev Owners funds are frozen on token creation
    function isFrozen(address _target)
        public
        view
        returns (bool)
    {
        return frozenAccount[_target];
    }
}

contract Token is ERC20Token, Freezable {
    /*
     *  Storage
     */
    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) allowances; 
    mapping (address => string) public data;
    uint    public totalSupply;
    uint    public timeTransferbleUntil = 1538262000;                        // Transferable until 29/09/2018 23:00 pm UTC
    bool    public stopped = false;
 
    event Burn(address indexed from, uint256 value, string data);
    event LogStop();

    modifier transferable() {
        assert(!stopped);
        _;
    }

    /*
     *  Public functions
     */
    /// @dev Transfers sender's tokens to a given address. Returns success
    /// @param _to Address of token receiver
    /// @param _value Number of tokens to transfer
    /// @return Returns success of function call
    function transfer(address _to, uint _value)
        public      
        onlyUnfrozen(msg.sender)                                           
        transferable()
        returns (bool)        
    {                         
        assert(_to != 0x0);                                                // Prevent transfer to 0x0 address. Use burn() instead
        assert(balances[msg.sender] >= _value);                            // Check if the sender has enough
        assert(!isFrozen(_to));                                            // Do not allow transfers to frozen accounts
        balances[msg.sender] = SafeMath.sub(balances[msg.sender], _value); // Subtract from the sender
        balances[_to] = SafeMath.add(balances[_to], _value);               // Add the same to the recipient
        Transfer(msg.sender, _to, _value);                                 // Notify anyone listening that this transfer took place
        return true;       
    }

    /// @dev Allows allowed third party to transfer tokens from one address to another. Returns success
    /// @param _from Address from where tokens are withdrawn
    /// @param _to Address to where tokens are sent
    /// @param _value Number of tokens to transfer
    /// @return Returns success of function call
    function transferFrom(address _from, address _to, uint _value)
        public    
        onlyUnfrozen(_from)                                               // Owners can never transfer funds
        transferable()                 
        returns (bool)
    {        
        assert(_to != 0x0);                                               // Prevent transfer to 0x0 address. Use burn() instead
        assert(balances[_from] >= _value);                                // Check if the sender has enough
        assert(_value <= allowances[_from][msg.sender]);                  // Check allowance
        assert(!isFrozen(_to));                                           // Do not allow transfers to frozen accounts
        balances[_from] = SafeMath.sub(balances[_from], _value);          // Subtract from the sender
        balances[_to] = SafeMath.add(balances[_to], _value);              // Add the same to the recipient
        allowances[_from][msg.sender] = SafeMath.sub(allowances[_from][msg.sender], _value); 
        Transfer(_from, _to, _value);
        return true;
    }

    /// @dev Sets approved amount of tokens for spender. Returns success
    /// @param _spender Address of allowed account
    /// @param _value Number of approved tokens
    /// @return Returns success of function call    
    function approve(address _spender, uint _value)
        public
        returns (bool)
    {
        allowances[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /// @dev Returns number of allowed tokens for given address
    /// @param _owner Address of token owner
    /// @param _spender Address of token spender
    /// @return Returns remaining allowance for spender    
    function allowance(address _owner, address _spender)
        public
        view
        returns (uint)
    {
        return allowances[_owner][_spender];
    }

    /// @dev Returns number of tokens owned by given address
    /// @param _owner Address of token owner
    /// @return Returns balance of owner    
    function balanceOf(address _owner)
        public
        view
        returns (uint)
    {
        return balances[_owner];
    }

    // @title Burns tokens
    // @dev remove `_value` tokens from the system irreversibly     
    // @param _value the amount of tokens to burn   
    function burn(uint256 _value, string _data) 
        public 
        returns (bool success) 
    {
        assert(_value > 0);                                                // Amount must be greater than zero
        assert(balances[msg.sender] >= _value);                            // Check if the sender has enough
        uint previousTotal = totalSupply;                                  // Start integrity check
        balances[msg.sender] = SafeMath.sub(balances[msg.sender], _value); // Subtract from the sender
        data[msg.sender] = _data;                                          // Additional data
        totalSupply = SafeMath.sub(totalSupply, _value);                   // Updates totalSupply
        assert(previousTotal - _value == totalSupply);                     // End integrity check 
        Burn(msg.sender, _value, _data);
        return true;
    }

    // Anyone can freeze the token after transfer time has expired
    function stop() 
        public
    {
        assert(now > timeTransferbleUntil);
        stopped = true;
        LogStop();
    }

    function totalSupply() 
        constant public 
        returns (uint) 
    {
        return totalSupply;
    }

    function getData(address addr) 
        public 
        view
        returns (string) 
    {
        return data[addr];
    }    
}


// Contract Owner 0xb42db275AdCCd23e2cB52CfFc2D4Fe984fbF53B2     
contract STP is Token {
    string  public name = "STASHPAY";
    string  public symbol = "STP";
    uint8   public decimals = 8;
    uint8   public publicKeySize = 65;
    address public sale = 0xB155c16c13FC1eD2F015e24D6C7Ae8Cc38cea74E;
    address public adviserAndBounty = 0xf40bF198eD3bE9d3E1312d2717b964b377135728;    
    mapping (address => string) public publicKeys;
    uint256 constant D160 = 0x0010000000000000000000000000000000000000000;    

    event RegisterKey(address indexed _from, string _publicKey);
    event ModifyPublicKeySize(uint8 _size);

    function STP()
    public 
    {             
        uint256[29] memory owners = [
            uint256(0xb5e620f480007f0dfc26a56b0f7ccd8100eaf31b75dd40bae01f),
            uint256(0x162b3f376600078c63f73a2f46c19a4cd91e700203bbbe4084093),
            uint256(0x16bcc41e900004ae21e3c9b0e63dbc2832f1fa3e6e4dd60f42ae1),
            uint256(0x1c6bf52634000b9b206c23965553889ebdaee326d4da4a457b9b1),
            uint256(0x16bcc41e90000d26061a8d47cc712c61a8fa23ce21d593e50f668),
            uint256(0x110d9316ec000d69106be0299d0a83b9a9e32f2df85ec7739fa59),
            uint256(0x16bcc41e90000d6d813fd0394bfec48996e20d8fbcf55a003c19a),
            uint256(0x1c6bf52634000e34dc2c4481561224114ad004c824b1f9e142e31),
            uint256(0x110d9316ec0006e19b79b974fa039c1356f6814da22b0a04e8d29),
            uint256(0x16bcc41e900005d2f999136e12e54f4a9a873a9d9ab7407591249),
            uint256(0x110d9316ec0002b0013a364a997b9856127fd0ababef72baec159),
            uint256(0x16bcc41e90000db46260f78efa6c904d7dafc5c584ca34d5234be),
            uint256(0x1c6bf5263400073a4077adf235164f4944f138fc9d982ea549eba),
            uint256(0x9184e72a0003617280cabfe0356a2af3cb4f652c3aca3ab8216),
            uint256(0xb5e620f480003d106c1220c49f75ddb8a475b73a1517cef163f6),
            uint256(0x9184e72a000d6aaf14fee58fd90e6518179e94f02b5e0098a78),
            uint256(0x162b3f37660009c98c23e430b4270f47685e46d651b9150272b16),
            uint256(0xb5e620f48000cc3e7d55bba108b07c08d014f13fe0ee5c09ec08),
            uint256(0x110d9316ec000e4a92d9c2c31789250956b1b0b439cf72baf8a27),
            uint256(0x16bcc41e900002edc2b7f7191cf9414d9bf8febdd165b0cd91ee1),
            uint256(0x110d9316ec000332f79ebb69d00cb3f13fcb2be185ed944f64298),
            uint256(0x221b262dd80005594aae7ae31a3316691ab7a11de3ddee2f015e0),
            uint256(0x1c6bf52634000c08b91c50ed4303d1b90ffd47237195e4bfc165e),
            uint256(0x110d9316ec000bf6f7c6a13b9629b673c023e54fba4c2cd4ccbba),
            uint256(0x16bcc41e90000629048b47ed4fb881bacfb7ca85e7275cd663cf7),
            uint256(0x110d9316ec000451861e95aa32ce053f15f6ae013d1eface88e9e),
            uint256(0x16bcc41e9000094d79beb8c57e54ff3fce49ae35078c6df228b9c),
            uint256(0x1c6bf52634000e2b1430b79b5be8bf3c7d70eb4faf36926b369f3),
            uint256(0xb5e620f4800025b772bda67719d2ba404c04fa4390443bf993ed)
        ];

        /* 
            Token Distrubution
            -------------------
            500M Total supply
            72% Token Sale
            20% Founders (frozen for entire duration of contract)
            8% Bounty and advisters
        */

        totalSupply = 500000000 * 10**uint256(decimals); 
        balances[sale] = 360000000 * 10**uint256(decimals); 
        balances[adviserAndBounty] = 40000000 * 10**uint256(decimals);
            
        Transfer(0, sale, balances[sale]);
        Transfer(0, adviserAndBounty, balances[adviserAndBounty]);
        
        /* 
            Founders are provably frozen for duration of contract            
        */
        uint assignedTokens = balances[sale] + balances[adviserAndBounty];
        for (uint i = 0; i < owners.length; i++) {
            address addr = address(owners[i] & (D160 - 1));                    // get address
            uint256 amount = owners[i] / D160;                                 // get amount
            balances[addr] = SafeMath.add(balances[addr], amount);             // update balance            
            assignedTokens = SafeMath.add(assignedTokens, amount);             // keep track of total assigned
            frozenAccount[addr] = true;                                        // Owners funds are provably frozen for duration of contract
            Transfer(0, addr, amount);                                         // transfer the tokens
        }        
        /*
            balance check 
        */
        require(assignedTokens == totalSupply);             
    }  
    
    function registerKey(string publicKey)
    public
    transferable
    { 
        assert(balances[msg.sender] > 0);
        assert(bytes(publicKey).length <= publicKeySize);
              
        publicKeys[msg.sender] = publicKey; 
        RegisterKey(msg.sender, publicKey);    
    }           
  
    function modifyPublicKeySize(uint8 _publicKeySize)
    public
    onlyOwner
    { 
        publicKeySize = _publicKeySize;
    }

    function multiDistribute(uint256[] data) 
    public
    onlyUnfrozen(sale)
    onlyOwner 
    {
      for (uint256 i = 0; i < data.length; i++) {
        address addr = address(data[i] & (D160 - 1));
        uint256 amount = data[i] / D160;
        balances[sale] -= amount;                        
        balances[addr] += amount;                                       
        Transfer(sale, addr, amount);    
      }
    }

    function multiDistributeAdviserBounty(uint256[] data, bool freeze) 
    public
    onlyOwner
    {
        for (uint256 i = 0; i < data.length; i++) {
            address addr = address(data[i] & (D160 - 1));
            uint256 amount = data[i] / D160;
            distributeAdviserBounty(addr, amount, freeze);
        }
    }
   
    function distributeAdviserBounty(address addr, uint256 amount, bool freeze)
    public        
    onlyOwner 
    {   
        // can only freeze when no balance exists        
        frozenAccount[addr] = freeze && balances[addr] == 0;

        balances[addr] = SafeMath.add(balances[addr], amount);
        balances[adviserAndBounty] = SafeMath.sub(balances[adviserAndBounty], amount);
        Transfer(adviserAndBounty, addr, amount);           
    }

    /// @dev when token distrubution is complete freeze any remaining tokens
    function distributionComplete()
    public
    onlyOwner
    {
        frozenAccount[sale] = true;
    }

    function setName(string _name)
    public 
    onlyOwner 
    {
        name = _name;
    }

    function setSymbol(string _symbol)
    public 
    onlyOwner 
    {
        symbol = _symbol;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"distributionComplete","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"publicKeySize","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getData","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"},{"name":"freeze","type":"bool"}],"name":"distributeAdviserBounty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"publicKey","type":"string"}],"name":"registerKey","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"timeTransferbleUntil","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_data","type":"string"}],"name":"burn","outputs":[{"name":"success","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":false,"inputs":[{"name":"data","type":"uint256[]"},{"name":"freeze","type":"bool"}],"name":"multiDistributeAdviserBounty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"publicKeys","outputs":[{"name":"","type":"string"}],"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":false,"inputs":[{"name":"_publicKeySize","type":"uint8"}],"name":"modifyPublicKeySize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"data","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adviserAndBounty","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":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"isFrozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"data","type":"uint256[]"}],"name":"multiDistribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_publicKey","type":"string"}],"name":"RegisterKey","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_size","type":"uint8"}],"name":"ModifyPublicKeySize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"data","type":"string"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"LogStop","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"}]

60606040908152635bb003f06006556007805460ff19169055805190810160405260088082527f535441534850415900000000000000000000000000000000000000000000000060208301529080516200005e92916020019062000768565b5060408051908101604052600381527f535450000000000000000000000000000000000000000000000000000000000060208201526009908051620000a892916020019062000768565b50600a8054600860ff199091161761ff001916614100176201000060b060020a03191675b155c16c13fc1ed2f015e24d6c7ae8cc38cea74e0000179055600b805473f40bf198ed3be9d3e1312d2717b964b377135728600160a060020a031990911617905534156200011957600080fd5b62000123620007ed565b60008054600160a060020a03191633600160a060020a03161781558080806103a0604051908101604090815279b5e620f480007f0dfc26a56b0f7ccd8100eaf31b75dd40bae01f82527a0162b3f376600078c63f73a2f46c19a4cd91e700203bbbe40840936020808401919091527a016bcc41e900004ae21e3c9b0e63dbc2832f1fa3e6e4dd60f42ae1828401527a01c6bf52634000b9b206c23965553889ebdaee326d4da4a457b9b160608401527a016bcc41e90000d26061a8d47cc712c61a8fa23ce21d593e50f66860808401527a0110d9316ec000d69106be0299d0a83b9a9e32f2df85ec7739fa5960a08401527a016bcc41e90000d6d813fd0394bfec48996e20d8fbcf55a003c19a60c08401527a01c6bf52634000e34dc2c4481561224114ad004c824b1f9e142e3160e08401527a0110d9316ec0006e19b79b974fa039c1356f6814da22b0a04e8d296101008401527a016bcc41e900005d2f999136e12e54f4a9a873a9d9ab74075912496101208401527a0110d9316ec0002b0013a364a997b9856127fd0ababef72baec1596101408401527a016bcc41e90000db46260f78efa6c904d7dafc5c584ca34d5234be6101608401527a01c6bf5263400073a4077adf235164f4944f138fc9d982ea549eba6101808401527909184e72a0003617280cabfe0356a2af3cb4f652c3aca3ab82166101a084015279b5e620f480003d106c1220c49f75ddb8a475b73a1517cef163f66101c08401527909184e72a000d6aaf14fee58fd90e6518179e94f02b5e0098a786101e08401527a0162b3f37660009c98c23e430b4270f47685e46d651b9150272b1661020084015279b5e620f48000cc3e7d55bba108b07c08d014f13fe0ee5c09ec086102208401527a0110d9316ec000e4a92d9c2c31789250956b1b0b439cf72baf8a276102408401527a016bcc41e900002edc2b7f7191cf9414d9bf8febdd165b0cd91ee16102608401527a0110d9316ec000332f79ebb69d00cb3f13fcb2be185ed944f642986102808401527a0221b262dd80005594aae7ae31a3316691ab7a11de3ddee2f015e06102a08401527a01c6bf52634000c08b91c50ed4303d1b90ffd47237195e4bfc165e6102c08401527a0110d9316ec000bf6f7c6a13b9629b673c023e54fba4c2cd4ccbba6102e08401527a016bcc41e90000629048b47ed4fb881bacfb7ca85e7275cd663cf76103008401527a0110d9316ec000451861e95aa32ce053f15f6ae013d1eface88e9e6103208401527a016bcc41e9000094d79beb8c57e54ff3fce49ae35078c6df228b9c6103408401527a01c6bf52634000e2b1430b79b5be8bf3c7d70eb4faf36926b369f361036084015279b5e620f4800025b772bda67719d2ba404c04fa4390443bf993ed610380840152600a805460ff808216830a631dcd650081026005556201000092839004600160a060020a03908116600090815260029096528686206315752a009092029091558354600b54821686528686209216840a6302625a0002909155915404168082528282205493985092909160008051602062001d8f83398151915291905190815260200160405180910390a3600b54600160a060020a03166000818152600260205260408082205460008051602062001d8f833981519152915190815260200160405180910390a3600b54600160a060020a0390811660009081526002602052604080822054600a546201000090049093168252812054909101945092505b601d8310156200073757600160a060020a038584601d81106200063857fe5b6020020151169150740100000000000000000000000000000000000000008584601d81106200066357fe5b60200201518115156200067257fe5b600160a060020a0384166000908152600260205260409020549190049150620006aa90826401000000006200145d6200075182021704565b600160a060020a038316600090815260026020526040902055620006dd84826401000000006200145d6200075182021704565b600160a060020a0383166000818152600160208190526040808320805460ff1916909217909155929650909160008051602062001d8f8339815191529084905190815260200160405180910390a360019092019162000619565b60055484146200074657600080fd5b505050505062000836565b6000828201838110156200076157fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620007ab57805160ff1916838001178555620007db565b82800160010185558215620007db579182015b82811115620007db578251825591602001919060010190620007be565b50620007e992915062000816565b5090565b6103a0604051908101604052601d815b6000815260200190600190039081620007fd5790505090565b6200083391905b80821115620007e957600081556001016200081d565b90565b61154980620008466000396000f30060606040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f57806307da68f514610219578063095ea7b31461022e57806318160ddd1461026457806323b872dd1461028957806323dbf825146102b1578063313ce567146102c457806337960cd5146102ed57806338266b22146103005780633ffd27981461031f5780634a80f2ba1461034657806351f2f1d1146103975780636ad1fe02146103aa57806370a08231146103d957806375f12b21146103f85780637641e6f31461040b5780638da5cb5b1461046157806395d89b41146104745780639de9d57e14610487578063a3d6f9a9146104da578063a9059cbb146104f9578063b401fd6a1461051b578063b414d4b614610534578063b84c824614610553578063b90d3d0c146105a4578063c47f0027146105c3578063db543fdc14610614578063dd62ed3e14610627578063e58398361461064c578063f2fde38b1461066b578063fb702ed11461068a575b600080fd5b341561019a57600080fd5b6101a26106d9565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101de5780820151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022457600080fd5b61022c610777565b005b341561023957600080fd5b610250600160a060020a03600435166024356107bd565b604051901515815260200160405180910390f35b341561026f57600080fd5b610277610829565b60405190815260200160405180910390f35b341561029457600080fd5b610250600160a060020a0360043581169060243516604435610830565b34156102bc57600080fd5b61022c6109c7565b34156102cf57600080fd5b6102d7610a0f565b60405160ff909116815260200160405180910390f35b34156102f857600080fd5b6102d7610a18565b341561030b57600080fd5b6101a2600160a060020a0360043516610a26565b341561032a57600080fd5b61022c600160a060020a03600435166024356044351515610af3565b341561035157600080fd5b61022c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610bff95505050505050565b34156103a257600080fd5b610277610d10565b34156103b557600080fd5b6103bd610d16565b604051600160a060020a03909116815260200160405180910390f35b34156103e457600080fd5b610277600160a060020a0360043516610d2b565b341561040357600080fd5b610250610d46565b341561041657600080fd5b610250600480359060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d4f95505050505050565b341561046c57600080fd5b6103bd610eaa565b341561047f57600080fd5b6101a2610eb9565b341561049257600080fd5b61022c6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650505050913515159150610f249050565b34156104e557600080fd5b6101a2600160a060020a0360043516610fc5565b341561050457600080fd5b610250600160a060020a0360043516602435611042565b341561052657600080fd5b61022c60ff6004351661115b565b341561053f57600080fd5b610250600160a060020a036004351661118f565b341561055e57600080fd5b61022c60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506111a495505050505050565b34156105af57600080fd5b6101a2600160a060020a03600435166111d3565b34156105ce57600080fd5b61022c60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061125095505050505050565b341561061f57600080fd5b6103bd61127b565b341561063257600080fd5b610277600160a060020a036004358116906024351661128a565b341561065757600080fd5b610250600160a060020a03600435166112b5565b341561067657600080fd5b61022c600160a060020a03600435166112d3565b341561069557600080fd5b61022c600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061131a95505050505050565b60088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b820191906000526020600020905b81548152906001019060200180831161075257829003601f168201915b505050505081565b600654421161078257fe5b6007805460ff191660011790557f407235ba9d50c9ec9294457c137c94dd310f8658f7c03e9061c50ac66751af1260405160405180910390a1565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6005545b90565b60008361083c816112b5565b1561084357fe5b60075460ff161561085057fe5b600160a060020a038416151561086257fe5b600160a060020a0385166000908152600260205260409020548390101561088557fe5b600160a060020a03808616600090815260036020908152604080832033909416835292905220548311156108b557fe5b6108be846112b5565b156108c557fe5b600160a060020a0385166000908152600260205260409020546108e8908461144b565b600160a060020a038087166000908152600260205260408082209390935590861681522054610917908461145d565b600160a060020a03808616600090815260026020908152604080832094909455888316825260038152838220339093168252919091522054610959908461144b565b600160a060020a03808716600081815260036020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60005433600160a060020a039081169116146109df57fe5b600a54620100009004600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600a5460ff1681565b600a54610100900460ff1681565b610a2e611473565b6004600083600160a060020a0316600160a060020a031681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae75780601f10610abc57610100808354040283529160200191610ae7565b820191906000526020600020905b815481529060010190602001808311610aca57829003601f168201915b50505050509050919050565b60005433600160a060020a03908116911614610b0b57fe5b808015610b2e5750600160a060020a038316600090815260026020526040902054155b600160a060020a0384166000908152600160209081526040808320805460ff191694151594909417909355600290522054610b69908361145d565b600160a060020a0380851660009081526002602052604080822093909355600b5490911681522054610b9b908361144b565b600b8054600160a060020a0390811660009081526002602052604090819020939093559054858216929116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3505050565b60075460ff1615610c0c57fe5b600160a060020a03331660009081526002602052604081205411610c2c57fe5b600a54610100900460ff1681511115610c4157fe5b600160a060020a0333166000908152600c60205260409020818051610c6a929160200190611485565b5033600160a060020a03167f3e1c2d5aa7c7e9c6aee595b21985d65698cf34791729a62493b50faaba9d72ba8260405160208082528190810183818151815260200191508051906020019080838360005b83811015610cd3578082015183820152602001610cbb565b50505050905090810190601f168015610d005780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b60065481565b600a54620100009004600160a060020a031681565b600160a060020a031660009081526002602052604090205490565b60075460ff1681565b600080808411610d5b57fe5b600160a060020a03331660009081526002602052604090205484901015610d7e57fe5b50600554600160a060020a033316600090815260026020526040902054610da5908561144b565b600160a060020a0333166000908152600260209081526040808320939093556004905220838051610dda929160200190611485565b50610de76005548561144b565b600581905584820314610df657fe5b33600160a060020a03167f47e772fda56eb54ab211642ce5421882c49fc2b7033455982af14588ae4207ff858560405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610e65578082015183820152602001610e4d565b50505050905090810190601f168015610e925780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25060019392505050565b600054600160a060020a031681565b60098054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b600080548190819033600160a060020a03908116911614610f4157fe5b600092505b8451831015610fbe57600160a060020a03858481518110610f6357fe5b9060200190602002015116915074010000000000000000000000000000000000000000858481518110610f9257fe5b90602001906020020151811515610fa557fe5b049050610fb3828286610af3565b600190920191610f46565b5050505050565b600c6020528060005260406000206000915090508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b60003361104e816112b5565b1561105557fe5b60075460ff161561106257fe5b600160a060020a038416151561107457fe5b600160a060020a0333166000908152600260205260409020548390101561109757fe5b6110a0846112b5565b156110a757fe5b600160a060020a0333166000908152600260205260409020546110ca908461144b565b600160a060020a0333811660009081526002602052604080822093909355908616815220546110f9908461145d565b600160a060020a0380861660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35060019392505050565b60005433600160a060020a0390811691161461117357fe5b600a805460ff9092166101000261ff0019909216919091179055565b60016020526000908152604090205460ff1681565b60005433600160a060020a039081169116146111bc57fe5b60098180516111cf929160200190611485565b5050565b60046020528060005260406000206000915090508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b60005433600160a060020a0390811691161461126857fe5b60088180516111cf929160200190611485565b600b54600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600160a060020a031660009081526001602052604090205460ff1690565b60005433600160a060020a039081169116146112eb57fe5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000806000600a60029054906101000a9004600160a060020a031661133e816112b5565b1561134557fe5b60005433600160a060020a0390811691161461135d57fe5b600093505b8451841015610fbe57600160a060020a0385858151811061137f57fe5b90602001906020020151169250740100000000000000000000000000000000000000008585815181106113ae57fe5b906020019060200201518115156113c157fe5b600a8054600160a060020a03620100009182900481166000908152600260205260408082208054979096049687900390955588821680825290859020805487019055925494965091930416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3600190930192611362565b60008282111561145757fe5b50900390565b60008282018381101561146c57fe5b9392505050565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114c657805160ff19168380011785556114f3565b828001600101855582156114f3579182015b828111156114f35782518255916020019190600101906114d8565b506114ff929150611503565b5090565b61082d91905b808211156114ff57600081556001016115095600a165627a7a7230582098f22befa23d6ae2884fe3342f5ad8588b96f2ccff65732e834b1b8c192be9bf0029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x60606040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f57806307da68f514610219578063095ea7b31461022e57806318160ddd1461026457806323b872dd1461028957806323dbf825146102b1578063313ce567146102c457806337960cd5146102ed57806338266b22146103005780633ffd27981461031f5780634a80f2ba1461034657806351f2f1d1146103975780636ad1fe02146103aa57806370a08231146103d957806375f12b21146103f85780637641e6f31461040b5780638da5cb5b1461046157806395d89b41146104745780639de9d57e14610487578063a3d6f9a9146104da578063a9059cbb146104f9578063b401fd6a1461051b578063b414d4b614610534578063b84c824614610553578063b90d3d0c146105a4578063c47f0027146105c3578063db543fdc14610614578063dd62ed3e14610627578063e58398361461064c578063f2fde38b1461066b578063fb702ed11461068a575b600080fd5b341561019a57600080fd5b6101a26106d9565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101de5780820151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022457600080fd5b61022c610777565b005b341561023957600080fd5b610250600160a060020a03600435166024356107bd565b604051901515815260200160405180910390f35b341561026f57600080fd5b610277610829565b60405190815260200160405180910390f35b341561029457600080fd5b610250600160a060020a0360043581169060243516604435610830565b34156102bc57600080fd5b61022c6109c7565b34156102cf57600080fd5b6102d7610a0f565b60405160ff909116815260200160405180910390f35b34156102f857600080fd5b6102d7610a18565b341561030b57600080fd5b6101a2600160a060020a0360043516610a26565b341561032a57600080fd5b61022c600160a060020a03600435166024356044351515610af3565b341561035157600080fd5b61022c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610bff95505050505050565b34156103a257600080fd5b610277610d10565b34156103b557600080fd5b6103bd610d16565b604051600160a060020a03909116815260200160405180910390f35b34156103e457600080fd5b610277600160a060020a0360043516610d2b565b341561040357600080fd5b610250610d46565b341561041657600080fd5b610250600480359060446024803590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d4f95505050505050565b341561046c57600080fd5b6103bd610eaa565b341561047f57600080fd5b6101a2610eb9565b341561049257600080fd5b61022c6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650505050913515159150610f249050565b34156104e557600080fd5b6101a2600160a060020a0360043516610fc5565b341561050457600080fd5b610250600160a060020a0360043516602435611042565b341561052657600080fd5b61022c60ff6004351661115b565b341561053f57600080fd5b610250600160a060020a036004351661118f565b341561055e57600080fd5b61022c60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506111a495505050505050565b34156105af57600080fd5b6101a2600160a060020a03600435166111d3565b34156105ce57600080fd5b61022c60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061125095505050505050565b341561061f57600080fd5b6103bd61127b565b341561063257600080fd5b610277600160a060020a036004358116906024351661128a565b341561065757600080fd5b610250600160a060020a03600435166112b5565b341561067657600080fd5b61022c600160a060020a03600435166112d3565b341561069557600080fd5b61022c600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061131a95505050505050565b60088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b820191906000526020600020905b81548152906001019060200180831161075257829003601f168201915b505050505081565b600654421161078257fe5b6007805460ff191660011790557f407235ba9d50c9ec9294457c137c94dd310f8658f7c03e9061c50ac66751af1260405160405180910390a1565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6005545b90565b60008361083c816112b5565b1561084357fe5b60075460ff161561085057fe5b600160a060020a038416151561086257fe5b600160a060020a0385166000908152600260205260409020548390101561088557fe5b600160a060020a03808616600090815260036020908152604080832033909416835292905220548311156108b557fe5b6108be846112b5565b156108c557fe5b600160a060020a0385166000908152600260205260409020546108e8908461144b565b600160a060020a038087166000908152600260205260408082209390935590861681522054610917908461145d565b600160a060020a03808616600090815260026020908152604080832094909455888316825260038152838220339093168252919091522054610959908461144b565b600160a060020a03808716600081815260036020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b60005433600160a060020a039081169116146109df57fe5b600a54620100009004600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600a5460ff1681565b600a54610100900460ff1681565b610a2e611473565b6004600083600160a060020a0316600160a060020a031681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae75780601f10610abc57610100808354040283529160200191610ae7565b820191906000526020600020905b815481529060010190602001808311610aca57829003601f168201915b50505050509050919050565b60005433600160a060020a03908116911614610b0b57fe5b808015610b2e5750600160a060020a038316600090815260026020526040902054155b600160a060020a0384166000908152600160209081526040808320805460ff191694151594909417909355600290522054610b69908361145d565b600160a060020a0380851660009081526002602052604080822093909355600b5490911681522054610b9b908361144b565b600b8054600160a060020a0390811660009081526002602052604090819020939093559054858216929116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3505050565b60075460ff1615610c0c57fe5b600160a060020a03331660009081526002602052604081205411610c2c57fe5b600a54610100900460ff1681511115610c4157fe5b600160a060020a0333166000908152600c60205260409020818051610c6a929160200190611485565b5033600160a060020a03167f3e1c2d5aa7c7e9c6aee595b21985d65698cf34791729a62493b50faaba9d72ba8260405160208082528190810183818151815260200191508051906020019080838360005b83811015610cd3578082015183820152602001610cbb565b50505050905090810190601f168015610d005780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b60065481565b600a54620100009004600160a060020a031681565b600160a060020a031660009081526002602052604090205490565b60075460ff1681565b600080808411610d5b57fe5b600160a060020a03331660009081526002602052604090205484901015610d7e57fe5b50600554600160a060020a033316600090815260026020526040902054610da5908561144b565b600160a060020a0333166000908152600260209081526040808320939093556004905220838051610dda929160200190611485565b50610de76005548561144b565b600581905584820314610df657fe5b33600160a060020a03167f47e772fda56eb54ab211642ce5421882c49fc2b7033455982af14588ae4207ff858560405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610e65578082015183820152602001610e4d565b50505050905090810190601f168015610e925780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25060019392505050565b600054600160a060020a031681565b60098054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b600080548190819033600160a060020a03908116911614610f4157fe5b600092505b8451831015610fbe57600160a060020a03858481518110610f6357fe5b9060200190602002015116915074010000000000000000000000000000000000000000858481518110610f9257fe5b90602001906020020151811515610fa557fe5b049050610fb3828286610af3565b600190920191610f46565b5050505050565b600c6020528060005260406000206000915090508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b60003361104e816112b5565b1561105557fe5b60075460ff161561106257fe5b600160a060020a038416151561107457fe5b600160a060020a0333166000908152600260205260409020548390101561109757fe5b6110a0846112b5565b156110a757fe5b600160a060020a0333166000908152600260205260409020546110ca908461144b565b600160a060020a0333811660009081526002602052604080822093909355908616815220546110f9908461145d565b600160a060020a0380861660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35060019392505050565b60005433600160a060020a0390811691161461117357fe5b600a805460ff9092166101000261ff0019909216919091179055565b60016020526000908152604090205460ff1681565b60005433600160a060020a039081169116146111bc57fe5b60098180516111cf929160200190611485565b5050565b60046020528060005260406000206000915090508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561076f5780601f106107445761010080835404028352916020019161076f565b60005433600160a060020a0390811691161461126857fe5b60088180516111cf929160200190611485565b600b54600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600160a060020a031660009081526001602052604090205460ff1690565b60005433600160a060020a039081169116146112eb57fe5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000806000600a60029054906101000a9004600160a060020a031661133e816112b5565b1561134557fe5b60005433600160a060020a0390811691161461135d57fe5b600093505b8451841015610fbe57600160a060020a0385858151811061137f57fe5b90602001906020020151169250740100000000000000000000000000000000000000008585815181106113ae57fe5b906020019060200201518115156113c157fe5b600a8054600160a060020a03620100009182900481166000908152600260205260408082208054979096049687900390955588821680825290859020805487019055925494965091930416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3600190930192611362565b60008282111561145757fe5b50900390565b60008282018381101561146c57fe5b9392505050565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114c657805160ff19168380011785556114f3565b828001600101855582156114f3579182015b828111156114f35782518255916020019190600101906114d8565b506114ff929150611503565b5090565b61082d91905b808211156114ff57600081556001016115095600a165627a7a7230582098f22befa23d6ae2884fe3342f5ad8588b96f2ccff65732e834b1b8c192be9bf0029

Swarm Source

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