Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Sponsored
Latest 25 from a total of 213 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
|---|---|---|---|---|---|---|---|---|---|
| Emergency Withdr... | 14953445 | 341 days 21 hrs ago | IN | 0 ETH | 0.00199877 | ||||
| Withdraw Champ | 14601266 | 398 days 16 hrs ago | IN | 0 ETH | 0.00479264 | ||||
| Attack | 14601236 | 398 days 16 hrs ago | IN | 0 ETH | 0.00462965 | ||||
| Withdraw Champ | 14376328 | 433 days 18 hrs ago | IN | 0 ETH | 0.0029207 | ||||
| Set Trusted | 13850105 | 515 days 4 hrs ago | IN | 0 ETH | 0.00369955 | ||||
| Withdraw To Addr... | 13850093 | 515 days 4 hrs ago | IN | 0 ETH | 0.00308067 | ||||
| Withdraw To Addr... | 13850089 | 515 days 4 hrs ago | IN | 0 ETH | 0.00346322 | ||||
| Withdraw To Addr... | 13169583 | 621 days 20 hrs ago | IN | 0 ETH | 0.00449353 | ||||
| Set Token For Sa... | 13106032 | 631 days 16 hrs ago | IN | 0 ETH | 0.00645136 | ||||
| Cancel Token Sal... | 13106010 | 631 days 16 hrs ago | IN | 0 ETH | 0.00408951 | ||||
| Set Token For Sa... | 13105965 | 631 days 16 hrs ago | IN | 0 ETH | 0.00809719 | ||||
| Buy Item | 13102032 | 632 days 6 hrs ago | IN | 0.378 ETH | 0.02108452 | ||||
| Buy Item | 13102026 | 632 days 6 hrs ago | IN | 0.23 ETH | 0.01902599 | ||||
| Buy Item | 13101580 | 632 days 8 hrs ago | IN | 0.16 ETH | 0.01148027 | ||||
| Buy Item | 13058680 | 638 days 23 hrs ago | IN | 0.005273 ETH | 0.00708845 | ||||
| Buy Item | 13058680 | 638 days 23 hrs ago | IN | 0.05056 ETH | 0.00802086 | ||||
| Buy Item | 13058680 | 638 days 23 hrs ago | IN | 0.05053 ETH | 0.00802086 | ||||
| Buy Item | 13058677 | 638 days 23 hrs ago | IN | 0.010344 ETH | 0.00735245 | ||||
| Buy Item | 13058671 | 638 days 23 hrs ago | IN | 0.010392 ETH | 0.00735245 | ||||
| Buy Item | 13058667 | 638 days 23 hrs ago | IN | 0.05059 ETH | 0.00735245 | ||||
| Buy Item | 13058663 | 638 days 23 hrs ago | IN | 0.05058 ETH | 0.00735245 | ||||
| Buy Item | 13058663 | 638 days 23 hrs ago | IN | 0.05057 ETH | 0.00735245 | ||||
| Buy Item | 13058660 | 638 days 23 hrs ago | IN | 0.010416 ETH | 0.00868926 | ||||
| Buy Item | 13058653 | 638 days 23 hrs ago | IN | 0.010384 ETH | 0.00668405 | ||||
| Buy Item | 13058651 | 638 days 23 hrs ago | IN | 0.0089 ETH | 0.00650415 |
Latest 6 internal transactions
Advanced mode:
Loading...
Loading
Contract Name:
MyCryptoChampCore
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-13 */ /* https://mycryptochamp.io/ [email protected] */ pragma solidity 0.4.24; contract Controller{ function getChampReward(uint _position) public view returns(uint); function changeChampsName(uint _champId, string _name, address _msgsender) external; function withdrawChamp(uint _id, address _msgsender) external; function attack(uint _champId, uint _targetId, address _msgsender) external; function transferToken(address _from, address _to, uint _id, bool _isTokenChamp) external; function cancelTokenSale(uint _id, address _msgsender, bool _isTokenChamp) public; function giveToken(address _to, uint _id, address _msgsender, bool _isTokenChamp) external; function setTokenForSale(uint _id, uint _price, address _msgsender, bool _isTokenChamp) external; function getTokenURIs(uint _id, bool _isTokenChamp) public pure returns(string); function takeOffItem(uint _champId, uint8 _type, address _msgsender) public; function putOn(uint _champId, uint _itemId, address _msgsender) external; function forgeItems(uint _parentItemID, uint _childItemID, address _msgsender) external; } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint a, uint b) internal pure returns (uint) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint a, uint b) internal pure returns (uint) { uint c = a + b; assert(c >= a); return c; } } /// @title MyCryptoChamp Core - Stores all of game data. Functions are stored in the replaceable contracts. This solution was required in order to avoid unexpected bugs and make game upgradeable. /// @author Patrik Mojzis contract MyCryptoChampCore { using SafeMath for uint; struct Champ { uint id; //same as position in Champ[] uint attackPower; uint defencePower; uint cooldownTime; //how long does it take to be able attack again uint readyTime; //if is smaller than block.timestamp champ is ready to fight uint winCount; uint lossCount; uint position; //subtract 1 and you get position in leaderboard[] uint price; //sale price uint withdrawCooldown; //if you one of the 800 best champs and withdrawCooldown is less as block.timestamp then you get ETH reward uint eq_sword; uint eq_shield; uint eq_helmet; bool forSale; //is champ for sale? } struct AddressInfo { uint withdrawal; uint champsCount; uint itemsCount; string name; } //Item struct struct Item { uint id; uint8 itemType; // 1 - Sword | 2 - Shield | 3 - Helmet uint8 itemRarity; // 1 - Common | 2 - Uncommon | 3 - Rare | 4 - Epic | 5 - Legendery | 6 - Forged uint attackPower; uint defencePower; uint cooldownReduction; uint price; uint onChampId; //can not be used to decide if item is on champ, because champ's id can be 0, 'bool onChamp' solves it. bool onChamp; bool forSale; //is item for sale? } Champ[] public champs; Item[] public items; mapping (uint => uint) public leaderboard; mapping (address => bool) private trusted; mapping (address => AddressInfo) public addressInfo; mapping (bool => mapping(address => mapping (address => bool))) public tokenOperatorApprovals; mapping (bool => mapping(uint => address)) public tokenApprovals; mapping (bool => mapping(uint => address)) public tokenToOwner; mapping (uint => string) public champToName; mapping (bool => uint) public tokensForSaleCount; uint public pendingWithdrawal = 0; address private contractOwner; Controller internal controller; constructor () public { trusted[msg.sender] = true; contractOwner = msg.sender; } /*============== MODIFIERS ==============*/ modifier onlyTrusted(){ require(trusted[msg.sender]); _; } modifier isPaid(uint _price) { require(msg.value >= _price); _; } modifier onlyNotOwnerOfItem(uint _itemId) { require(_itemId != 0); require(msg.sender != tokenToOwner[false][_itemId]); _; } modifier isItemForSale(uint _id){ require(items[_id].forSale); _; } modifier onlyNotOwnerOfChamp(uint _champId) { require(msg.sender != tokenToOwner[true][_champId]); _; } modifier isChampForSale(uint _id) { require(champs[_id].forSale); _; } /*============== CONTROL COTRACT ==============*/ function loadController(address _address) external onlyTrusted { controller = Controller(_address); } function setTrusted(address _address, bool _trusted) external onlyTrusted { trusted[_address] = _trusted; } function transferOwnership(address newOwner) public onlyTrusted { require(newOwner != address(0)); contractOwner = newOwner; } /*============== PRIVATE FUNCTIONS ==============*/ function _addWithdrawal(address _address, uint _amount) private { addressInfo[_address].withdrawal += _amount; pendingWithdrawal += _amount; } /// @notice Distribute input funds between contract owner and players function _distributeNewSaleInput(address _affiliateAddress) private { //contract owner _addWithdrawal(contractOwner, ((msg.value / 100) * 60)); // 60% //affiliate //checks if _affiliateAddress is set & if affiliate address is not buying player if(_affiliateAddress != address(0) && _affiliateAddress != msg.sender){ _addWithdrawal(_affiliateAddress, ((msg.value / 100) * 25)); //provision is 25% } } /*============== ONLY TRUSTED ==============*/ function addWithdrawal(address _address, uint _amount) public onlyTrusted { _addWithdrawal(_address, _amount); } function clearTokenApproval(address _from, uint _tokenId, bool _isTokenChamp) public onlyTrusted { require(tokenToOwner[_isTokenChamp][_tokenId] == _from); if (tokenApprovals[_isTokenChamp][_tokenId] != address(0)) { tokenApprovals[_isTokenChamp][_tokenId] = address(0); } } function emergencyWithdraw() external onlyTrusted { contractOwner.transfer(address(this).balance); } function setChampsName(uint _champId, string _name) public onlyTrusted { champToName[_champId] = _name; } function setLeaderboard(uint _x, uint _value) public onlyTrusted { leaderboard[_x] = _value; } function setTokenApproval(uint _id, address _to, bool _isTokenChamp) public onlyTrusted { tokenApprovals[_isTokenChamp][_id] = _to; } function setTokenOperatorApprovals(address _from, address _to, bool _approved, bool _isTokenChamp) public onlyTrusted { tokenOperatorApprovals[_isTokenChamp][_from][_to] = _approved; } function setTokenToOwner(uint _id, address _owner, bool _isTokenChamp) public onlyTrusted { tokenToOwner[_isTokenChamp][_id] = _owner; } function setTokensForSaleCount(uint _value, bool _isTokenChamp) public onlyTrusted { tokensForSaleCount[_isTokenChamp] = _value; } function transferToken(address _from, address _to, uint _id, bool _isTokenChamp) public onlyTrusted { controller.transferToken(_from, _to, _id, _isTokenChamp); } function updateAddressInfo(address _address, uint _withdrawal, bool _updatePendingWithdrawal, uint _champsCount, bool _updateChampsCount, uint _itemsCount, bool _updateItemsCount, string _name, bool _updateName) public onlyTrusted { AddressInfo storage ai = addressInfo[_address]; if(_updatePendingWithdrawal){ ai.withdrawal = _withdrawal; } if(_updateChampsCount){ ai.champsCount = _champsCount; } if(_updateItemsCount){ ai.itemsCount = _itemsCount; } if(_updateName){ ai.name = _name; } } function newChamp( uint _attackPower, uint _defencePower, uint _cooldownTime, uint _winCount, uint _lossCount, uint _position, uint _price, uint _eq_sword, uint _eq_shield, uint _eq_helmet, bool _forSale, address _owner ) public onlyTrusted returns (uint){ Champ memory champ = Champ({ id: 0, attackPower: 0, //CompilerError: Stack too deep, try removing local variables. defencePower: _defencePower, cooldownTime: _cooldownTime, readyTime: 0, winCount: _winCount, lossCount: _lossCount, position: _position, price: _price, withdrawCooldown: 0, eq_sword: _eq_sword, eq_shield: _eq_shield, eq_helmet: _eq_helmet, forSale: _forSale }); champ.attackPower = _attackPower; uint id = champs.push(champ) - 1; champs[id].id = id; leaderboard[_position] = id; addressInfo[_owner].champsCount++; tokenToOwner[true][id] = _owner; if(_forSale){ tokensForSaleCount[true]++; } return id; } function newItem( uint8 _itemType, uint8 _itemRarity, uint _attackPower, uint _defencePower, uint _cooldownReduction, uint _price, uint _onChampId, bool _onChamp, bool _forSale, address _owner ) public onlyTrusted returns (uint) { //create that struct Item memory item = Item({ id: 0, itemType: _itemType, itemRarity: _itemRarity, attackPower: _attackPower, defencePower: _defencePower, cooldownReduction: _cooldownReduction, price: _price, onChampId: _onChampId, onChamp: _onChamp, forSale: _forSale }); uint id = items.push(item) - 1; items[id].id = id; addressInfo[_owner].itemsCount++; tokenToOwner[false][id] = _owner; if(_forSale){ tokensForSaleCount[false]++; } return id; } function updateChamp( uint _champId, uint _attackPower, uint _defencePower, uint _cooldownTime, uint _readyTime, uint _winCount, uint _lossCount, uint _position, uint _price, uint _withdrawCooldown, uint _eq_sword, uint _eq_shield, uint _eq_helmet, bool _forSale ) public onlyTrusted { Champ storage champ = champs[_champId]; if(champ.attackPower != _attackPower){champ.attackPower = _attackPower;} if(champ.defencePower != _defencePower){champ.defencePower = _defencePower;} if(champ.cooldownTime != _cooldownTime){champ.cooldownTime = _cooldownTime;} if(champ.readyTime != _readyTime){champ.readyTime = _readyTime;} if(champ.winCount != _winCount){champ.winCount = _winCount;} if(champ.lossCount != _lossCount){champ.lossCount = _lossCount;} if(champ.position != _position){ champ.position = _position; leaderboard[_position] = _champId; } if(champ.price != _price){champ.price = _price;} if(champ.withdrawCooldown != _withdrawCooldown){champ.withdrawCooldown = _withdrawCooldown;} if(champ.eq_sword != _eq_sword){champ.eq_sword = _eq_sword;} if(champ.eq_shield != _eq_shield){champ.eq_shield = _eq_shield;} if(champ.eq_helmet != _eq_helmet){champ.eq_helmet = _eq_helmet;} if(champ.forSale != _forSale){ champ.forSale = _forSale; if(_forSale){ tokensForSaleCount[true]++; }else{ tokensForSaleCount[true]--; } } } function updateItem( uint _id, uint8 _itemType, uint8 _itemRarity, uint _attackPower, uint _defencePower, uint _cooldownReduction, uint _price, uint _onChampId, bool _onChamp, bool _forSale ) public onlyTrusted { Item storage item = items[_id]; if(item.itemType != _itemType){item.itemType = _itemType;} if(item.itemRarity != _itemRarity){item.itemRarity = _itemRarity;} if(item.attackPower != _attackPower){item.attackPower = _attackPower;} if(item.defencePower != _defencePower){item.defencePower = _defencePower;} if(item.cooldownReduction != _cooldownReduction){item.cooldownReduction = _cooldownReduction;} if(item.price != _price){item.price = _price;} if(item.onChampId != _onChampId){item.onChampId = _onChampId;} if(item.onChamp != _onChamp){item.onChamp = _onChamp;} if(item.forSale != _forSale){ item.forSale = _forSale; if(_forSale){ tokensForSaleCount[false]++; }else{ tokensForSaleCount[false]--; } } } /*============== CALLABLE BY PLAYER ==============*/ function buyItem(uint _id, address _affiliateAddress) external payable onlyNotOwnerOfItem(_id) isItemForSale(_id) isPaid(items[_id].price) { if(tokenToOwner[false][_id] == address(this)){ _distributeNewSaleInput(_affiliateAddress); }else{ _addWithdrawal(tokenToOwner[false][_id], msg.value); } controller.transferToken(tokenToOwner[false][_id], msg.sender, _id, false); } function buyChamp(uint _id, address _affiliateAddress) external payable onlyNotOwnerOfChamp(_id) isChampForSale(_id) isPaid(champs[_id].price) { if(tokenToOwner[true][_id] == address(this)){ _distributeNewSaleInput(_affiliateAddress); }else{ _addWithdrawal(tokenToOwner[true][_id], msg.value); } controller.transferToken(tokenToOwner[true][_id], msg.sender, _id, true); } function changePlayersName(string _name) external { addressInfo[msg.sender].name = _name; } function withdrawToAddress(address _address) external { address playerAddress = _address; if(playerAddress == address(0)){ playerAddress = msg.sender; } uint share = addressInfo[playerAddress].withdrawal; //gets pending funds require(share > 0); //is it more than 0? addressInfo[playerAddress].withdrawal = 0; //set player's withdrawal pendings to 0 pendingWithdrawal = pendingWithdrawal.sub(share); //subtract share from total pendings playerAddress.transfer(share); //transfer } /*============== VIEW FUNCTIONS ==============*/ function getChampsByOwner(address _owner) external view returns(uint256[]) { uint256[] memory result = new uint256[](addressInfo[_owner].champsCount); uint256 counter = 0; for (uint256 i = 0; i < champs.length; i++) { if (tokenToOwner[true][i] == _owner) { result[counter] = i; counter++; } } return result; } function getTokensForSale(bool _isTokenChamp) view external returns(uint256[]){ uint256[] memory result = new uint256[](tokensForSaleCount[_isTokenChamp]); if(tokensForSaleCount[_isTokenChamp] > 0){ uint256 counter = 0; if(_isTokenChamp){ for (uint256 i = 0; i < champs.length; i++) { if (champs[i].forSale == true) { result[counter]=i; counter++; } } }else{ for (uint256 n = 0; n < items.length; n++) { if (items[n].forSale == true) { result[counter]=n; counter++; } } } } return result; } function getChampStats(uint256 _champId) public view returns(uint256,uint256,uint256){ Champ storage champ = champs[_champId]; Item storage sword = items[champ.eq_sword]; Item storage shield = items[champ.eq_shield]; Item storage helmet = items[champ.eq_helmet]; uint totalAttackPower = champ.attackPower + sword.attackPower + shield.attackPower + helmet.attackPower; //Gets champs AP uint totalDefencePower = champ.defencePower + sword.defencePower + shield.defencePower + helmet.defencePower; //Gets champs DP uint totalCooldownReduction = sword.cooldownReduction + shield.cooldownReduction + helmet.cooldownReduction; //Gets CR return (totalAttackPower, totalDefencePower, totalCooldownReduction); } function getItemsByOwner(address _owner) external view returns(uint256[]) { uint256[] memory result = new uint256[](addressInfo[_owner].itemsCount); uint256 counter = 0; for (uint256 i = 0; i < items.length; i++) { if (tokenToOwner[false][i] == _owner) { result[counter] = i; counter++; } } return result; } function getTokenCount(bool _isTokenChamp) external view returns(uint) { if(_isTokenChamp){ return champs.length - addressInfo[address(0)].champsCount; }else{ return items.length - 1 - addressInfo[address(0)].itemsCount; } } function getTokenURIs(uint _tokenId, bool _isTokenChamp) public view returns(string) { return controller.getTokenURIs(_tokenId,_isTokenChamp); } function onlyApprovedOrOwnerOfToken(uint _id, address _msgsender, bool _isTokenChamp) external view returns(bool) { if(!_isTokenChamp){ require(_id != 0); } address owner = tokenToOwner[_isTokenChamp][_id]; return(_msgsender == owner || _msgsender == tokenApprovals[_isTokenChamp][_id] || tokenOperatorApprovals[_isTokenChamp][owner][_msgsender]); } /*============== DELEGATE ==============*/ function attack(uint _champId, uint _targetId) external{ controller.attack(_champId, _targetId, msg.sender); } function cancelTokenSale(uint _id, bool _isTokenChamp) public{ controller.cancelTokenSale(_id, msg.sender, _isTokenChamp); } function changeChampsName(uint _champId, string _name) external{ controller.changeChampsName(_champId, _name, msg.sender); } function forgeItems(uint _parentItemID, uint _childItemID) external{ controller.forgeItems(_parentItemID, _childItemID, msg.sender); } function giveToken(address _to, uint _champId, bool _isTokenChamp) external{ controller.giveToken(_to, _champId, msg.sender, _isTokenChamp); } function setTokenForSale(uint _id, uint _price, bool _isTokenChamp) external{ controller.setTokenForSale(_id, _price, msg.sender, _isTokenChamp); } function putOn(uint _champId, uint _itemId) external{ controller.putOn(_champId, _itemId, msg.sender); } function takeOffItem(uint _champId, uint8 _type) public{ controller.takeOffItem(_champId, _type, msg.sender); } function withdrawChamp(uint _id) external{ controller.withdrawChamp(_id, msg.sender); } function getChampReward(uint _position) public view returns(uint){ return controller.getChampReward(_position); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"loadController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"cancelTokenSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_to","type":"address"},{"name":"_isTokenChamp","type":"bool"}],"name":"setTokenApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_champId","type":"uint256"},{"name":"_attackPower","type":"uint256"},{"name":"_defencePower","type":"uint256"},{"name":"_cooldownTime","type":"uint256"},{"name":"_readyTime","type":"uint256"},{"name":"_winCount","type":"uint256"},{"name":"_lossCount","type":"uint256"},{"name":"_position","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_withdrawCooldown","type":"uint256"},{"name":"_eq_sword","type":"uint256"},{"name":"_eq_shield","type":"uint256"},{"name":"_eq_helmet","type":"uint256"},{"name":"_forSale","type":"bool"}],"name":"updateChamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressInfo","outputs":[{"name":"withdrawal","type":"uint256"},{"name":"champsCount","type":"uint256"},{"name":"itemsCount","type":"uint256"},{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"clearTokenApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getItemsByOwner","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"setTokenForSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"withdrawChamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_attackPower","type":"uint256"},{"name":"_defencePower","type":"uint256"},{"name":"_cooldownTime","type":"uint256"},{"name":"_winCount","type":"uint256"},{"name":"_lossCount","type":"uint256"},{"name":"_position","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_eq_sword","type":"uint256"},{"name":"_eq_shield","type":"uint256"},{"name":"_eq_helmet","type":"uint256"},{"name":"_forSale","type":"bool"},{"name":"_owner","type":"address"}],"name":"newChamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_parentItemID","type":"uint256"},{"name":"_childItemID","type":"uint256"}],"name":"forgeItems","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_champId","type":"uint256"}],"name":"getChampStats","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_champId","type":"uint256"},{"name":"_itemId","type":"uint256"}],"name":"putOn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_champId","type":"uint256"},{"name":"_name","type":"string"}],"name":"setChampsName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bool"},{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokenOperatorApprovals","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"name":"tokenApprovals","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"changePlayersName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_champId","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"giveToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_itemType","type":"uint8"},{"name":"_itemRarity","type":"uint8"},{"name":"_attackPower","type":"uint256"},{"name":"_defencePower","type":"uint256"},{"name":"_cooldownReduction","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_onChampId","type":"uint256"},{"name":"_onChamp","type":"bool"},{"name":"_forSale","type":"bool"}],"name":"updateItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"champToName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_affiliateAddress","type":"address"}],"name":"buyItem","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_isTokenChamp","type":"bool"}],"name":"getTokenCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingWithdrawal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_id","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"transferToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_withdrawal","type":"uint256"},{"name":"_updatePendingWithdrawal","type":"bool"},{"name":"_champsCount","type":"uint256"},{"name":"_updateChampsCount","type":"bool"},{"name":"_itemsCount","type":"uint256"},{"name":"_updateItemsCount","type":"bool"},{"name":"_name","type":"string"},{"name":"_updateName","type":"bool"}],"name":"updateAddressInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"setTokensForSaleCount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_isTokenChamp","type":"bool"}],"name":"getTokensForSale","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_position","type":"uint256"}],"name":"getChampReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_itemType","type":"uint8"},{"name":"_itemRarity","type":"uint8"},{"name":"_attackPower","type":"uint256"},{"name":"_defencePower","type":"uint256"},{"name":"_cooldownReduction","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_onChampId","type":"uint256"},{"name":"_onChamp","type":"bool"},{"name":"_forSale","type":"bool"},{"name":"_owner","type":"address"}],"name":"newItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"withdrawToAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bool"}],"name":"tokensForSaleCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"name":"tokenToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_champId","type":"uint256"},{"name":"_name","type":"string"}],"name":"changeChampsName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_x","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setLeaderboard","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"leaderboard","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"items","outputs":[{"name":"id","type":"uint256"},{"name":"itemType","type":"uint8"},{"name":"itemRarity","type":"uint8"},{"name":"attackPower","type":"uint256"},{"name":"defencePower","type":"uint256"},{"name":"cooldownReduction","type":"uint256"},{"name":"price","type":"uint256"},{"name":"onChampId","type":"uint256"},{"name":"onChamp","type":"bool"},{"name":"forSale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"champs","outputs":[{"name":"id","type":"uint256"},{"name":"attackPower","type":"uint256"},{"name":"defencePower","type":"uint256"},{"name":"cooldownTime","type":"uint256"},{"name":"readyTime","type":"uint256"},{"name":"winCount","type":"uint256"},{"name":"lossCount","type":"uint256"},{"name":"position","type":"uint256"},{"name":"price","type":"uint256"},{"name":"withdrawCooldown","type":"uint256"},{"name":"eq_sword","type":"uint256"},{"name":"eq_shield","type":"uint256"},{"name":"eq_helmet","type":"uint256"},{"name":"forSale","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"},{"name":"_msgsender","type":"address"},{"name":"_isTokenChamp","type":"bool"}],"name":"onlyApprovedOrOwnerOfToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_amount","type":"uint256"}],"name":"addWithdrawal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"emergencyWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_champId","type":"uint256"},{"name":"_type","type":"uint8"}],"name":"takeOffItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_affiliateAddress","type":"address"}],"name":"buyChamp","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_approved","type":"bool"},{"name":"_isTokenChamp","type":"bool"}],"name":"setTokenOperatorApprovals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_isTokenChamp","type":"bool"}],"name":"getTokenURIs","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_champId","type":"uint256"},{"name":"_targetId","type":"uint256"}],"name":"attack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_owner","type":"address"},{"name":"_isTokenChamp","type":"bool"}],"name":"setTokenToOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getChampsByOwner","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_trusted","type":"bool"}],"name":"setTrusted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]Contract Creation Code
60806040526000600a5534801561001557600080fd5b506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614cc7806100be6000396000f300608060405260043610610250576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680626f277014610255578063088df612146102985780630d325b29146102d15780630def38661461032a5780632126fcb2146103db57806329f6d9c3146104ac5780632c67a8e514610505578063338e4fd61461059d57806333fb1e05146105e0578063344c0dd51461060d57806341d9cc43146106d457806344f06bc71461070b5780634506e64d1461075a57806350c6ef881461079157806350d27312146108045780635355faed1461088b57806354c9cc44146109045780635df709041461093f5780635e7b983214610998578063736e077b14610a295780637383d70914610acf5780637a1aeb3c14610b0f5780637e28882214610b52578063811ea6de14610b7d57806387402d9a14610bf65780638e2e207714610ccd5780639187300e14610d0657806394b5c9f314610d8a578063a60956a614610dcb578063a92bd72c14610e86578063b8bcb3c914610ec9578063bb865ac014610f0c578063bcb98ba214610f85578063bd0a0e8514610fca578063bf36839914611001578063bfb231d214611042578063c5af6257146110d6578063d037628314611176578063d9a3af65146111e7578063db2e21bc14611234578063db9f16a81461124b578063dcfa6ac414611285578063e109ef24146112c5578063e167458814611340578063e1fa7638146113f2578063eb0fb0a314611429578063f0c41bb214611482578063f2fde38b1461151a578063f32a12ac1461155d575b600080fd5b34801561026157600080fd5b50610296600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115ac565b005b3480156102a457600080fd5b506102cf60048036038101908080359060200190929190803515159060200190929190505050611648565b005b3480156102dd57600080fd5b5061032860048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611735565b005b34801561033657600080fd5b506103d9600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035151590602001909291905050506117f9565b005b3480156103e757600080fd5b5061041c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a47565b6040518085815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561046e578082015181840152602081019050610453565b50505050905090810190601f16801561049b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156104b857600080fd5b50610503600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050611b0f565b005b34801561051157600080fd5b50610546600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cd5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561058957808201518184015260208101905061056e565b505050509050019250505060405180910390f35b3480156105a957600080fd5b506105de6004803603810190808035906020019092919080359060200190929190803515159060200190929190505050611e1f565b005b3480156105ec57600080fd5b5061060b60048036038101908080359060200190929190505050611f15565b005b34801561061957600080fd5b506106be60048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff5565b6040518082815260200191505060405180910390f35b3480156106e057600080fd5b5061070960048036038101908080359060200190929190803590602001909291905050506122e2565b005b34801561071757600080fd5b50610736600480360381019080803590602001909291905050506123cb565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561076657600080fd5b5061078f60048036038101908080359060200190929190803590602001909291905050506124be565b005b34801561079d57600080fd5b5061080260048036038101908080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506125a7565b005b34801561081057600080fd5b50610871600480360381019080803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061262b565b604051808215151515815260200191505060405180910390f35b34801561089757600080fd5b506108c260048036038101908080351515906020019092919080359060200190929190505050612667565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091057600080fd5b5061093d6004803603810190808035906020019082018035906020019190919293919293905050506126a9565b005b34801561094b57600080fd5b50610996600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035151590602001909291905050506126ff565b005b3480156109a457600080fd5b50610a2760048036038101908080359060200190929190803560ff169060200190929190803560ff1690602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190803515159060200190929190505050612821565b005b348015610a3557600080fd5b50610a5460048036038101908080359060200190929190505050612a67565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a94578082015181840152602081019050610a79565b50505050905090810190601f168015610ac15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b0d60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b17565b005b348015610b1b57600080fd5b50610b3c600480360381019080803515159060200190929190505050612e5f565b6040518082815260200191505060405180910390f35b348015610b5e57600080fd5b50610b67612f0c565b6040518082815260200191505060405180910390f35b348015610b8957600080fd5b50610bf4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050612f12565b005b348015610c0257600080fd5b50610ccb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035151590602001909291908035906020019092919080351515906020019092919080359060200190929190803515159060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080351515906020019092919050505061308d565b005b348015610cd957600080fd5b50610d0460048036038101908080359060200190929190803515159060200190929190505050613184565b005b348015610d1257600080fd5b50610d336004803603810190808035151590602001909291905050506131fc565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d76578082015181840152602081019050610d5b565b505050509050019250505060405180910390f35b348015610d9657600080fd5b50610db560048036038101908080359060200190929190505050613388565b6040518082815260200191505060405180910390f35b348015610dd757600080fd5b50610e70600480360381019080803560ff169060200190929190803560ff1690602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803515159060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061345d565b6040518082815260200191505060405180910390f35b348015610e9257600080fd5b50610ec7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613728565b005b348015610ed557600080fd5b50610ef660048036038101908080351515906020019092919050505061386a565b6040518082815260200191505060405180910390f35b348015610f1857600080fd5b50610f4360048036038101908080351515906020019092919080359060200190929190505050613882565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f9157600080fd5b50610fc8600480360381019080803590602001909291908035906020019082018035906020019190919293919293905050506138c4565b005b348015610fd657600080fd5b50610fff60048036038101908080359060200190929190803590602001909291905050506139c8565b005b34801561100d57600080fd5b5061102c60048036038101908080359060200190929190505050613a3c565b6040518082815260200191505060405180910390f35b34801561104e57600080fd5b5061106d60048036038101908080359060200190929190505050613a54565b604051808b81526020018a60ff1660ff1681526020018960ff1660ff16815260200188815260200187815260200186815260200185815260200184815260200183151515158152602001821515151581526020019a505050505050505050505060405180910390f35b3480156110e257600080fd5b5061110160048036038101908080359060200190929190505050613aeb565b604051808f81526020018e81526020018d81526020018c81526020018b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019e50505050505050505050505050505060405180910390f35b34801561118257600080fd5b506111cd60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613b73565b604051808215151515815260200191505060405180910390f35b3480156111f357600080fd5b50611232600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613d36565b005b34801561124057600080fd5b50611249613d9c565b005b34801561125757600080fd5b5061128360048036038101908080359060200190929190803560ff169060200190929190505050613e76565b005b6112c360048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f65565b005b3480156112d157600080fd5b5061133e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035151590602001909291905050506142a1565b005b34801561134c57600080fd5b50611377600480360381019080803590602001909291908035151590602001909291905050506143a8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156113b757808201518184015260208101905061139c565b50505050905090810190601f1680156113e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156113fe57600080fd5b5061142760048036038101908080359060200190929190803590602001909291905050506144e0565b005b34801561143557600080fd5b5061148060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506145c9565b005b34801561148e57600080fd5b506114c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061468d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156115065780820151818401526020810190506114eb565b505050509050019250505060405180910390f35b34801561152657600080fd5b5061155b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506147d8565b005b34801561156957600080fd5b506115aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506148b0565b005b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561160457600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634da1e0b78333846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019350505050600060405180830381600087803b15801561171957600080fd5b505af115801561172d573d6000803e3d6000fd5b505050505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561178d57600080fd5b816006600083151515158152602001908152602001600020600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561185357600080fd5b60008f81548110151561186257fe5b90600052602060002090600e020190508d8160010154141515611889578d81600101819055505b8c81600201541415156118a0578c81600201819055505b8b81600301541415156118b7578b81600301819055505b8a81600401541415156118ce578a81600401819055505b8981600501541415156118e5578981600501819055505b8881600601541415156118fc578881600601819055505b87816007015414151561192b578781600701819055508e600260008a8152602001908152602001600020819055505b868160080154141515611942578681600801819055505b858160090154141515611959578581600901819055505b8481600a0154141515611970578481600a01819055505b8381600b0154141515611987578381600b01819055505b8281600c015414151561199e578281600c01819055505b81151581600d0160009054906101000a900460ff161515141515611a36578181600d0160006101000a81548160ff0219169083151502179055508115611a0b5760096000600115151515815260200190815260200160002060008154809291906001019190505550611a35565b60096000600115151515815260200190815260200160002060008154809291906001900391905055505b5b505050505050505050505050505050565b6004602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b055780601f10611ada57610100808354040283529160200191611b05565b820191906000526020600020905b815481529060010190602001808311611ae857829003601f168201915b5050505050905084565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b6757600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166007600083151515158152602001908152602001600020600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611be957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166006600083151515158152602001908152602001600020600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611cd05760006006600083151515158152602001908152602001600020600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505050565b606080600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154604051908082528060200260200182016040528015611d4c5781602001602082028038833980820191505090505b50925060009150600090505b600180549050811015611e14578473ffffffffffffffffffffffffffffffffffffffff166007600080151515158152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611e0757808383815181101515611df057fe5b906020019060200201818152505081806001019250505b8080600101915050611d58565b829350505050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a87af57b848433856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182151515158152602001945050505050600060405180830381600087803b158015611ef857600080fd5b505af1158015611f0c573d6000803e3d6000fd5b50505050505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ca76002182336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611fda57600080fd5b505af1158015611fee573d6000803e3d6000fd5b5050505050565b6000611fff614aa6565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561205957600080fd5b6101c06040519081016040528060008152602001600081526020018f81526020018e8152602001600081526020018d81526020018c81526020018b81526020018a81526020016000815260200189815260200188815260200187815260200186151581525091508e82602001818152505060016000839080600181540180825580915050906001820390600052602060002090600e020160009091929091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b015561018082015181600c01556101a082015181600d0160006101000a81548160ff0219169083151502179055505050039050806000828154811015156121b757fe5b90600052602060002090600e02016000018190555080600260008c815260200190815260200160002081905550600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000815480929190600101919050555083600760006001151515158152602001908152602001600020600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084156122cd57600960006001151515158152602001908152602001600020600081548092919060010191905055505b80925050509c9b505050505050505050505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a1bc13ad8383336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b1580156123af57600080fd5b505af11580156123c3573d6000803e3d6000fd5b505050505050565b60008060008060008060008060008060008b8154811015156123e957fe5b90600052602060002090600e02019650600187600a015481548110151561240c57fe5b90600052602060002090600802019550600187600b015481548110151561242f57fe5b90600052602060002090600802019450600187600c015481548110151561245257fe5b90600052602060002090600802019350836002015485600201548760020154896001015401010192508360030154856003015487600301548960020154010101915083600401548560040154876004015401019050828282995099509950505050505050509193909250565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce9a6ac88383336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b505050505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156125ff57600080fd5b80600860008481526020019081526020016000209080519060200190612626929190614b18565b505050565b6005602052826000526040600020602052816000526040600020602052806000526040600020600092509250509054906101000a900460ff1681565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8181600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030191906126fa929190614b98565b505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350be7503848433856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182151515158152602001945050505050600060405180830381600087803b15801561280457600080fd5b505af1158015612818573d6000803e3d6000fd5b50505050505050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561287b57600080fd5b60018b81548110151561288a57fe5b906000526020600020906008020190508960ff168160010160009054906101000a900460ff1660ff161415156128d857898160010160006101000a81548160ff021916908360ff1602179055505b8860ff168160010160019054906101000a900460ff1660ff1614151561291657888160010160016101000a81548160ff021916908360ff1602179055505b87816002015414151561292d578781600201819055505b868160030154141515612944578681600301819055505b85816004015414151561295b578581600401819055505b848160050154141515612972578481600501819055505b838160060154141515612989578381600601819055505b8215158160070160009054906101000a900460ff1615151415156129c457828160070160006101000a81548160ff0219169083151502179055505b8115158160070160019054906101000a900460ff161515141515612a5a57818160070160016101000a81548160ff0219169083151502179055508115612a3057600960008015151515815260200190815260200160002060008154809291906001019190505550612a59565b600960008015151515815260200190815260200160002060008154809291906001900391905055505b5b5050505050505050505050565b60086020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b0f5780601f10612ae457610100808354040283529160200191612b0f565b820191906000526020600020905b815481529060010190602001808311612af257829003601f168201915b505050505081565b8160008114151515612b2857600080fd5b6007600080151515158152602001908152602001600020600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515612bab57600080fd5b82600181815481101515612bbb57fe5b906000526020600020906008020160070160019054906101000a900460ff161515612be557600080fd5b600184815481101515612bf457fe5b906000526020600020906008020160050154803410151515612c1557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff166007600080151515158152602001908152602001600020600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612c9f57612c9a84614963565b612cf2565b612cf16007600080151515158152602001908152602001600020600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1634614a29565b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663811ea6de6007600080151515158152602001908152602001600020600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16338860006040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001945050505050600060405180830381600087803b158015612e4057600080fd5b505af1158015612e54573d6000803e3d6000fd5b505050505050505050565b60008115612eb857600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600080549050039050612f07565b600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015460018080549050030390505b919050565b600a5481565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612f6a57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663811ea6de858585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001945050505050600060405180830381600087803b15801561306f57600080fd5b505af1158015613083573d6000803e3d6000fd5b5050505050505050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156130e757600080fd5b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508715613138578881600001819055505b8515613148578681600101819055505b8315613158578481600201819055505b81156131785782816003019080519060200190613176929190614b18565b505b50505050505050505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156131dc57600080fd5b816009600083151515158152602001908152602001600020819055505050565b606080600080600060096000871515151581526020019081526020016000205460405190808252806020026020018201604052801561324a5781602001602082028038833980820191505090505b5093506000600960008815151515815260200190815260200160002054111561337c576000925085156132fb57600091505b6000805490508210156132f6576001151560008381548110151561329c57fe5b90600052602060002090600e0201600d0160009054906101000a900460ff16151514156132e9578184848151811015156132d257fe5b906020019060200201818152505082806001019350505b818060010192505061327c565b61337b565b600090505b60018054905081101561337a576001151560018281548110151561332057fe5b906000526020600020906008020160070160019054906101000a900460ff161515141561336d5780848481518110151561335657fe5b906020019060200201818152505082806001019350505b8080600101915050613300565b5b5b83945050505050919050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394b5c9f3836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561341b57600080fd5b505af115801561342f573d6000803e3d6000fd5b505050506040513d602081101561344557600080fd5b81019080805190602001909291905050509050919050565b6000613467614c18565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c157600080fd5b61014060405190810160405280600081526020018e60ff1681526020018d60ff1681526020018c81526020018b81526020018a81526020018981526020018881526020018715158152602001861515815250915060018083908060018154018082558091505090600182039060005260206000209060080201600090919290919091506000820151816000015560208201518160010160006101000a81548160ff021916908360ff16021790555060408201518160010160016101000a81548160ff021916908360ff160217905550606082015181600201556080820151816003015560a0820151816004015560c0820151816005015560e082015181600601556101008201518160070160006101000a81548160ff0219169083151502179055506101208201518160070160016101000a81548160ff02191690831515021790555050500390508060018281548110151561361957fe5b906000526020600020906008020160000181905550600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008154809291906001019190505550836007600080151515158152602001908152602001600020600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508415613715576009600080151515158152602001908152602001600020600081548092919060010191905055505b80925050509a9950505050505050505050565b600080829150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613767573391505b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506000811115156137bb57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061381881600a54614a8d90919063ffffffff16565b600a819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613864573d6000803e3d6000fd5b50505050565b60096020528060005260406000206000915090505481565b60076020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309a0cfe4848484336040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180858152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437820191505095505050505050600060405180830381600087803b1580156139ab57600080fd5b505af11580156139bf573d6000803e3d6000fd5b50505050505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613a2057600080fd5b8060026000848152602001908152602001600020819055505050565b60026020528060005260406000206000915090505481565b600181815481101515613a6357fe5b90600052602060002090600802016000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900460ff16908060020154908060030154908060040154908060050154908060060154908060070160009054906101000a900460ff16908060070160019054906101000a900460ff1690508a565b600081815481101515613afa57fe5b90600052602060002090600e020160009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b01549080600c01549080600d0160009054906101000a900460ff1690508e565b600080821515613b8e5760008514151515613b8d57600080fd5b5b6007600084151515158152602001908152602001600020600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480613c8657506006600084151515158152602001908152602001600020600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80613d2c5750600560008415151515815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b9150509392505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613d8e57600080fd5b613d988282614a29565b5050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613df457600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613e73573d6000803e3d6000fd5b50565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c945d388383336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360ff1660ff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b158015613f4957600080fd5b505af1158015613f5d573d6000803e3d6000fd5b505050505050565b81600760006001151515158152602001908152602001600020600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515613fea57600080fd5b82600081815481101515613ffa57fe5b90600052602060002090600e0201600d0160009054906101000a900460ff16151561402457600080fd5b60008481548110151561403357fe5b90600052602060002090600e02016008015480341015151561405457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16600760006001151515158152602001908152602001600020600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156140df576140da84614963565b614133565b614132600760006001151515158152602001908152602001600020600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1634614a29565b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663811ea6de600760006001151515158152602001908152602001600020600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16338860016040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001945050505050600060405180830381600087803b15801561428257600080fd5b505af1158015614296573d6000803e3d6000fd5b505050505050505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156142f957600080fd5b81600560008315151515815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b6060600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e167458884846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561444757600080fd5b505af115801561445b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561448557600080fd5b81019080805164010000000081111561449d57600080fd5b828101905060208101848111156144b357600080fd5b81518560018202830111640100000000821117156144d057600080fd5b5050929190505050905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663daaf3d2e8383336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b1580156145ad57600080fd5b505af11580156145c1573d6000803e3d6000fd5b505050505050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561462157600080fd5b816007600083151515158152602001908152602001600020600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b606080600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546040519080825280602002602001820160405280156147045781602001602082028038833980820191505090505b50925060009150600090505b6000805490508110156147cd578473ffffffffffffffffffffffffffffffffffffffff16600760006001151515158152602001908152602001600020600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156147c0578083838151811015156147a957fe5b906020019060200201818152505081806001019250505b8080600101915050614710565b829350505050919050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561483057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561486c57600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561490857600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61499e600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16603c60643481151561499757fe5b0402614a29565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015614a0757503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15614a2657614a25816019606434811515614a1e57fe5b0402614a29565b5b50565b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555080600a600082825401925050819055505050565b6000828211151515614a9b57fe5b818303905092915050565b6101c060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614b5957805160ff1916838001178555614b87565b82800160010185558215614b87579182015b82811115614b86578251825591602001919060010190614b6b565b5b509050614b949190614c76565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614bd957803560ff1916838001178555614c07565b82800160010185558215614c07579182015b82811115614c06578235825591602001919060010190614beb565b5b509050614c149190614c76565b5090565b6101406040519081016040528060008152602001600060ff168152602001600060ff16815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b614c9891905b80821115614c94576000816000905550600101614c7c565b5090565b905600a165627a7a7230582067a990025a9138c614880f57620d6c8080a00f9be557de7466ec0d5681b6d5000029
Swarm Source
bzzr://67a990025a9138c614880f57620d6c8080a00f9be557de7466ec0d5681b6d500
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
[ Download: CSV Export ]
[ Download: CSV Export ]
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.