Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 PLY
Holders
4,098
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
PlayCoin
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-30 */ pragma solidity ^0.4.24; // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); 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: openzeppelin-solidity/contracts/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } c = _a * _b; assert(c / _a == _b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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 _a / _b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) { c = _a + _b; assert(c >= _a); return c; } } // File: openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @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, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } // File: openzeppelin-solidity/contracts/token/ERC20/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: openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://github.com/ethereum/EIPs/issues/20 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @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 uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @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, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit 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 uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { 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, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit 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, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } // File: contracts/PlayCoin.sol /** * @title PlayCoin contract */ contract PlayCoin is StandardToken { string public symbol; string public name; uint8 public decimals = 9; uint noOfTokens = 1000000000; // 1,000,000,000 (1B) // Address of playcoin vault (a PlayCoinMultiSigWallet contract) // The vault will have all the playcoin issued and the operation // on its token will be protected by multi signing. // In addtion, vault can recall(transfer back) the reserved amount // from some address. address internal vault; // Address of playcoin owner (a PlayCoinMultiSigWallet contract) // The owner can change admin and vault address, but the change operation // will be protected by multi signing. address internal owner; // Address of playcoin admin (a PlayCoinMultiSigWallet contract) // The admin can change reserve. The reserve is the amount of token // assigned to some address but not permitted to use. // Once the signers of the admin agree with removing the reserve, // they can change the reserve to zero to permit the user to use all reserved // amount. So in effect, reservation will postpone the use of some tokens // being used until all stakeholders agree with giving permission to use that // token to the token owner. // All admin operation will be protected by multi signing. address internal admin; event OwnerChanged(address indexed previousOwner, address indexed newOwner); event VaultChanged(address indexed previousVault, address indexed newVault); event AdminChanged(address indexed previousAdmin, address indexed newAdmin); event ReserveChanged(address indexed _address, uint amount); event Recalled(address indexed from, uint amount); // for debugging event MsgAndValue(string message, bytes32 value); /** * @dev reserved number of tokens per each address * * To limit token transaction for some period by the admin or owner, * each address' balance cannot become lower than this amount * */ mapping(address => uint) public reserves; /** * @dev modifier to limit access to the owner only */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev limit access to the vault only */ modifier onlyVault() { require(msg.sender == vault); _; } /** * @dev limit access to the admin only */ modifier onlyAdmin() { require(msg.sender == admin); _; } /** * @dev limit access to admin or vault */ modifier onlyAdminOrVault() { require(msg.sender == vault || msg.sender == admin); _; } /** * @dev limit access to owner or vault */ modifier onlyOwnerOrVault() { require(msg.sender == owner || msg.sender == vault); _; } /** * @dev limit access to owner or admin */ modifier onlyAdminOrOwner() { require(msg.sender == owner || msg.sender == admin); _; } /** * @dev limit access to owner or admin or vault */ modifier onlyAdminOrOwnerOrVault() { require(msg.sender == owner || msg.sender == vault || msg.sender == admin); _; } /** * @dev initialize QRC20(ERC20) * * all token will deposit into the vault * later, the vault, owner will be multi sign contract to protect privileged operations * * @param _symbol token symbol * @param _name token name * @param _owner owner address * @param _admin admin address * @param _vault vault address */ constructor (string _symbol, string _name, address _owner, address _admin, address _vault) public { require(bytes(_symbol).length > 0); require(bytes(_name).length > 0); totalSupply_ = noOfTokens * (10 ** uint(decimals)); // 1E9 tokens initially symbol = _symbol; name = _name; owner = _owner; admin = _admin; vault = _vault; balances[vault] = totalSupply_; emit Transfer(address(0), vault, totalSupply_); } /** * @dev change the amount of reserved token * reserve should be less than or equal to the current token balance * * Refer to the comment on the admin if you want to know more. * * @param _address the target address whose token will be frozen for future use * @param _reserve the amount of reserved token * */ function setReserve(address _address, uint _reserve) public onlyAdmin { require(_reserve <= totalSupply_); require(_address != address(0)); reserves[_address] = _reserve; emit ReserveChanged(_address, _reserve); } /** * @dev transfer token from sender to other * the result balance should be greater than or equal to the reserved token amount */ function transfer(address _to, uint256 _value) public returns (bool) { // check the reserve require(balanceOf(msg.sender) - _value >= reserveOf(msg.sender)); return super.transfer(_to, _value); } /** * @dev change vault address * BEWARE! this withdraw all token from old vault and store it to the new vault * and new vault's allowed, reserve will be set to zero * @param _newVault new vault address */ function setVault(address _newVault) public onlyOwner { require(_newVault != address(0)); require(_newVault != vault); address _oldVault = vault; // change vault address vault = _newVault; emit VaultChanged(_oldVault, _newVault); // adjust balance uint _value = balances[_oldVault]; balances[_oldVault] = 0; balances[_newVault] = balances[_newVault].add(_value); // vault cannot have any allowed or reserved amount!!! allowed[_newVault][msg.sender] = 0; reserves[_newVault] = 0; emit Transfer(_oldVault, _newVault, _value); } /** * @dev change owner address * @param _newOwner new owner address */ function setOwner(address _newOwner) public onlyVault { require(_newOwner != address(0)); require(_newOwner != owner); owner = _newOwner; emit OwnerChanged(owner, _newOwner); } /** * @dev change admin address * @param _newAdmin new admin address */ function setAdmin(address _newAdmin) public onlyOwnerOrVault { require(_newAdmin != address(0)); require(_newAdmin != admin); admin = _newAdmin; emit AdminChanged(admin, _newAdmin); } /** * @dev transfer a part of reserved amount to the vault * * Refer to the comment on the vault if you want to know more. * * @param _from the address from which the reserved token will be taken * @param _amount the amount of token to be taken */ function recall(address _from, uint _amount) public onlyAdmin { require(_from != address(0)); require(_amount > 0); uint currentReserve = reserveOf(_from); uint currentBalance = balanceOf(_from); require(currentReserve >= _amount); require(currentBalance >= _amount); uint newReserve = currentReserve - _amount; reserves[_from] = newReserve; emit ReserveChanged(_from, newReserve); // transfer token _from to vault balances[_from] = balances[_from].sub(_amount); balances[vault] = balances[vault].add(_amount); emit Transfer(_from, vault, _amount); emit Recalled(_from, _amount); } /** * @dev Transfer tokens from one address to another * * The _from's PLY balance should be larger than the reserved amount(reserves[_from]) plus _value. * */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_value <= balances[_from].sub(reserves[_from])); return super.transferFrom(_from, _to, _value); } function getOwner() public view onlyAdminOrOwnerOrVault returns (address) { return owner; } function getVault() public view onlyAdminOrOwnerOrVault returns (address) { return vault; } function getAdmin() public view onlyAdminOrOwnerOrVault returns (address) { return admin; } function getOnePlayCoin() public view returns (uint) { return (10 ** uint(decimals)); } function getMaxNumberOfTokens() public view returns (uint) { return noOfTokens; } /** * @dev get the amount of reserved token */ function reserveOf(address _address) public view returns (uint _reserve) { return reserves[_address]; } /** * @dev get the amount reserved token of the sender */ function reserve() public view returns (uint _reserve) { return reserves[msg.sender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"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":"_amount","type":"uint256"}],"name":"recall","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"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":false,"inputs":[{"name":"_newVault","type":"address"}],"name":"setVault","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_reserve","type":"uint256"}],"name":"setReserve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOnePlayCoin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getVault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMaxNumberOfTokens","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":true,"inputs":[{"name":"_address","type":"address"}],"name":"reserveOf","outputs":[{"name":"_reserve","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reserve","outputs":[{"name":"_reserve","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserves","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_symbol","type":"string"},{"name":"_name","type":"string"},{"name":"_owner","type":"address"},{"name":"_admin","type":"address"},{"name":"_vault","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousVault","type":"address"},{"indexed":true,"name":"newVault","type":"address"}],"name":"VaultChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousAdmin","type":"address"},{"indexed":true,"name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReserveChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Recalled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"},{"indexed":false,"name":"value","type":"bytes32"}],"name":"MsgAndValue","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"}]
Contract Creation Code
60806040526005805460ff19166009179055633b9aca006006553480156200002657600080fd5b506040516200137138038062001371833981016040908152815160208301519183015160608401516080850151928501805190959490940193919290916000106200007057600080fd5b83516000106200007f57600080fd5b60055460065460ff909116600a0a026001558451620000a690600390602088019062000156565b508351620000bc90600490602087019062000156565b5060088054600160a060020a03808616600160a060020a0319928316179092556009805485841690831617905560078054848416921691909117808255600154908316600090815260208181526040808320849055935484519384529351939094169390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050505050620001fb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019957805160ff1916838001178555620001c9565b82800160010185558215620001c9579182015b82811115620001c9578251825591602001919060010190620001ac565b50620001d7929150620001db565b5090565b620001f891905b80821115620001d75760008155600101620001e2565b90565b611166806200020b6000396000f30060806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610142578063095ea7b3146101cc57806313af40351461020457806318160ddd146102275780631f035c7a1461024e57806323b872dd14610272578063313ce5671461029c57806366188463146102c75780636817031b146102eb5780636e9960c31461030c578063704b6c021461033d57806370a082311461035e57806378250b631461037f57806379891359146103a3578063893d20e8146103b85780638d928af8146103cd578063944b7c3f146103e257806395d89b41146103f75780639fa77b201461040c578063a9059cbb1461042d578063cd3293de14610451578063d66bd52414610466578063d73dd62314610487578063dd62ed3e146104ab575b600080fd5b34801561014e57600080fd5b506101576104d2565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101f0600160a060020a0360043516602435610560565b604080519115158252519081900360200190f35b34801561021057600080fd5b50610225600160a060020a03600435166105c6565b005b34801561023357600080fd5b5061023c61066a565b60408051918252519081900360200190f35b34801561025a57600080fd5b50610225600160a060020a0360043516602435610670565b34801561027e57600080fd5b506101f0600160a060020a0360043581169060243516604435610829565b3480156102a857600080fd5b506102b161087a565b6040805160ff9092168252519081900360200190f35b3480156102d357600080fd5b506101f0600160a060020a0360043516602435610883565b3480156102f757600080fd5b50610225600160a060020a0360043516610972565b34801561031857600080fd5b50610321610abb565b60408051600160a060020a039092168252519081900360200190f35b34801561034957600080fd5b50610225600160a060020a0360043516610b11565b34801561036a57600080fd5b5061023c600160a060020a0360043516610bcc565b34801561038b57600080fd5b50610225600160a060020a0360043516602435610be7565b3480156103af57600080fd5b5061023c610c76565b3480156103c457600080fd5b50610321610c82565b3480156103d957600080fd5b50610321610cd8565b3480156103ee57600080fd5b5061023c610d2e565b34801561040357600080fd5b50610157610d34565b34801561041857600080fd5b5061023c600160a060020a0360043516610d8f565b34801561043957600080fd5b506101f0600160a060020a0360043516602435610daa565b34801561045d57600080fd5b5061023c610ddc565b34801561047257600080fd5b5061023c600160a060020a0360043516610def565b34801561049357600080fd5b506101f0600160a060020a0360043516602435610e01565b3480156104b757600080fd5b5061023c600160a060020a0360043581169060243516610e9a565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105585780601f1061052d57610100808354040283529160200191610558565b820191906000526020600020905b81548152906001019060200180831161053b57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600754600160a060020a031633146105dd57600080fd5b600160a060020a03811615156105f257600080fd5b600854600160a060020a038281169116141561060d57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821792839055604051919216907fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90600090a350565b60015490565b60095460009081908190600160a060020a0316331461068e57600080fd5b600160a060020a03851615156106a357600080fd5b600084116106b057600080fd5b6106b985610d8f565b92506106c485610bcc565b9150838310156106d357600080fd5b838210156106e057600080fd5b50600160a060020a0384166000818152600a602090815260409182902086860390819055825181815292519093927f872768977511ded17070d838c821f2459b45f6dff642dc0cd79be17d6f9c12fc92908290030190a2600160a060020a038516600090815260208190526040902054610760908563ffffffff610ec516565b600160a060020a038087166000908152602081905260408082209390935560075490911681522054610798908563ffffffff610ed716565b60078054600160a060020a039081166000908152602081815260409182902094909455915482518881529251908216939189169260008051602061111b83398151915292908290030190a3604080518581529051600160a060020a038716917fbf7736aaf310cd7aa7cd231ba28117821189be3bc3d836e8afe017dfc629c665919081900360200190a25050505050565b600160a060020a0383166000908152600a60209081526040808320549183905282205461085b9163ffffffff610ec516565b82111561086757600080fd5b610872848484610eea565b949350505050565b60055460ff1681565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106108d757336000908152600260209081526040808320600160a060020a038816845290915281205561090c565b6108e7818463ffffffff610ec516565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6008546000908190600160a060020a0316331461098e57600080fd5b600160a060020a03831615156109a357600080fd5b600754600160a060020a03848116911614156109be57600080fd5b60078054600160a060020a0385811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116935083907f16e2accad9173abff57b295b56993ec5d86b3cbf791fea02f02a6616463754ea90600090a350600160a060020a038082166000908152602081905260408082208054908390559285168252902054610a52908263ffffffff610ed716565b600160a060020a0380851660008181526020818152604080832095909555600281528482203383528152848220829055828252600a8152848220919091558351858152935191939286169260008051602061111b833981519152929081900390910190a3505050565b600854600090600160a060020a0316331480610ae15750600754600160a060020a031633145b80610af65750600954600160a060020a031633145b1515610b0157600080fd5b50600954600160a060020a031690565b600854600160a060020a0316331480610b345750600754600160a060020a031633145b1515610b3f57600080fd5b600160a060020a0381161515610b5457600080fd5b600954600160a060020a0382811691161415610b6f57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821792839055604051919216907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f90600090a350565b600160a060020a031660009081526020819052604090205490565b600954600160a060020a03163314610bfe57600080fd5b600154811115610c0d57600080fd5b600160a060020a0382161515610c2257600080fd5b600160a060020a0382166000818152600a6020908152604091829020849055815184815291517f872768977511ded17070d838c821f2459b45f6dff642dc0cd79be17d6f9c12fc9281900390910190a25050565b60055460ff16600a0a90565b600854600090600160a060020a0316331480610ca85750600754600160a060020a031633145b80610cbd5750600954600160a060020a031633145b1515610cc857600080fd5b50600854600160a060020a031690565b600854600090600160a060020a0316331480610cfe5750600754600160a060020a031633145b80610d135750600954600160a060020a031633145b1515610d1e57600080fd5b50600754600160a060020a031690565b60065490565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105585780601f1061052d57610100808354040283529160200191610558565b600160a060020a03166000908152600a602052604090205490565b6000610db533610d8f565b82610dbf33610bcc565b031015610dcb57600080fd5b610dd5838361104d565b9392505050565b336000908152600a602052604090205490565b600a6020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054610e35908363ffffffff610ed716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600082821115610ed157fe5b50900390565b81810182811015610ee457fe5b92915050565b600160a060020a038316600090815260208190526040812054821115610f0f57600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610f3f57600080fd5b600160a060020a0383161515610f5457600080fd5b600160a060020a038416600090815260208190526040902054610f7d908363ffffffff610ec516565b600160a060020a038086166000908152602081905260408082209390935590851681522054610fb2908363ffffffff610ed716565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610ff4908363ffffffff610ec516565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061111b833981519152929181900390910190a35060019392505050565b3360009081526020819052604081205482111561106957600080fd5b600160a060020a038316151561107e57600080fd5b3360009081526020819052604090205461109e908363ffffffff610ec516565b3360009081526020819052604080822092909255600160a060020a038516815220546110d0908363ffffffff610ed716565b600160a060020a0384166000818152602081815260409182902093909355805185815290519192339260008051602061111b8339815191529281900390910190a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058207e675eb55c1041805c8407b46bdb1450742b9e8022848e0e81248eb4d6e6a42d002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000bf66753a42eeb2f5b5b528622073d576794535b7000000000000000000000000dc7e6fe01c5a8f753f3ff8de2dab145051ae17f300000000000000000000000059f66183e707ca6d2ec12fdcc192fdaae5ebb4da0000000000000000000000000000000000000000000000000000000000000003504c5900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008506c6179436f696e000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610142578063095ea7b3146101cc57806313af40351461020457806318160ddd146102275780631f035c7a1461024e57806323b872dd14610272578063313ce5671461029c57806366188463146102c75780636817031b146102eb5780636e9960c31461030c578063704b6c021461033d57806370a082311461035e57806378250b631461037f57806379891359146103a3578063893d20e8146103b85780638d928af8146103cd578063944b7c3f146103e257806395d89b41146103f75780639fa77b201461040c578063a9059cbb1461042d578063cd3293de14610451578063d66bd52414610466578063d73dd62314610487578063dd62ed3e146104ab575b600080fd5b34801561014e57600080fd5b506101576104d2565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610191578181015183820152602001610179565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b506101f0600160a060020a0360043516602435610560565b604080519115158252519081900360200190f35b34801561021057600080fd5b50610225600160a060020a03600435166105c6565b005b34801561023357600080fd5b5061023c61066a565b60408051918252519081900360200190f35b34801561025a57600080fd5b50610225600160a060020a0360043516602435610670565b34801561027e57600080fd5b506101f0600160a060020a0360043581169060243516604435610829565b3480156102a857600080fd5b506102b161087a565b6040805160ff9092168252519081900360200190f35b3480156102d357600080fd5b506101f0600160a060020a0360043516602435610883565b3480156102f757600080fd5b50610225600160a060020a0360043516610972565b34801561031857600080fd5b50610321610abb565b60408051600160a060020a039092168252519081900360200190f35b34801561034957600080fd5b50610225600160a060020a0360043516610b11565b34801561036a57600080fd5b5061023c600160a060020a0360043516610bcc565b34801561038b57600080fd5b50610225600160a060020a0360043516602435610be7565b3480156103af57600080fd5b5061023c610c76565b3480156103c457600080fd5b50610321610c82565b3480156103d957600080fd5b50610321610cd8565b3480156103ee57600080fd5b5061023c610d2e565b34801561040357600080fd5b50610157610d34565b34801561041857600080fd5b5061023c600160a060020a0360043516610d8f565b34801561043957600080fd5b506101f0600160a060020a0360043516602435610daa565b34801561045d57600080fd5b5061023c610ddc565b34801561047257600080fd5b5061023c600160a060020a0360043516610def565b34801561049357600080fd5b506101f0600160a060020a0360043516602435610e01565b3480156104b757600080fd5b5061023c600160a060020a0360043581169060243516610e9a565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105585780601f1061052d57610100808354040283529160200191610558565b820191906000526020600020905b81548152906001019060200180831161053b57829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600754600160a060020a031633146105dd57600080fd5b600160a060020a03811615156105f257600080fd5b600854600160a060020a038281169116141561060d57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821792839055604051919216907fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90600090a350565b60015490565b60095460009081908190600160a060020a0316331461068e57600080fd5b600160a060020a03851615156106a357600080fd5b600084116106b057600080fd5b6106b985610d8f565b92506106c485610bcc565b9150838310156106d357600080fd5b838210156106e057600080fd5b50600160a060020a0384166000818152600a602090815260409182902086860390819055825181815292519093927f872768977511ded17070d838c821f2459b45f6dff642dc0cd79be17d6f9c12fc92908290030190a2600160a060020a038516600090815260208190526040902054610760908563ffffffff610ec516565b600160a060020a038087166000908152602081905260408082209390935560075490911681522054610798908563ffffffff610ed716565b60078054600160a060020a039081166000908152602081815260409182902094909455915482518881529251908216939189169260008051602061111b83398151915292908290030190a3604080518581529051600160a060020a038716917fbf7736aaf310cd7aa7cd231ba28117821189be3bc3d836e8afe017dfc629c665919081900360200190a25050505050565b600160a060020a0383166000908152600a60209081526040808320549183905282205461085b9163ffffffff610ec516565b82111561086757600080fd5b610872848484610eea565b949350505050565b60055460ff1681565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106108d757336000908152600260209081526040808320600160a060020a038816845290915281205561090c565b6108e7818463ffffffff610ec516565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6008546000908190600160a060020a0316331461098e57600080fd5b600160a060020a03831615156109a357600080fd5b600754600160a060020a03848116911614156109be57600080fd5b60078054600160a060020a0385811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116935083907f16e2accad9173abff57b295b56993ec5d86b3cbf791fea02f02a6616463754ea90600090a350600160a060020a038082166000908152602081905260408082208054908390559285168252902054610a52908263ffffffff610ed716565b600160a060020a0380851660008181526020818152604080832095909555600281528482203383528152848220829055828252600a8152848220919091558351858152935191939286169260008051602061111b833981519152929081900390910190a3505050565b600854600090600160a060020a0316331480610ae15750600754600160a060020a031633145b80610af65750600954600160a060020a031633145b1515610b0157600080fd5b50600954600160a060020a031690565b600854600160a060020a0316331480610b345750600754600160a060020a031633145b1515610b3f57600080fd5b600160a060020a0381161515610b5457600080fd5b600954600160a060020a0382811691161415610b6f57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821792839055604051919216907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f90600090a350565b600160a060020a031660009081526020819052604090205490565b600954600160a060020a03163314610bfe57600080fd5b600154811115610c0d57600080fd5b600160a060020a0382161515610c2257600080fd5b600160a060020a0382166000818152600a6020908152604091829020849055815184815291517f872768977511ded17070d838c821f2459b45f6dff642dc0cd79be17d6f9c12fc9281900390910190a25050565b60055460ff16600a0a90565b600854600090600160a060020a0316331480610ca85750600754600160a060020a031633145b80610cbd5750600954600160a060020a031633145b1515610cc857600080fd5b50600854600160a060020a031690565b600854600090600160a060020a0316331480610cfe5750600754600160a060020a031633145b80610d135750600954600160a060020a031633145b1515610d1e57600080fd5b50600754600160a060020a031690565b60065490565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105585780601f1061052d57610100808354040283529160200191610558565b600160a060020a03166000908152600a602052604090205490565b6000610db533610d8f565b82610dbf33610bcc565b031015610dcb57600080fd5b610dd5838361104d565b9392505050565b336000908152600a602052604090205490565b600a6020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054610e35908363ffffffff610ed716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600082821115610ed157fe5b50900390565b81810182811015610ee457fe5b92915050565b600160a060020a038316600090815260208190526040812054821115610f0f57600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610f3f57600080fd5b600160a060020a0383161515610f5457600080fd5b600160a060020a038416600090815260208190526040902054610f7d908363ffffffff610ec516565b600160a060020a038086166000908152602081905260408082209390935590851681522054610fb2908363ffffffff610ed716565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610ff4908363ffffffff610ec516565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061111b833981519152929181900390910190a35060019392505050565b3360009081526020819052604081205482111561106957600080fd5b600160a060020a038316151561107e57600080fd5b3360009081526020819052604090205461109e908363ffffffff610ec516565b3360009081526020819052604080822092909255600160a060020a038516815220546110d0908363ffffffff610ed716565b600160a060020a0384166000818152602081815260409182902093909355805185815290519192339260008051602061111b8339815191529281900390910190a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058207e675eb55c1041805c8407b46bdb1450742b9e8022848e0e81248eb4d6e6a42d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000bf66753a42eeb2f5b5b528622073d576794535b7000000000000000000000000dc7e6fe01c5a8f753f3ff8de2dab145051ae17f300000000000000000000000059f66183e707ca6d2ec12fdcc192fdaae5ebb4da0000000000000000000000000000000000000000000000000000000000000003504c5900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008506c6179436f696e000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _symbol (string): PLY
Arg [1] : _name (string): PlayCoin
Arg [2] : _owner (address): 0xBf66753a42eeb2f5b5B528622073d576794535B7
Arg [3] : _admin (address): 0xDc7e6Fe01c5a8f753f3fF8de2DaB145051aE17f3
Arg [4] : _vault (address): 0x59f66183E707ca6d2EC12fDCC192fdAae5Ebb4Da
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 000000000000000000000000bf66753a42eeb2f5b5b528622073d576794535b7
Arg [3] : 000000000000000000000000dc7e6fe01c5a8f753f3ff8de2dab145051ae17f3
Arg [4] : 00000000000000000000000059f66183e707ca6d2ec12fdcc192fdaae5ebb4da
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 504c590000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [8] : 506c6179436f696e000000000000000000000000000000000000000000000000
Swarm Source
bzzr://7e675eb55c1041805c8407b46bdb1450742b9e8022848e0e81248eb4d6e6a42d
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.