ETH Price: $2,717.24 (+9.31%)
 

Overview

Max Total Supply

175,931,799.436091666666637503 PHT

Holders

1,766

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x4397b892...EB735ECcf
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
PlayHallToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-22
*/

pragma solidity ^0.4.18;

// File: zeppelin-solidity/contracts/token/ERC20Basic.sol

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: zeppelin-solidity/contracts/token/ERC20.sol

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: contracts/token/ERC223.sol

contract ERC223 is ERC20 {
    function transfer(address _to, uint _value, bytes _data) public returns (bool);
    function transferFrom(address _from, address _to, uint _value, bytes _data) public returns (bool);
    
    event Transfer(address indexed from, address indexed to, uint value, bytes data);
}

// File: contracts/token/TokenReciever.sol

/*
 * Contract that is working with ERC223 tokens
 */
 
 contract TokenReciever {
    function tokenFallback(address _from, uint _value, bytes _data) public pure {
    }
}

// File: zeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @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;
  }
}

// File: zeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: zeppelin-solidity/contracts/ownership/Contactable.sol

/**
 * @title Contactable token
 * @dev Basic version of a contactable contract, allowing the owner to provide a string with their
 * contact information.
 */
contract Contactable is Ownable{

    string public contactInformation;

    /**
     * @dev Allows the owner to set a string with their contact information.
     * @param info The contact information to attach to the contract.
     */
    function setContactInformation(string info) onlyOwner public {
         contactInformation = info;
     }
}

// File: contracts/token/PlayHallToken.sol

contract PlayHallToken is ERC223, Contactable {
    using SafeMath for uint;

    string constant public name = "PlayHall Token";
    string constant public symbol = "PHT";
    uint constant public decimals = 18;

    bool public isActivated = false;

    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) internal allowed;
    mapping (address => bool) public freezedList;
    
    // address, who is allowed to issue new tokens (presale and sale contracts)
    address public minter;

    bool public mintingFinished = false;

    event Mint(address indexed to, uint amount);
    event MintingFinished();

    modifier onlyMinter() {
        require(msg.sender == minter);
        _;
    }

    modifier canMint() {
        require(!mintingFinished);
        _;
    }

    modifier whenActivated() {
        require(isActivated);
        _;
    }

    function PlayHallToken() public {
        minter = msg.sender;
    }

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint _value) public returns (bool) {
        bytes memory empty;
        return transfer(_to, _value, empty);
    }

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    * @param _data Optional metadata.
    */
    function transfer(address _to, uint _value, bytes _data) public whenActivated returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        require(!freezedList[msg.sender]);

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);

        if (isContract(_to)) {
            TokenReciever receiver = TokenReciever(_to);
            receiver.tokenFallback(msg.sender, _value, _data);
        }

        Transfer(msg.sender, _to, _value);
        Transfer(msg.sender, _to, _value, _data);
        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint balance) {
        return balances[_owner];
    }

    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint _value) public returns (bool) {
        bytes memory empty;
        return transferFrom(_from, _to, _value, empty);
    }

    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint the amount of tokens to be transferred
     * @param _data Optional metadata.
     */
    function transferFrom(address _from, address _to, uint _value, bytes _data) public whenActivated returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        require(!freezedList[_from]);

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

        if (isContract(_to)) {
            TokenReciever receiver = TokenReciever(_to);
            receiver.tokenFallback(_from, _value, _data);
        }

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

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint _value) public returns (bool) {
        require(_value == 0 || allowed[msg.sender][_spender] == 0);
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint) {
        return allowed[_owner][_spender];
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

      /**
     * @dev Function to mint tokens
     * @param _to The address that will receive the minted tokens.
     * @param _amount The amount of tokens to mint.
     * @return A boolean that indicates if the operation was successful.
     */
    function mint(address _to, uint _amount, bool freeze) canMint onlyMinter external returns (bool) {
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        if (freeze) {
            freezedList[_to] = true;
        }
        Mint(_to, _amount);
        Transfer(address(0), _to, _amount);
        return true;
    }

    /**
     * @dev Function to stop minting new tokens.
     * @return True if the operation was successful.
     */
    function finishMinting() canMint onlyMinter external returns (bool) {
        mintingFinished = true;
        MintingFinished();
        return true;
    }
    
    /**
     * Minter can pass it's role to another address
     */
    function setMinter(address _minter) external onlyMinter {
        require(_minter != 0x0);
        minter = _minter;
    }

    /**
     * Owner can unfreeze any address
     */
    function removeFromFreezedList(address user) external onlyOwner {
        freezedList[user] = false;
    }

    /**
     * Activation of the token allows all tokenholders to operate with the token
     */
    function activate() external onlyOwner returns (bool) {
        isActivated = true;
        return true;
    }

    function isContract(address _addr) private view returns (bool) {
        uint length;
        assembly {
              //retrieve the size of the code on target address, this needs assembly
              length := extcodesize(_addr)
        }
        return (length>0);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"activate","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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contactInformation","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isActivated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"freezedList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"}],"name":"removeFromFreezedList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"info","type":"string"}],"name":"setContactInformation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"freeze","type":"bool"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minter","type":"address"}],"name":"setMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintingFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"data","type":"bytes"}],"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"},{"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"}]

60606040526003805460ff191690556007805460a060020a60ff0219169055341561002957600080fd5b60018054600160a060020a033316600160a060020a03199182168117909255600780549091169091179055611467806100636000396000f30060606040526004361061013a5763ffffffff60e060020a60003504166305d2035b811461013f57806306fdde031461016657806307546172146101f0578063095ea7b31461021f5780630f15f4c01461024157806318160ddd1461025457806323b872dd14610279578063313ce567146102a157806336f7ab5e146102b45780634a8c1fb4146102c757806362183fe4146102da57806366188463146102f957806370a082311461031b5780637d64bcb41461033a5780637efe294c1461034d5780638da5cb5b1461036e57806395d89b4114610381578063a9059cbb14610394578063ab67aa58146103b6578063b967a52e14610422578063be45fd6214610473578063d1a1beb4146104d8578063d73dd623146104ff578063dd62ed3e14610521578063f2fde38b14610546578063fca3b5aa14610565575b600080fd5b341561014a57600080fd5b610152610584565b604051901515815260200160405180910390f35b341561017157600080fd5b610179610594565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b557808201518382015260200161019d565b50505050905090810190601f1680156101e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101fb57600080fd5b6102036105cb565b604051600160a060020a03909116815260200160405180910390f35b341561022a57600080fd5b610152600160a060020a03600435166024356105da565b341561024c57600080fd5b610152610680565b341561025f57600080fd5b6102676106b3565b60405190815260200160405180910390f35b341561028457600080fd5b610152600160a060020a03600435811690602435166044356106b9565b34156102ac57600080fd5b6102676106d8565b34156102bf57600080fd5b6101796106dd565b34156102d257600080fd5b61015261077b565b34156102e557600080fd5b610152600160a060020a0360043516610784565b341561030457600080fd5b610152600160a060020a0360043516602435610799565b341561032657600080fd5b610267600160a060020a0360043516610893565b341561034557600080fd5b6101526108ae565b341561035857600080fd5b61036c600160a060020a0360043516610939565b005b341561037957600080fd5b610203610975565b341561038c57600080fd5b610179610984565b341561039f57600080fd5b610152600160a060020a03600435166024356109bb565b34156103c157600080fd5b610152600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506109d895505050505050565b341561042d57600080fd5b61036c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d4695505050505050565b341561047e57600080fd5b61015260048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d7895505050505050565b34156104e357600080fd5b610152600160a060020a0360043516602435604435151561105c565b341561050a57600080fd5b610152600160a060020a0360043516602435611198565b341561052c57600080fd5b610267600160a060020a036004358116906024351661123c565b341561055157600080fd5b61036c600160a060020a0360043516611267565b341561057057600080fd5b61036c600160a060020a0360043516611302565b60075460a060020a900460ff1681565b60408051908101604052600e81527f506c617948616c6c20546f6b656e000000000000000000000000000000000000602082015281565b600754600160a060020a031681565b600081158061060c5750600160a060020a03338116600090815260056020908152604080832093871683529290522054155b151561061757600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60015460009033600160a060020a0390811691161461069e57600080fd5b506003805460ff191660019081179091555b90565b60005481565b60006106c3611391565b6106cf858585846109d8565b95945050505050565b601281565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107735780601f1061074857610100808354040283529160200191610773565b820191906000526020600020905b81548152906001019060200180831161075657829003601f168201915b505050505081565b60035460ff1681565b60066020526000908152604090205460ff1681565b600160a060020a033381166000908152600560209081526040808320938616835292905290812054808311156107f657600160a060020a03338116600090815260056020908152604080832093881683529290529081205561082d565b610806818463ffffffff61136116565b600160a060020a033381166000908152600560209081526040808320938916835292905220555b600160a060020a0333811660008181526005602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526004602052604090205490565b60075460009060a060020a900460ff16156108c857600080fd5b60075433600160a060020a039081169116146108e357600080fd5b6007805474ff0000000000000000000000000000000000000000191660a060020a1790557fb828d9b5c78095deeeeff2eca2e5d4fe046ce3feb4c99702624a3fd384ad2dbc60405160405180910390a150600190565b60015433600160a060020a0390811691161461095457600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b600154600160a060020a031681565b60408051908101604052600381527f5048540000000000000000000000000000000000000000000000000000000000602082015281565b60006109c5611391565b6109d0848483610d78565b949350505050565b600354600090819060ff1615156109ee57600080fd5b600160a060020a0385161515610a0357600080fd5b600160a060020a038616600090815260046020526040902054841115610a2857600080fd5b600160a060020a0380871660009081526005602090815260408083203390941683529290522054841115610a5b57600080fd5b600160a060020a03861660009081526006602052604090205460ff1615610a8157600080fd5b600160a060020a038616600090815260046020526040902054610aaa908563ffffffff61136116565b600160a060020a038088166000908152600460205260408082209390935590871681522054610adf908563ffffffff61137316565b600160a060020a03808716600090815260046020908152604080832094909455898316825260058152838220339093168252919091522054610b27908563ffffffff61136116565b600160a060020a0380881660009081526005602090815260408083203390941683529290522055610b5785611389565b15610c3f575083600160a060020a03811663c0ee0b8a8786866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bdd578082015183820152602001610bc5565b50505050905090810190601f168015610c0a5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610c2a57600080fd5b6102c65a03f11515610c3b57600080fd5b5050505b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a031686600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16868660405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610cff578082015183820152602001610ce7565b50505050905090810190601f168015610d2c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a350600195945050505050565b60015433600160a060020a03908116911614610d6157600080fd5b6002818051610d749291602001906113a3565b5050565b600354600090819060ff161515610d8e57600080fd5b600160a060020a0385161515610da357600080fd5b600160a060020a033316600090815260046020526040902054841115610dc857600080fd5b600160a060020a03331660009081526006602052604090205460ff1615610dee57600080fd5b600160a060020a033316600090815260046020526040902054610e17908563ffffffff61136116565b600160a060020a033381166000908152600460205260408082209390935590871681522054610e4c908563ffffffff61137316565b600160a060020a038616600090815260046020526040902055610e6e85611389565b15610f56575083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ef4578082015183820152602001610edc565b50505050905090810190601f168015610f215780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610f4157600080fd5b6102c65a03f11515610f5257600080fd5b5050505b84600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16868660405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015611016578082015183820152602001610ffe565b50505050905090810190601f1680156110435780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60075460009060a060020a900460ff161561107657600080fd5b60075433600160a060020a0390811691161461109157600080fd5b6000546110a4908463ffffffff61137316565b6000908155600160a060020a0385168152600460205260409020546110cf908463ffffffff61137316565b600160a060020a038516600090815260046020526040902055811561111257600160a060020a0384166000908152600660205260409020805460ff191660011790555b83600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858460405190815260200160405180910390a2600160a060020a03841660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35060019392505050565b600160a060020a0333811660009081526005602090815260408083209386168352929052908120546111d0908363ffffffff61137316565b600160a060020a0333811660008181526005602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60015433600160a060020a0390811691161461128257600080fd5b600160a060020a038116151561129757600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075433600160a060020a0390811691161461131d57600080fd5b600160a060020a038116151561133257600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561136d57fe5b50900390565b60008282018381101561138257fe5b9392505050565b6000903b1190565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113e457805160ff1916838001178555611411565b82800160010185558215611411579182015b828111156114115782518255916020019190600101906113f6565b5061141d929150611421565b5090565b6106b091905b8082111561141d57600081556001016114275600a165627a7a723058202709e45075c7022572637f347609359be3a13700417a2285da8518e46aaa92540029

Deployed Bytecode

0x60606040526004361061013a5763ffffffff60e060020a60003504166305d2035b811461013f57806306fdde031461016657806307546172146101f0578063095ea7b31461021f5780630f15f4c01461024157806318160ddd1461025457806323b872dd14610279578063313ce567146102a157806336f7ab5e146102b45780634a8c1fb4146102c757806362183fe4146102da57806366188463146102f957806370a082311461031b5780637d64bcb41461033a5780637efe294c1461034d5780638da5cb5b1461036e57806395d89b4114610381578063a9059cbb14610394578063ab67aa58146103b6578063b967a52e14610422578063be45fd6214610473578063d1a1beb4146104d8578063d73dd623146104ff578063dd62ed3e14610521578063f2fde38b14610546578063fca3b5aa14610565575b600080fd5b341561014a57600080fd5b610152610584565b604051901515815260200160405180910390f35b341561017157600080fd5b610179610594565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b557808201518382015260200161019d565b50505050905090810190601f1680156101e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101fb57600080fd5b6102036105cb565b604051600160a060020a03909116815260200160405180910390f35b341561022a57600080fd5b610152600160a060020a03600435166024356105da565b341561024c57600080fd5b610152610680565b341561025f57600080fd5b6102676106b3565b60405190815260200160405180910390f35b341561028457600080fd5b610152600160a060020a03600435811690602435166044356106b9565b34156102ac57600080fd5b6102676106d8565b34156102bf57600080fd5b6101796106dd565b34156102d257600080fd5b61015261077b565b34156102e557600080fd5b610152600160a060020a0360043516610784565b341561030457600080fd5b610152600160a060020a0360043516602435610799565b341561032657600080fd5b610267600160a060020a0360043516610893565b341561034557600080fd5b6101526108ae565b341561035857600080fd5b61036c600160a060020a0360043516610939565b005b341561037957600080fd5b610203610975565b341561038c57600080fd5b610179610984565b341561039f57600080fd5b610152600160a060020a03600435166024356109bb565b34156103c157600080fd5b610152600160a060020a036004803582169160248035909116916044359160849060643590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506109d895505050505050565b341561042d57600080fd5b61036c60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d4695505050505050565b341561047e57600080fd5b61015260048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d7895505050505050565b34156104e357600080fd5b610152600160a060020a0360043516602435604435151561105c565b341561050a57600080fd5b610152600160a060020a0360043516602435611198565b341561052c57600080fd5b610267600160a060020a036004358116906024351661123c565b341561055157600080fd5b61036c600160a060020a0360043516611267565b341561057057600080fd5b61036c600160a060020a0360043516611302565b60075460a060020a900460ff1681565b60408051908101604052600e81527f506c617948616c6c20546f6b656e000000000000000000000000000000000000602082015281565b600754600160a060020a031681565b600081158061060c5750600160a060020a03338116600090815260056020908152604080832093871683529290522054155b151561061757600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60015460009033600160a060020a0390811691161461069e57600080fd5b506003805460ff191660019081179091555b90565b60005481565b60006106c3611391565b6106cf858585846109d8565b95945050505050565b601281565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107735780601f1061074857610100808354040283529160200191610773565b820191906000526020600020905b81548152906001019060200180831161075657829003601f168201915b505050505081565b60035460ff1681565b60066020526000908152604090205460ff1681565b600160a060020a033381166000908152600560209081526040808320938616835292905290812054808311156107f657600160a060020a03338116600090815260056020908152604080832093881683529290529081205561082d565b610806818463ffffffff61136116565b600160a060020a033381166000908152600560209081526040808320938916835292905220555b600160a060020a0333811660008181526005602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526004602052604090205490565b60075460009060a060020a900460ff16156108c857600080fd5b60075433600160a060020a039081169116146108e357600080fd5b6007805474ff0000000000000000000000000000000000000000191660a060020a1790557fb828d9b5c78095deeeeff2eca2e5d4fe046ce3feb4c99702624a3fd384ad2dbc60405160405180910390a150600190565b60015433600160a060020a0390811691161461095457600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b600154600160a060020a031681565b60408051908101604052600381527f5048540000000000000000000000000000000000000000000000000000000000602082015281565b60006109c5611391565b6109d0848483610d78565b949350505050565b600354600090819060ff1615156109ee57600080fd5b600160a060020a0385161515610a0357600080fd5b600160a060020a038616600090815260046020526040902054841115610a2857600080fd5b600160a060020a0380871660009081526005602090815260408083203390941683529290522054841115610a5b57600080fd5b600160a060020a03861660009081526006602052604090205460ff1615610a8157600080fd5b600160a060020a038616600090815260046020526040902054610aaa908563ffffffff61136116565b600160a060020a038088166000908152600460205260408082209390935590871681522054610adf908563ffffffff61137316565b600160a060020a03808716600090815260046020908152604080832094909455898316825260058152838220339093168252919091522054610b27908563ffffffff61136116565b600160a060020a0380881660009081526005602090815260408083203390941683529290522055610b5785611389565b15610c3f575083600160a060020a03811663c0ee0b8a8786866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bdd578082015183820152602001610bc5565b50505050905090810190601f168015610c0a5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610c2a57600080fd5b6102c65a03f11515610c3b57600080fd5b5050505b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a031686600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16868660405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015610cff578082015183820152602001610ce7565b50505050905090810190601f168015610d2c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a350600195945050505050565b60015433600160a060020a03908116911614610d6157600080fd5b6002818051610d749291602001906113a3565b5050565b600354600090819060ff161515610d8e57600080fd5b600160a060020a0385161515610da357600080fd5b600160a060020a033316600090815260046020526040902054841115610dc857600080fd5b600160a060020a03331660009081526006602052604090205460ff1615610dee57600080fd5b600160a060020a033316600090815260046020526040902054610e17908563ffffffff61136116565b600160a060020a033381166000908152600460205260408082209390935590871681522054610e4c908563ffffffff61137316565b600160a060020a038616600090815260046020526040902055610e6e85611389565b15610f56575083600160a060020a03811663c0ee0b8a3386866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ef4578082015183820152602001610edc565b50505050905090810190601f168015610f215780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610f4157600080fd5b6102c65a03f11515610f5257600080fd5b5050505b84600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a384600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16868660405182815260406020820181815290820183818151815260200191508051906020019080838360005b83811015611016578082015183820152602001610ffe565b50505050905090810190601f1680156110435780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60075460009060a060020a900460ff161561107657600080fd5b60075433600160a060020a0390811691161461109157600080fd5b6000546110a4908463ffffffff61137316565b6000908155600160a060020a0385168152600460205260409020546110cf908463ffffffff61137316565b600160a060020a038516600090815260046020526040902055811561111257600160a060020a0384166000908152600660205260409020805460ff191660011790555b83600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858460405190815260200160405180910390a2600160a060020a03841660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a35060019392505050565b600160a060020a0333811660009081526005602090815260408083209386168352929052908120546111d0908363ffffffff61137316565b600160a060020a0333811660008181526005602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60015433600160a060020a0390811691161461128257600080fd5b600160a060020a038116151561129757600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075433600160a060020a0390811691161461131d57600080fd5b600160a060020a038116151561133257600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561136d57fe5b50900390565b60008282018381101561138257fe5b9392505050565b6000903b1190565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113e457805160ff1916838001178555611411565b82800160010185558215611411579182015b828111156114115782518255916020019190600101906113f6565b5061141d929150611421565b5090565b6106b091905b8082111561141d57600081556001016114275600a165627a7a723058202709e45075c7022572637f347609359be3a13700417a2285da8518e46aaa92540029

Swarm Source

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