Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PlayerBook
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-07-25
*/
pragma solidity ^0.4.24;
interface PlayerBookReceiverInterface {
function receivePlayerInfo(uint256 _pID, address _addr, bytes32 _name, uint256 _laff) external;
function receivePlayerNameList(uint256 _pID, bytes32 _name) external;
}
contract PlayerBook {
using NameFilter for string;
using SafeMath for uint256;
address private communityAddr = 0x3705B81d42199138E53FB0Ad57613ce309576077;
//==============================================================================
// _| _ _|_ _ _ _ _|_ _ .
// (_|(_| | (_| _\(/_ | |_||_) .
//=============================|================================================
uint256 public registrationFee_ = 10 finney; // price to register a name
mapping(uint256 => PlayerBookReceiverInterface) public games_; // mapping of our game interfaces for sending your account info to games
mapping(address => bytes32) public gameNames_; // lookup a games name
mapping(address => uint256) public gameIDs_; // lokup a games ID
uint256 public gID_; // total number of games
uint256 public pID_; // total number of players
mapping (address => uint256) public pIDxAddr_; // (addr => pID) returns player id by address
mapping (bytes32 => uint256) public pIDxName_; // (name => pID) returns player id by name
mapping (uint256 => Player) public plyr_; // (pID => data) player data
mapping (uint256 => mapping (bytes32 => bool)) public plyrNames_; // (pID => name => bool) list of names a player owns. (used so you can change your display name amoungst any name you own)
mapping (uint256 => mapping (uint256 => bytes32)) public plyrNameList_; // (pID => nameNum => name) list of names a player owns
struct Player {
address addr;
bytes32 name;
uint256 laff;
uint256 names;
}
//==============================================================================
// _ _ _ __|_ _ __|_ _ _ .
// (_(_)| |_\ | | |_|(_ | (_)| . (initial data setup upon contract deploy)
//==============================================================================
constructor()
public
{
// premine the dev names (sorry not sorry)
// No keys are purchased with this method, it's simply locking our addresses,
// PID's and names for referral codes.
plyr_[1].addr = 0xC018492974D65c3B3A9FcE1B9f7577505F31A7D8;
plyr_[1].name = "daddy";
plyr_[1].names = 1;
pIDxAddr_[0xC018492974D65c3B3A9FcE1B9f7577505F31A7D8] = 1;
pIDxName_["daddy"] = 1;
plyrNames_[1]["daddy"] = true;
plyrNameList_[1][1] = "daddy";
plyr_[2].addr = 0x55636a5fD4A78d86415B72e09E131D9D0e095e57;
plyr_[2].name = "suoha";
plyr_[2].names = 1;
pIDxAddr_[0x55636a5fD4A78d86415B72e09E131D9D0e095e57] = 2;
pIDxName_["suoha"] = 2;
plyrNames_[2]["suoha"] = true;
plyrNameList_[2][1] = "suoha";
plyr_[3].addr = 0xe948b1fF4e02cf8fa0A5Cc479b98E52022Aa5acF;
plyr_[3].name = "nodumb";
plyr_[3].names = 1;
pIDxAddr_[0xe948b1fF4e02cf8fa0A5Cc479b98E52022Aa5acF] = 3;
pIDxName_["nodumb"] = 3;
plyrNames_[3]["nodumb"] = true;
plyrNameList_[3][1] = "nodumb";
plyr_[4].addr = 0x8cFD216Eb0a305Af16f838396DFD6BDeDecd0689;
plyr_[4].name = "dddos";
plyr_[4].names = 1;
pIDxAddr_[0x8cFD216Eb0a305Af16f838396DFD6BDeDecd0689] = 4;
pIDxName_["dddos"] = 4;
plyrNames_[4]["dddos"] = true;
plyrNameList_[4][1] = "dddos";
pID_ = 4;
}
//==============================================================================
// _ _ _ _|. |`. _ _ _ .
// | | |(_)(_||~|~|(/_| _\ . (these are safety checks)
//==============================================================================
/**
* @dev prevents contracts from interacting with fomo3d
*/
modifier isHuman() {
address _addr = msg.sender;
uint256 _codeLength;
assembly {_codeLength := extcodesize(_addr)}
require(_codeLength == 0, "sorry humans only");
_;
}
modifier onlyCommunity()
{
require(msg.sender == communityAddr, "msg sender is not the community");
_;
}
modifier isRegisteredGame()
{
require(gameIDs_[msg.sender] != 0);
_;
}
//==============================================================================
// _ _ _ _|_ _ .
// (/_\/(/_| | | _\ .
//==============================================================================
// fired whenever a player registers a name
event onNewName
(
uint256 indexed playerID,
address indexed playerAddress,
bytes32 indexed playerName,
bool isNewPlayer,
uint256 affiliateID,
address affiliateAddress,
bytes32 affiliateName,
uint256 amountPaid,
uint256 timeStamp
);
//==============================================================================
// _ _ _|__|_ _ _ _ .
// (_|(/_ | | (/_| _\ . (for UI & viewing things on etherscan)
//=====_|=======================================================================
function checkIfNameValid(string _nameStr)
public
view
returns(bool)
{
bytes32 _name = _nameStr.nameFilter();
if (pIDxName_[_name] == 0)
return (true);
else
return (false);
}
//==============================================================================
// _ |_ |. _ |` _ __|_. _ _ _ .
// |_)|_||_)||(_ ~|~|_|| |(_ | |(_)| |_\ . (use these to interact with contract)
//====|=========================================================================
/**
* @dev registers a name. UI will always display the last name you registered.
* but you will still own all previously registered names to use as affiliate
* links.
* - must pay a registration fee.
* - name must be unique
* - names will be converted to lowercase
* - name cannot start or end with a space
* - cannot have more than 1 space in a row
* - cannot be only numbers
* - cannot start with 0x
* - name must be at least 1 char
* - max length of 32 characters long
* - allowed characters: a-z, 0-9, and space
* -functionhash- 0x921dec21 (using ID for affiliate)
* -functionhash- 0x3ddd4698 (using address for affiliate)
* -functionhash- 0x685ffd83 (using name for affiliate)
* @param _nameString players desired name
* @param _affCode affiliate ID, address, or name of who refered you
* @param _all set to true if you want this to push your info to all games
* (this might cost a lot of gas)
*/
function registerNameXID(string _nameString, uint256 _affCode, bool _all)
isHuman()
public
payable
{
// make sure name fees paid
require (msg.value >= registrationFee_, "umm..... you have to pay the name fee");
// filter name + condition checks
bytes32 _name = NameFilter.nameFilter(_nameString);
// set up address
address _addr = msg.sender;
// set up our tx event data and determine if player is new or not
bool _isNewPlayer = determinePID(_addr);
// fetch player id
uint256 _pID = pIDxAddr_[_addr];
// manage affiliate residuals
// if no affiliate code was given, no new affiliate code was given, or the
// player tried to use their own pID as an affiliate code, lolz
if (_affCode != 0 && _affCode != plyr_[_pID].laff && _affCode != _pID)
{
// update last affiliate
plyr_[_pID].laff = _affCode;
} else if (_affCode == _pID) {
_affCode = 0;
}
// register name
registerNameCore(_pID, _addr, _affCode, _name, _isNewPlayer, _all);
}
function registerNameXaddr(string _nameString, address _affCode, bool _all)
isHuman()
public
payable
{
// make sure name fees paid
require (msg.value >= registrationFee_, "umm..... you have to pay the name fee");
// filter name + condition checks
bytes32 _name = NameFilter.nameFilter(_nameString);
// set up address
address _addr = msg.sender;
// set up our tx event data and determine if player is new or not
bool _isNewPlayer = determinePID(_addr);
// fetch player id
uint256 _pID = pIDxAddr_[_addr];
// manage affiliate residuals
// if no affiliate code was given or player tried to use their own, lolz
uint256 _affID;
if (_affCode != address(0) && _affCode != _addr)
{
// get affiliate ID from aff Code
_affID = pIDxAddr_[_affCode];
// if affID is not the same as previously stored
if (_affID != plyr_[_pID].laff)
{
// update last affiliate
plyr_[_pID].laff = _affID;
}
}
// register name
registerNameCore(_pID, _addr, _affID, _name, _isNewPlayer, _all);
}
function registerNameXname(string _nameString, bytes32 _affCode, bool _all)
isHuman()
public
payable
{
// make sure name fees paid
require (msg.value >= registrationFee_, "umm..... you have to pay the name fee");
// filter name + condition checks
bytes32 _name = NameFilter.nameFilter(_nameString);
// set up address
address _addr = msg.sender;
// set up our tx event data and determine if player is new or not
bool _isNewPlayer = determinePID(_addr);
// fetch player id
uint256 _pID = pIDxAddr_[_addr];
// manage affiliate residuals
// if no affiliate code was given or player tried to use their own, lolz
uint256 _affID;
if (_affCode != "" && _affCode != _name)
{
// get affiliate ID from aff Code
_affID = pIDxName_[_affCode];
// if affID is not the same as previously stored
if (_affID != plyr_[_pID].laff)
{
// update last affiliate
plyr_[_pID].laff = _affID;
}
}
// register name
registerNameCore(_pID, _addr, _affID, _name, _isNewPlayer, _all);
}
/**
* @dev players, if you registered a profile, before a game was released, or
* set the all bool to false when you registered, use this function to push
* your profile to a single game. also, if you've updated your name, you
* can use this to push your name to games of your choosing.
* -functionhash- 0x81c5b206
* @param _gameID game id
*/
function addMeToGame(uint256 _gameID)
isHuman()
public
{
require(_gameID <= gID_, "silly player, that game doesn't exist yet");
address _addr = msg.sender;
uint256 _pID = pIDxAddr_[_addr];
require(_pID != 0, "hey there buddy, you dont even have an account");
uint256 _totalNames = plyr_[_pID].names;
// add players profile and most recent name
games_[_gameID].receivePlayerInfo(_pID, _addr, plyr_[_pID].name, plyr_[_pID].laff);
// add list of all names
if (_totalNames > 1)
for (uint256 ii = 1; ii <= _totalNames; ii++)
games_[_gameID].receivePlayerNameList(_pID, plyrNameList_[_pID][ii]);
}
/**
* @dev players, use this to push your player profile to all registered games.
* -functionhash- 0x0c6940ea
*/
function addMeToAllGames()
isHuman()
public
{
address _addr = msg.sender;
uint256 _pID = pIDxAddr_[_addr];
require(_pID != 0, "hey there buddy, you dont even have an account");
uint256 _laff = plyr_[_pID].laff;
uint256 _totalNames = plyr_[_pID].names;
bytes32 _name = plyr_[_pID].name;
for (uint256 i = 1; i <= gID_; i++)
{
games_[i].receivePlayerInfo(_pID, _addr, _name, _laff);
if (_totalNames > 1)
for (uint256 ii = 1; ii <= _totalNames; ii++)
games_[i].receivePlayerNameList(_pID, plyrNameList_[_pID][ii]);
}
}
/**
* @dev players use this to change back to one of your old names. tip, you'll
* still need to push that info to existing games.
* -functionhash- 0xb9291296
* @param _nameString the name you want to use
*/
function useMyOldName(string _nameString)
isHuman()
public
{
// filter name, and get pID
bytes32 _name = _nameString.nameFilter();
uint256 _pID = pIDxAddr_[msg.sender];
// make sure they own the name
require(plyrNames_[_pID][_name] == true, "umm... thats not a name you own");
// update their current name
plyr_[_pID].name = _name;
}
//==============================================================================
// _ _ _ _ | _ _ . _ .
// (_(_)| (/_ |(_)(_||(_ .
//=====================_|=======================================================
function registerNameCore(uint256 _pID, address _addr, uint256 _affID, bytes32 _name, bool _isNewPlayer, bool _all)
private
{
// if names already has been used, require that current msg sender owns the name
if (pIDxName_[_name] != 0)
require(plyrNames_[_pID][_name] == true, "sorry that names already taken");
// add name to player profile, registry, and name book
plyr_[_pID].name = _name;
pIDxName_[_name] = _pID;
if (plyrNames_[_pID][_name] == false)
{
plyrNames_[_pID][_name] = true;
plyr_[_pID].names++;
plyrNameList_[_pID][plyr_[_pID].names] = _name;
}
// registration fee goes directly to community rewards
communityAddr.transfer(address(this).balance);
// push player info to games
if (_all == true)
for (uint256 i = 1; i <= gID_; i++)
games_[i].receivePlayerInfo(_pID, _addr, _name, _affID);
// fire event
emit onNewName(_pID, _addr, _name, _isNewPlayer, _affID, plyr_[_affID].addr, plyr_[_affID].name, msg.value, now);
}
//==============================================================================
// _|_ _ _ | _ .
// | (_)(_)|_\ .
//==============================================================================
function determinePID(address _addr)
private
returns (bool)
{
if (pIDxAddr_[_addr] == 0)
{
pID_++;
pIDxAddr_[_addr] = pID_;
plyr_[pID_].addr = _addr;
// set the new player bool to true
return (true);
} else {
return (false);
}
}
//==============================================================================
// _ _|_ _ _ _ _ | _ _ || _ .
// (/_>< | (/_| | |(_|| (_(_|||_\ .
//==============================================================================
function getPlayerID(address _addr)
isRegisteredGame()
external
returns (uint256)
{
determinePID(_addr);
return (pIDxAddr_[_addr]);
}
function getPlayerName(uint256 _pID)
external
view
returns (bytes32)
{
return (plyr_[_pID].name);
}
function getPlayerLAff(uint256 _pID)
external
view
returns (uint256)
{
return (plyr_[_pID].laff);
}
function getPlayerAddr(uint256 _pID)
external
view
returns (address)
{
return (plyr_[_pID].addr);
}
function getNameFee()
external
view
returns (uint256)
{
return(registrationFee_);
}
function registerNameXIDFromDapp(address _addr, bytes32 _name, uint256 _affCode, bool _all)
isRegisteredGame()
external
payable
returns(bool, uint256)
{
// make sure name fees paid
require (msg.value >= registrationFee_, "umm..... you have to pay the name fee");
// set up our tx event data and determine if player is new or not
bool _isNewPlayer = determinePID(_addr);
// fetch player id
uint256 _pID = pIDxAddr_[_addr];
// manage affiliate residuals
// if no affiliate code was given, no new affiliate code was given, or the
// player tried to use their own pID as an affiliate code, lolz
uint256 _affID = _affCode;
if (_affID != 0 && _affID != plyr_[_pID].laff && _affID != _pID)
{
// update last affiliate
plyr_[_pID].laff = _affID;
} else if (_affID == _pID) {
_affID = 0;
}
// register name
registerNameCore(_pID, _addr, _affID, _name, _isNewPlayer, _all);
return(_isNewPlayer, _affID);
}
function registerNameXaddrFromDapp(address _addr, bytes32 _name, address _affCode, bool _all)
isRegisteredGame()
external
payable
returns(bool, uint256)
{
// make sure name fees paid
require (msg.value >= registrationFee_, "umm..... you have to pay the name fee");
// set up our tx event data and determine if player is new or not
bool _isNewPlayer = determinePID(_addr);
// fetch player id
uint256 _pID = pIDxAddr_[_addr];
// manage affiliate residuals
// if no affiliate code was given or player tried to use their own, lolz
uint256 _affID;
if (_affCode != address(0) && _affCode != _addr)
{
// get affiliate ID from aff Code
_affID = pIDxAddr_[_affCode];
// if affID is not the same as previously stored
if (_affID != plyr_[_pID].laff)
{
// update last affiliate
plyr_[_pID].laff = _affID;
}
}
// register name
registerNameCore(_pID, _addr, _affID, _name, _isNewPlayer, _all);
return(_isNewPlayer, _affID);
}
function registerNameXnameFromDapp(address _addr, bytes32 _name, bytes32 _affCode, bool _all)
isRegisteredGame()
external
payable
returns(bool, uint256)
{
// make sure name fees paid
require (msg.value >= registrationFee_, "umm..... you have to pay the name fee");
// set up our tx event data and determine if player is new or not
bool _isNewPlayer = determinePID(_addr);
// fetch player id
uint256 _pID = pIDxAddr_[_addr];
// manage affiliate residuals
// if no affiliate code was given or player tried to use their own, lolz
uint256 _affID;
if (_affCode != "" && _affCode != _name)
{
// get affiliate ID from aff Code
_affID = pIDxName_[_affCode];
// if affID is not the same as previously stored
if (_affID != plyr_[_pID].laff)
{
// update last affiliate
plyr_[_pID].laff = _affID;
}
}
// register name
registerNameCore(_pID, _addr, _affID, _name, _isNewPlayer, _all);
return(_isNewPlayer, _affID);
}
//==============================================================================
// _ _ _|_ _ .
// _\(/_ | |_||_) .
//=============|================================================================
function addGame(address _gameAddress, string _gameNameStr)
onlyCommunity()
public
{
require(gameIDs_[_gameAddress] == 0, "derp, that games already been registered");
gID_++;
bytes32 _name = _gameNameStr.nameFilter();
gameIDs_[_gameAddress] = gID_;
gameNames_[_gameAddress] = _name;
games_[gID_] = PlayerBookReceiverInterface(_gameAddress);
games_[gID_].receivePlayerInfo(1, plyr_[1].addr, plyr_[1].name, 0);
games_[gID_].receivePlayerInfo(2, plyr_[2].addr, plyr_[2].name, 0);
games_[gID_].receivePlayerInfo(3, plyr_[3].addr, plyr_[3].name, 0);
games_[gID_].receivePlayerInfo(4, plyr_[4].addr, plyr_[4].name, 0);
}
function setRegistrationFee(uint256 _fee)
onlyCommunity()
public
{
registrationFee_ = _fee;
}
}
library NameFilter {
/**
* @dev filters name strings
* -converts uppercase to lower case.
* -makes sure it does not start/end with a space
* -makes sure it does not contain multiple spaces in a row
* -cannot be only numbers
* -cannot start with 0x
* -restricts characters to A-Z, a-z, 0-9, and space.
* @return reprocessed string in bytes32 format
*/
function nameFilter(string _input)
internal
pure
returns(bytes32)
{
bytes memory _temp = bytes(_input);
uint256 _length = _temp.length;
//sorry limited to 32 characters
require (_length <= 32 && _length > 0, "string must be between 1 and 32 characters");
// make sure it doesnt start with or end with space
require(_temp[0] != 0x20 && _temp[_length-1] != 0x20, "string cannot start or end with space");
// make sure first two characters are not 0x
if (_temp[0] == 0x30)
{
require(_temp[1] != 0x78, "string cannot start with 0x");
require(_temp[1] != 0x58, "string cannot start with 0X");
}
// create a bool to track if we have a non number character
bool _hasNonNumber;
// convert & check
for (uint256 i = 0; i < _length; i++)
{
// if its uppercase A-Z
if (_temp[i] > 0x40 && _temp[i] < 0x5b)
{
// convert to lower case a-z
_temp[i] = byte(uint(_temp[i]) + 32);
// we have a non number
if (_hasNonNumber == false)
_hasNonNumber = true;
} else {
require
(
// require character is a space
_temp[i] == 0x20 ||
// OR lowercase a-z
(_temp[i] > 0x60 && _temp[i] < 0x7b) ||
// or 0-9
(_temp[i] > 0x2f && _temp[i] < 0x3a),
"string contains invalid characters"
);
// make sure theres not 2x spaces in a row
if (_temp[i] == 0x20)
require( _temp[i+1] != 0x20, "string cannot contain consecutive spaces");
// see if we have a character other than a number
if (_hasNonNumber == false && (_temp[i] < 0x30 || _temp[i] > 0x39))
_hasNonNumber = true;
}
}
require(_hasNonNumber == true, "string cannot be only numbers");
bytes32 _ret;
assembly {
_ret := mload(add(_temp, 32))
}
return (_ret);
}
}
/**
* @title SafeMath v0.1.9
* @dev Math operations with safety checks that throw on error
* change notes: original SafeMath library from OpenZeppelin modified by dddos
* - added sqrt
* - added sq
* - added pwr
* - changed asserts to requires with error log outputs
* - removed div, its useless
*/
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
*/
function mul(uint256 a, uint256 b)
internal
pure
returns (uint256 c)
{
if (a == 0) {
return 0;
}
c = a * b;
require(c / a == b, "SafeMath mul failed");
return c;
}
/**
* @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)
{
require(b <= a, "SafeMath sub failed");
return a - b;
}
/**
* @dev Adds two numbers, throws on overflow.
*/
function add(uint256 a, uint256 b)
internal
pure
returns (uint256 c)
{
c = a + b;
require(c >= a, "SafeMath add failed");
return c;
}
/**
* @dev gives square root of given x.
*/
function sqrt(uint256 x)
internal
pure
returns (uint256 y)
{
uint256 z = ((add(x,1)) / 2);
y = x;
while (z < y)
{
y = z;
z = ((add((x / z),z)) / 2);
}
}
/**
* @dev gives square. multiplies x by x
*/
function sq(uint256 x)
internal
pure
returns (uint256)
{
return (mul(x,x));
}
/**
* @dev x to the power of y
*/
function pwr(uint256 x, uint256 y)
internal
pure
returns (uint256)
{
if (x==0)
return (0);
else if (y==0)
return (1);
else
{
uint256 z = x;
for (uint256 i=1; i < y; i++)
z = mul(z,x);
return (z);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[],"name":"addMeToAllGames","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pIDxAddr_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registrationFee_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getNameFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"bytes32"}],"name":"plyrNames_","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"gameNames_","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"pIDxName_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nameString","type":"string"},{"name":"_affCode","type":"address"},{"name":"_all","type":"bool"}],"name":"registerNameXaddr","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_gameAddress","type":"address"},{"name":"_gameNameStr","type":"string"}],"name":"addGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pID_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pID","type":"uint256"}],"name":"getPlayerAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nameString","type":"string"},{"name":"_affCode","type":"bytes32"},{"name":"_all","type":"bool"}],"name":"registerNameXname","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_nameStr","type":"string"}],"name":"checkIfNameValid","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_name","type":"bytes32"},{"name":"_affCode","type":"bytes32"},{"name":"_all","type":"bool"}],"name":"registerNameXnameFromDapp","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_gameID","type":"uint256"}],"name":"addMeToGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pID","type":"uint256"}],"name":"getPlayerName","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nameString","type":"string"},{"name":"_affCode","type":"uint256"},{"name":"_all","type":"bool"}],"name":"registerNameXID","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"plyrNameList_","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_name","type":"bytes32"},{"name":"_affCode","type":"address"},{"name":"_all","type":"bool"}],"name":"registerNameXaddrFromDapp","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_nameString","type":"string"}],"name":"useMyOldName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gID_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_name","type":"bytes32"},{"name":"_affCode","type":"uint256"},{"name":"_all","type":"bool"}],"name":"registerNameXIDFromDapp","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint256"}],"name":"setRegistrationFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"games_","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"gameIDs_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"plyr_","outputs":[{"name":"addr","type":"address"},{"name":"name","type":"bytes32"},{"name":"laff","type":"uint256"},{"name":"names","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pID","type":"uint256"}],"name":"getPlayerLAff","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"getPlayerID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"playerID","type":"uint256"},{"indexed":true,"name":"playerAddress","type":"address"},{"indexed":true,"name":"playerName","type":"bytes32"},{"indexed":false,"name":"isNewPlayer","type":"bool"},{"indexed":false,"name":"affiliateID","type":"uint256"},{"indexed":false,"name":"affiliateAddress","type":"address"},{"indexed":false,"name":"affiliateName","type":"bytes32"},{"indexed":false,"name":"amountPaid","type":"uint256"},{"indexed":false,"name":"timeStamp","type":"uint256"}],"name":"onNewName","type":"event"}]Contract Creation Code
608060405260008054600160a060020a031916733705b81d42199138e53fb0ad57613ce309576077179055662386f26fc1000060015534801561004157600080fd5b507f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a368054600160a060020a031990811673c018492974d65c3b3a9fce1b9f7577505f31a7d8179091557f64616464790000000000000000000000000000000000000000000000000000007f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3781905560017f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a398190557fe0327fb19e61f026d9d5e33cc5805bc0b5d12d990c353b6fdb86a5a0f3e34f718190557fce13d380d0e6337ab0d5c3a5f7c19859ed01070e9f9ce43cd618a2ecdb445d658190557f3868fa30e5120aae0e3f10048725b0af4220a8ab14025215f388ced6cb44b845805460ff1990811683179091557f6bd9ce7c7c44b510ee825857e9b7d0dbc77ffc0dcbb487d9763a092e420c9a18929092557f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c3805484167355636a5fd4a78d86415b72e09e131d9d0e095e571790557f73756f68610000000000000000000000000000000000000000000000000000007f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c48190557f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c682905560027f5c3e0ed4acbe87549869e92b52980a1fd13e016f17885f61cbf581ab0cf78d168190557feb5492116d548ed6ae547874e524785c02f798f79cecc1236ba594e38042e6fc557f0ee76110ced7e3a3d7c580fb0b9cb15d0a7b21460f2ea64c9303dc63fff6a7cb80548416831790557f5ec873723cdc64ab6619ea2fcbca33beef9a820510f97aa9ecb9e3ff0f638853557fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e78054841673e948b1ff4e02cf8fa0a5cc479b98e52022aa5acf1790557f6e6f64756d6200000000000000000000000000000000000000000000000000007fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e88190557fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61ea82905560037f98aa7ffe378abaa10675e56fdc28636bf8014f246910eba2d73e6f2c41be6fe38190557f7cacd3aae1732ccf6ff9d4da6b75be486de1e49e54bd837787582bb8066c36bb557fc717e33e7563cf1eab60a637635564f31d043afea3d401e74dc8b974eb09636a80548416831790557f960add1d2a4af75b2cd16bfb54d92ee5d4c29427a1bf605fa9b667906b27d701557f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cb8054909316738cfd216eb0a305af16f838396dfd6bdedecd0689179092557f6464646f730000000000000000000000000000000000000000000000000000007f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cc8190557f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9ce83905560047f49c615d107ae48c2c37e05444d3919a8a692b15eebbe64387c1992f89a88f0cd8190557f6b4d17d5e9cca4a4e9f1534006b1d2d250c5aeed05e05207b485b1a780dfce1d8190557f202ba62d7b4cf4571fc8363efec49f324ce248dfd419087fc22c2b23744a4337805490931684179092556000929092527f12d0c11577e2f0950f57c455c117796550b79f444811db8ba2f69c57b646c7846020527f2c4ff72984b96d6e24887abcd47b1c2fb2b1bd600b7f7d037d1a2ac35568baab9190915560065561260f806105806000396000f3006080604052600436106101695763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c6940ea811461016e57806310f01eba14610185578063180603eb146101b85780632614195f146101cd5780632660316e146101e257806327249e61146102115780632e19ebdc146102325780633ddd46981461024a5780633fda926e146102a65780634b2271761461030d5780634d0d35ff14610322578063685ffd83146103565780636c52660d146103a9578063745ea0c11461040257806381c5b2061461043c57806382e37b2c14610454578063921dec211461046c578063a448ed4b146104bf578063aa4d490b146104da578063b9291296146104fd578063b9eca0c814610556578063c0942dfd1461056b578063c320c7271461058a578063d5241279146105a2578063dbbcaa97146105ba578063de7874f3146105db578063e3c08adf14610623578063e56556a91461063b575b600080fd5b34801561017a57600080fd5b5061018361065c565b005b34801561019157600080fd5b506101a6600160a060020a03600435166108ca565b60408051918252519081900360200190f35b3480156101c457600080fd5b506101a66108dc565b3480156101d957600080fd5b506101a66108e2565b3480156101ee57600080fd5b506101fd6004356024356108e8565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506101a6600160a060020a0360043516610908565b34801561023e57600080fd5b506101a660043561091a565b6040805160206004803580820135601f810184900484028501840190955284845261018394369492936024939284019190819084018382808284375094975050600160a060020a0385351695505050505060200135151561092c565b3480156102b257600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610183958335600160a060020a0316953695604494919390910191908190840183828082843750949750610a969650505050505050565b34801561031957600080fd5b506101a6610f3c565b34801561032e57600080fd5b5061033a600435610f42565b60408051600160a060020a039092168252519081900360200190f35b6040805160206004803580820135601f8101849004840285018401909552848452610183943694929360249392840191908190840183828082843750949750508435955050505050602001351515610f60565b3480156103b557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101fd94369492936024939284019190819084018382808284375094975061109e9650505050505050565b610421600160a060020a036004351660243560443560643515156110d6565b60408051921515835260208301919091528051918290030190f35b34801561044857600080fd5b506101836004356111ea565b34801561046057600080fd5b506101a66004356114b7565b6040805160206004803580820135601f81018490048402850184019095528484526101839436949293602493928401919081908401838280828437509497505084359550505050506020013515156114cc565b3480156104cb57600080fd5b506101a660043560243561160e565b610421600160a060020a036004358116906024359060443516606435151561162b565b34801561050957600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261018394369492936024939284019190819084018382808284375094975061174e9650505050505050565b34801561056257600080fd5b506101a6611840565b610421600160a060020a03600435166024356044356064351515611846565b34801561059657600080fd5b50610183600435611952565b3480156105ae57600080fd5b5061033a6004356119b9565b3480156105c657600080fd5b506101a6600160a060020a03600435166119d4565b3480156105e757600080fd5b506105f36004356119e6565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561062f57600080fd5b506101a6600435611a17565b34801561064757600080fd5b506101a6600160a060020a0360043516611a2c565b600080808080808033803b80156106ab576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b33600081815260076020526040902054909950975087151561073d576040805160e560020a62461bcd02815260206004820152602e60248201527f6865792074686572652062756464792c20796f7520646f6e74206576656e206860448201527f61766520616e206163636f756e74000000000000000000000000000000000000606482015290519081900360840190fd5b6000888152600960205260409020600281015460038201546001928301549199509750955093505b60055484116108bf5760008481526002602052604080822054815160e060020a6349cc635d028152600481018c9052600160a060020a038d81166024830152604482018a9052606482018c9052925192909116926349cc635d9260848084019382900301818387803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b5050505060018611156108b457600192505b8583116108b4576000848152600260209081526040808320548b8452600b83528184208785529092528083205481517f8f7140ea000000000000000000000000000000000000000000000000000000008152600481018d905260248101919091529051600160a060020a0390921692638f7140ea9260448084019382900301818387803b15801561089057600080fd5b505af11580156108a4573d6000803e3d6000fd5b5050600190940193506108009050565b600190930192610765565b505050505050505050565b60076020526000908152604090205481565b60015481565b60015490565b600a60209081526000928352604080842090915290825290205460ff1681565b60036020526000908152604090205481565b60086020526000908152604090205481565b60008080808033803b8015610979576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b6001543410156109d5576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6109de8a611a6d565b96503395506109ec86612280565b600160a060020a03808816600090815260076020526040902054919650909450891615801590610a2e575085600160a060020a031689600160a060020a031614155b15610a7c57600160a060020a0389166000908152600760209081526040808320548784526009909252909120600201549093508314610a7c5760008481526009602052604090206002018390555b610a8a8487858a898d612302565b50505050505050505050565b60008054600160a060020a03163314610af9576040805160e560020a62461bcd02815260206004820152601f60248201527f6d73672073656e646572206973206e6f742074686520636f6d6d756e69747900604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205415610b8d576040805160e560020a62461bcd02815260206004820152602860248201527f646572702c20746861742067616d657320616c7265616479206265656e20726560448201527f6769737465726564000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600580546001019055610b9f82611a6d565b60058054600160a060020a03808716600081815260046020818152604080842096909655600381528583208890558654835260028152858320805473ffffffffffffffffffffffffffffffffffffffff19169094179093559454815283812054600180835260099093527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36547f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3754865160e060020a6349cc635d0281529788019490945284166024870152604486019290925260648501819052925194955016926349cc635d92608480820193929182900301818387803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b505060055460009081526002602081815260408084205483855260099092527f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c3547f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c454825160e060020a6349cc635d0281526004810195909552600160a060020a0391821660248601526044850152606484018590529051911694506349cc635d93506084808301939282900301818387803b158015610d7657600080fd5b505af1158015610d8a573d6000803e3d6000fd5b5050600554600090815260026020908152604080832054600380855260099093527fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e7547fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e854835160e060020a6349cc635d0281526004810195909552600160a060020a0391821660248601526044850152606484018590529151911694506349cc635d93506084808301939282900301818387803b158015610e4b57600080fd5b505af1158015610e5f573d6000803e3d6000fd5b5050600554600090815260026020908152604080832054600480855260099093527f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cb547f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cc54835160e060020a6349cc635d02815280860195909552600160a060020a0391821660248601526044850152606484018590529151911694506349cc635d93506084808301939282900301818387803b158015610f1f57600080fd5b505af1158015610f33573d6000803e3d6000fd5b50505050505050565b60065481565b600081815260096020526040902054600160a060020a03165b919050565b60008080808033803b8015610fad576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b600154341015611009576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6110128a611a6d565b965033955061102086612280565b600160a060020a0387166000908152600760205260409020549095509350881580159061104d5750888714155b15610a7c576000898152600860209081526040808320548784526009909252909120600201549093508314610a7c576000848152600960205260409020600201839055610a8a8487858a898d612302565b6000806110aa83611a6d565b60008181526008602052604090205490915015156110cb57600191506110d0565b600091505b50919050565b33600090815260046020526040812054819081908190819015156110f957600080fd5b600154341015611155576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b61115e89612280565b600160a060020a038a166000908152600760205260409020549093509150861580159061118b5750868814155b156111cd575060008681526008602090815260408083205484845260099092529091206002015481146111cd5760008281526009602052604090206002018190555b6111db828a838b878b612302565b91989197509095505050505050565b600080808033803b8015611236576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b6005548711156112b6576040805160e560020a62461bcd02815260206004820152602960248201527f73696c6c7920706c617965722c20746861742067616d6520646f65736e27742060448201527f6578697374207965740000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000818152600760205260409020549096509450841515611348576040805160e560020a62461bcd02815260206004820152602e60248201527f6865792074686572652062756464792c20796f7520646f6e74206576656e206860448201527f61766520616e206163636f756e74000000000000000000000000000000000000606482015290519081900360840190fd5b600085815260096020818152604080842060038101548c86526002808552838720548c88529590945260018201549390910154825160e060020a6349cc635d028152600481018c9052600160a060020a038d8116602483015260448201959095526064810191909152915190985091909216926349cc635d926084808201939182900301818387803b1580156113dd57600080fd5b505af11580156113f1573d6000803e3d6000fd5b505050506001841115610f3357600192505b838311610f3357600087815260026020908152604080832054888452600b83528184208785529092528083205481517f8f7140ea000000000000000000000000000000000000000000000000000000008152600481018a905260248101919091529051600160a060020a0390921692638f7140ea9260448084019382900301818387803b15801561149357600080fd5b505af11580156114a7573d6000803e3d6000fd5b5050600190940193506114039050565b60009081526009602052604090206001015490565b600080808033803b8015611518576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b600154341015611574576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b61157d89611a6d565b955033945061158b85612280565b600160a060020a038616600090815260076020526040902054909450925087158015906115c957506000838152600960205260409020600201548814155b80156115d55750828814155b156115f3576000838152600960205260409020600201889055611600565b8288141561160057600097505b6108bf83868a89888c612302565b600b60209081526000928352604080842090915290825290205481565b336000908152600460205260408120548190819081908190151561164e57600080fd5b6001543410156116aa576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6116b389612280565b600160a060020a03808b166000908152600760205260409020549194509092508716158015906116f5575088600160a060020a031687600160a060020a031614155b156111cd5750600160a060020a03861660009081526007602090815260408083205484845260099092529091206002015481146111cd5760008281526009602052604090206002018190556111db828a838b878b612302565b60008033803b8015611798576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b6117a185611a6d565b33600090815260076020908152604080832054808452600a835281842085855290925290912054919550935060ff161515600114611829576040805160e560020a62461bcd02815260206004820152601f60248201527f756d6d2e2e2e207468617473206e6f742061206e616d6520796f75206f776e00604482015290519081900360640190fd5b505060009081526009602052604090206001015550565b60055481565b336000908152600460205260408120548190819081908190151561186957600080fd5b6001543410156118c5576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6118ce89612280565b600160a060020a038a166000908152600760205260409020549093509150869050801580159061190f57506000828152600960205260409020600201548114155b801561191b5750818114155b156119395760008281526009602052604090206002018190556111cd565b818114156111cd575060006111db828a838b878b612302565b600054600160a060020a031633146119b4576040805160e560020a62461bcd02815260206004820152601f60248201527f6d73672073656e646572206973206e6f742074686520636f6d6d756e69747900604482015290519081900360640190fd5b600155565b600260205260009081526040902054600160a060020a031681565b60046020526000908152604090205481565b6009602052600090815260409020805460018201546002830154600390930154600160a060020a0390921692909184565b60009081526009602052604090206002015490565b336000908152600460205260408120541515611a4757600080fd5b611a5082612280565b5050600160a060020a031660009081526007602052604090205490565b8051600090829082808060208411801590611a885750600084115b1515611b04576040805160e560020a62461bcd02815260206004820152602a60248201527f737472696e67206d757374206265206265747765656e203120616e642033322060448201527f6368617261637465727300000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515611b1357fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214158015611b7a57508460018503815181101515611b5257fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214155b1515611bf6576040805160e560020a62461bcd02815260206004820152602560248201527f737472696e672063616e6e6f74207374617274206f7220656e6420776974682060448201527f7370616365000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515611c0557fe5b90602001015160f860020a900460f860020a02600160f860020a031916603060f860020a021415611d4857846001815181101515611c3f57fe5b90602001015160f860020a900460f860020a02600160f860020a031916607860f860020a0214151515611cbc576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030780000000000604482015290519081900360640190fd5b846001815181101515611ccb57fe5b90602001015160f860020a900460f860020a02600160f860020a031916605860f860020a0214151515611d48576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030580000000000604482015290519081900360640190fd5b600091505b838210156122185784517f400000000000000000000000000000000000000000000000000000000000000090869084908110611d8557fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015611df9575084517f5b0000000000000000000000000000000000000000000000000000000000000090869084908110611dda57fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b15611e66578482815181101515611e0c57fe5b90602001015160f860020a900460f860020a0260f860020a900460200160f860020a028583815181101515611e3d57fe5b906020010190600160f860020a031916908160001a905350821515611e6157600192505b61220d565b8482815181101515611e7457fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a021480611f44575084517f600000000000000000000000000000000000000000000000000000000000000090869084908110611ed057fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015611f44575084517f7b0000000000000000000000000000000000000000000000000000000000000090869084908110611f2557fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b80611fee575084517f2f0000000000000000000000000000000000000000000000000000000000000090869084908110611f7a57fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015611fee575084517f3a0000000000000000000000000000000000000000000000000000000000000090869084908110611fcf57fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b151561206a576040805160e560020a62461bcd02815260206004820152602260248201527f737472696e6720636f6e7461696e7320696e76616c696420636861726163746560448201527f7273000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b848281518110151561207857fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214156121575784826001018151811015156120b457fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214151515612157576040805160e560020a62461bcd02815260206004820152602860248201527f737472696e672063616e6e6f7420636f6e7461696e20636f6e7365637574697660448201527f6520737061636573000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b82158015612203575084517f30000000000000000000000000000000000000000000000000000000000000009086908490811061219057fe5b90602001015160f860020a900460f860020a02600160f860020a0319161080612203575084517f3900000000000000000000000000000000000000000000000000000000000000908690849081106121e457fe5b90602001015160f860020a900460f860020a02600160f860020a031916115b1561220d57600192505b600190910190611d4d565b600183151514612272576040805160e560020a62461bcd02815260206004820152601d60248201527f737472696e672063616e6e6f74206265206f6e6c79206e756d62657273000000604482015290519081900360640190fd5b505050506020015192915050565b600160a060020a03811660009081526007602052604081205415156122fa575060068054600190810191829055600160a060020a03831660008181526007602090815260408083208690559482526009905292909220805473ffffffffffffffffffffffffffffffffffffffff1916909217909155610f5b565b506000610f5b565b6000838152600860205260408120541561238c576000878152600a6020908152604080832087845290915290205460ff16151560011461238c576040805160e560020a62461bcd02815260206004820152601e60248201527f736f7272792074686174206e616d657320616c72656164792074616b656e0000604482015290519081900360640190fd5b6000878152600960209081526040808320600101879055868352600882528083208a9055898352600a825280832087845290915290205460ff16151561241c576000878152600a602090815260408083208784528252808320805460ff191660019081179091558a845260098352818420600301805490910190819055600b835281842090845290915290208490555b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015612457573d6000803e3d6000fd5b5060018215151415612500575060015b60055481116125005760008181526002602052604080822054815160e060020a6349cc635d028152600481018b9052600160a060020a038a8116602483015260448201899052606482018a9052925192909116926349cc635d9260848084019382900301818387803b1580156124dc57600080fd5b505af11580156124f0573d6000803e3d6000fd5b5050600190920191506124679050565b600085815260096020908152604091829020805460019091015483518715158152928301899052600160a060020a039182168385015260608301523460808301524260a0830152915186928916918a917fdd6176433ff5026bbce96b068584b7bbe3514227e72df9c630b749ae87e644429181900360c00190a4505050505050505600756d6d2e2e2e2e2e2020796f75206861766520746f2070617920746865206e616d65206665650000000000000000000000000000000000000000000000000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a7230582019e47cfaf2fd0819d7f33421e0bbf85a853c6fa0bfa1c745cf0d2f21ceeaaef20029
Deployed Bytecode
0x6080604052600436106101695763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c6940ea811461016e57806310f01eba14610185578063180603eb146101b85780632614195f146101cd5780632660316e146101e257806327249e61146102115780632e19ebdc146102325780633ddd46981461024a5780633fda926e146102a65780634b2271761461030d5780634d0d35ff14610322578063685ffd83146103565780636c52660d146103a9578063745ea0c11461040257806381c5b2061461043c57806382e37b2c14610454578063921dec211461046c578063a448ed4b146104bf578063aa4d490b146104da578063b9291296146104fd578063b9eca0c814610556578063c0942dfd1461056b578063c320c7271461058a578063d5241279146105a2578063dbbcaa97146105ba578063de7874f3146105db578063e3c08adf14610623578063e56556a91461063b575b600080fd5b34801561017a57600080fd5b5061018361065c565b005b34801561019157600080fd5b506101a6600160a060020a03600435166108ca565b60408051918252519081900360200190f35b3480156101c457600080fd5b506101a66108dc565b3480156101d957600080fd5b506101a66108e2565b3480156101ee57600080fd5b506101fd6004356024356108e8565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506101a6600160a060020a0360043516610908565b34801561023e57600080fd5b506101a660043561091a565b6040805160206004803580820135601f810184900484028501840190955284845261018394369492936024939284019190819084018382808284375094975050600160a060020a0385351695505050505060200135151561092c565b3480156102b257600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610183958335600160a060020a0316953695604494919390910191908190840183828082843750949750610a969650505050505050565b34801561031957600080fd5b506101a6610f3c565b34801561032e57600080fd5b5061033a600435610f42565b60408051600160a060020a039092168252519081900360200190f35b6040805160206004803580820135601f8101849004840285018401909552848452610183943694929360249392840191908190840183828082843750949750508435955050505050602001351515610f60565b3480156103b557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101fd94369492936024939284019190819084018382808284375094975061109e9650505050505050565b610421600160a060020a036004351660243560443560643515156110d6565b60408051921515835260208301919091528051918290030190f35b34801561044857600080fd5b506101836004356111ea565b34801561046057600080fd5b506101a66004356114b7565b6040805160206004803580820135601f81018490048402850184019095528484526101839436949293602493928401919081908401838280828437509497505084359550505050506020013515156114cc565b3480156104cb57600080fd5b506101a660043560243561160e565b610421600160a060020a036004358116906024359060443516606435151561162b565b34801561050957600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261018394369492936024939284019190819084018382808284375094975061174e9650505050505050565b34801561056257600080fd5b506101a6611840565b610421600160a060020a03600435166024356044356064351515611846565b34801561059657600080fd5b50610183600435611952565b3480156105ae57600080fd5b5061033a6004356119b9565b3480156105c657600080fd5b506101a6600160a060020a03600435166119d4565b3480156105e757600080fd5b506105f36004356119e6565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561062f57600080fd5b506101a6600435611a17565b34801561064757600080fd5b506101a6600160a060020a0360043516611a2c565b600080808080808033803b80156106ab576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b33600081815260076020526040902054909950975087151561073d576040805160e560020a62461bcd02815260206004820152602e60248201527f6865792074686572652062756464792c20796f7520646f6e74206576656e206860448201527f61766520616e206163636f756e74000000000000000000000000000000000000606482015290519081900360840190fd5b6000888152600960205260409020600281015460038201546001928301549199509750955093505b60055484116108bf5760008481526002602052604080822054815160e060020a6349cc635d028152600481018c9052600160a060020a038d81166024830152604482018a9052606482018c9052925192909116926349cc635d9260848084019382900301818387803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b5050505060018611156108b457600192505b8583116108b4576000848152600260209081526040808320548b8452600b83528184208785529092528083205481517f8f7140ea000000000000000000000000000000000000000000000000000000008152600481018d905260248101919091529051600160a060020a0390921692638f7140ea9260448084019382900301818387803b15801561089057600080fd5b505af11580156108a4573d6000803e3d6000fd5b5050600190940193506108009050565b600190930192610765565b505050505050505050565b60076020526000908152604090205481565b60015481565b60015490565b600a60209081526000928352604080842090915290825290205460ff1681565b60036020526000908152604090205481565b60086020526000908152604090205481565b60008080808033803b8015610979576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b6001543410156109d5576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6109de8a611a6d565b96503395506109ec86612280565b600160a060020a03808816600090815260076020526040902054919650909450891615801590610a2e575085600160a060020a031689600160a060020a031614155b15610a7c57600160a060020a0389166000908152600760209081526040808320548784526009909252909120600201549093508314610a7c5760008481526009602052604090206002018390555b610a8a8487858a898d612302565b50505050505050505050565b60008054600160a060020a03163314610af9576040805160e560020a62461bcd02815260206004820152601f60248201527f6d73672073656e646572206973206e6f742074686520636f6d6d756e69747900604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205415610b8d576040805160e560020a62461bcd02815260206004820152602860248201527f646572702c20746861742067616d657320616c7265616479206265656e20726560448201527f6769737465726564000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600580546001019055610b9f82611a6d565b60058054600160a060020a03808716600081815260046020818152604080842096909655600381528583208890558654835260028152858320805473ffffffffffffffffffffffffffffffffffffffff19169094179093559454815283812054600180835260099093527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36547f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3754865160e060020a6349cc635d0281529788019490945284166024870152604486019290925260648501819052925194955016926349cc635d92608480820193929182900301818387803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b505060055460009081526002602081815260408084205483855260099092527f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c3547f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c454825160e060020a6349cc635d0281526004810195909552600160a060020a0391821660248601526044850152606484018590529051911694506349cc635d93506084808301939282900301818387803b158015610d7657600080fd5b505af1158015610d8a573d6000803e3d6000fd5b5050600554600090815260026020908152604080832054600380855260099093527fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e7547fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e854835160e060020a6349cc635d0281526004810195909552600160a060020a0391821660248601526044850152606484018590529151911694506349cc635d93506084808301939282900301818387803b158015610e4b57600080fd5b505af1158015610e5f573d6000803e3d6000fd5b5050600554600090815260026020908152604080832054600480855260099093527f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cb547f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cc54835160e060020a6349cc635d02815280860195909552600160a060020a0391821660248601526044850152606484018590529151911694506349cc635d93506084808301939282900301818387803b158015610f1f57600080fd5b505af1158015610f33573d6000803e3d6000fd5b50505050505050565b60065481565b600081815260096020526040902054600160a060020a03165b919050565b60008080808033803b8015610fad576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b600154341015611009576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6110128a611a6d565b965033955061102086612280565b600160a060020a0387166000908152600760205260409020549095509350881580159061104d5750888714155b15610a7c576000898152600860209081526040808320548784526009909252909120600201549093508314610a7c576000848152600960205260409020600201839055610a8a8487858a898d612302565b6000806110aa83611a6d565b60008181526008602052604090205490915015156110cb57600191506110d0565b600091505b50919050565b33600090815260046020526040812054819081908190819015156110f957600080fd5b600154341015611155576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b61115e89612280565b600160a060020a038a166000908152600760205260409020549093509150861580159061118b5750868814155b156111cd575060008681526008602090815260408083205484845260099092529091206002015481146111cd5760008281526009602052604090206002018190555b6111db828a838b878b612302565b91989197509095505050505050565b600080808033803b8015611236576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b6005548711156112b6576040805160e560020a62461bcd02815260206004820152602960248201527f73696c6c7920706c617965722c20746861742067616d6520646f65736e27742060448201527f6578697374207965740000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000818152600760205260409020549096509450841515611348576040805160e560020a62461bcd02815260206004820152602e60248201527f6865792074686572652062756464792c20796f7520646f6e74206576656e206860448201527f61766520616e206163636f756e74000000000000000000000000000000000000606482015290519081900360840190fd5b600085815260096020818152604080842060038101548c86526002808552838720548c88529590945260018201549390910154825160e060020a6349cc635d028152600481018c9052600160a060020a038d8116602483015260448201959095526064810191909152915190985091909216926349cc635d926084808201939182900301818387803b1580156113dd57600080fd5b505af11580156113f1573d6000803e3d6000fd5b505050506001841115610f3357600192505b838311610f3357600087815260026020908152604080832054888452600b83528184208785529092528083205481517f8f7140ea000000000000000000000000000000000000000000000000000000008152600481018a905260248101919091529051600160a060020a0390921692638f7140ea9260448084019382900301818387803b15801561149357600080fd5b505af11580156114a7573d6000803e3d6000fd5b5050600190940193506114039050565b60009081526009602052604090206001015490565b600080808033803b8015611518576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b600154341015611574576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b61157d89611a6d565b955033945061158b85612280565b600160a060020a038616600090815260076020526040902054909450925087158015906115c957506000838152600960205260409020600201548814155b80156115d55750828814155b156115f3576000838152600960205260409020600201889055611600565b8288141561160057600097505b6108bf83868a89888c612302565b600b60209081526000928352604080842090915290825290205481565b336000908152600460205260408120548190819081908190151561164e57600080fd5b6001543410156116aa576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6116b389612280565b600160a060020a03808b166000908152600760205260409020549194509092508716158015906116f5575088600160a060020a031687600160a060020a031614155b156111cd5750600160a060020a03861660009081526007602090815260408083205484845260099092529091206002015481146111cd5760008281526009602052604090206002018190556111db828a838b878b612302565b60008033803b8015611798576040805160e560020a62461bcd02815260206004820152601160248201526000805160206125c4833981519152604482015290519081900360640190fd5b6117a185611a6d565b33600090815260076020908152604080832054808452600a835281842085855290925290912054919550935060ff161515600114611829576040805160e560020a62461bcd02815260206004820152601f60248201527f756d6d2e2e2e207468617473206e6f742061206e616d6520796f75206f776e00604482015290519081900360640190fd5b505060009081526009602052604090206001015550565b60055481565b336000908152600460205260408120548190819081908190151561186957600080fd5b6001543410156118c5576040805160e560020a62461bcd028152602060048201526026602482015260008051602061258483398151915260448201526000805160206125a4833981519152606482015290519081900360840190fd5b6118ce89612280565b600160a060020a038a166000908152600760205260409020549093509150869050801580159061190f57506000828152600960205260409020600201548114155b801561191b5750818114155b156119395760008281526009602052604090206002018190556111cd565b818114156111cd575060006111db828a838b878b612302565b600054600160a060020a031633146119b4576040805160e560020a62461bcd02815260206004820152601f60248201527f6d73672073656e646572206973206e6f742074686520636f6d6d756e69747900604482015290519081900360640190fd5b600155565b600260205260009081526040902054600160a060020a031681565b60046020526000908152604090205481565b6009602052600090815260409020805460018201546002830154600390930154600160a060020a0390921692909184565b60009081526009602052604090206002015490565b336000908152600460205260408120541515611a4757600080fd5b611a5082612280565b5050600160a060020a031660009081526007602052604090205490565b8051600090829082808060208411801590611a885750600084115b1515611b04576040805160e560020a62461bcd02815260206004820152602a60248201527f737472696e67206d757374206265206265747765656e203120616e642033322060448201527f6368617261637465727300000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515611b1357fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214158015611b7a57508460018503815181101515611b5257fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214155b1515611bf6576040805160e560020a62461bcd02815260206004820152602560248201527f737472696e672063616e6e6f74207374617274206f7220656e6420776974682060448201527f7370616365000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515611c0557fe5b90602001015160f860020a900460f860020a02600160f860020a031916603060f860020a021415611d4857846001815181101515611c3f57fe5b90602001015160f860020a900460f860020a02600160f860020a031916607860f860020a0214151515611cbc576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030780000000000604482015290519081900360640190fd5b846001815181101515611ccb57fe5b90602001015160f860020a900460f860020a02600160f860020a031916605860f860020a0214151515611d48576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030580000000000604482015290519081900360640190fd5b600091505b838210156122185784517f400000000000000000000000000000000000000000000000000000000000000090869084908110611d8557fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015611df9575084517f5b0000000000000000000000000000000000000000000000000000000000000090869084908110611dda57fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b15611e66578482815181101515611e0c57fe5b90602001015160f860020a900460f860020a0260f860020a900460200160f860020a028583815181101515611e3d57fe5b906020010190600160f860020a031916908160001a905350821515611e6157600192505b61220d565b8482815181101515611e7457fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a021480611f44575084517f600000000000000000000000000000000000000000000000000000000000000090869084908110611ed057fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015611f44575084517f7b0000000000000000000000000000000000000000000000000000000000000090869084908110611f2557fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b80611fee575084517f2f0000000000000000000000000000000000000000000000000000000000000090869084908110611f7a57fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015611fee575084517f3a0000000000000000000000000000000000000000000000000000000000000090869084908110611fcf57fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b151561206a576040805160e560020a62461bcd02815260206004820152602260248201527f737472696e6720636f6e7461696e7320696e76616c696420636861726163746560448201527f7273000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b848281518110151561207857fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214156121575784826001018151811015156120b457fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214151515612157576040805160e560020a62461bcd02815260206004820152602860248201527f737472696e672063616e6e6f7420636f6e7461696e20636f6e7365637574697660448201527f6520737061636573000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b82158015612203575084517f30000000000000000000000000000000000000000000000000000000000000009086908490811061219057fe5b90602001015160f860020a900460f860020a02600160f860020a0319161080612203575084517f3900000000000000000000000000000000000000000000000000000000000000908690849081106121e457fe5b90602001015160f860020a900460f860020a02600160f860020a031916115b1561220d57600192505b600190910190611d4d565b600183151514612272576040805160e560020a62461bcd02815260206004820152601d60248201527f737472696e672063616e6e6f74206265206f6e6c79206e756d62657273000000604482015290519081900360640190fd5b505050506020015192915050565b600160a060020a03811660009081526007602052604081205415156122fa575060068054600190810191829055600160a060020a03831660008181526007602090815260408083208690559482526009905292909220805473ffffffffffffffffffffffffffffffffffffffff1916909217909155610f5b565b506000610f5b565b6000838152600860205260408120541561238c576000878152600a6020908152604080832087845290915290205460ff16151560011461238c576040805160e560020a62461bcd02815260206004820152601e60248201527f736f7272792074686174206e616d657320616c72656164792074616b656e0000604482015290519081900360640190fd5b6000878152600960209081526040808320600101879055868352600882528083208a9055898352600a825280832087845290915290205460ff16151561241c576000878152600a602090815260408083208784528252808320805460ff191660019081179091558a845260098352818420600301805490910190819055600b835281842090845290915290208490555b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015612457573d6000803e3d6000fd5b5060018215151415612500575060015b60055481116125005760008181526002602052604080822054815160e060020a6349cc635d028152600481018b9052600160a060020a038a8116602483015260448201899052606482018a9052925192909116926349cc635d9260848084019382900301818387803b1580156124dc57600080fd5b505af11580156124f0573d6000803e3d6000fd5b5050600190920191506124679050565b600085815260096020908152604091829020805460019091015483518715158152928301899052600160a060020a039182168385015260608301523460808301524260a0830152915186928916918a917fdd6176433ff5026bbce96b068584b7bbe3514227e72df9c630b749ae87e644429181900360c00190a4505050505050505600756d6d2e2e2e2e2e2020796f75206861766520746f2070617920746865206e616d65206665650000000000000000000000000000000000000000000000000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a7230582019e47cfaf2fd0819d7f33421e0bbf85a853c6fa0bfa1c745cf0d2f21ceeaaef20029
Swarm Source
bzzr://19e47cfaf2fd0819d7f33421e0bbf85a853c6fa0bfa1c745cf0d2f21ceeaaef2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.