ERC-20
Overview
Max Total Supply
20,000,000,000 SOCCER
Holders
9,767
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 16 Decimals)
Balance
60,000 SOCCERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SOCCERCOIN
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-24 */ pragma solidity ^0.4.23; // SafeMath library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } // Ownable contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } // ERC223 contract ERC223 { uint public totalSupply; function balanceOf(address who) public view returns (uint); function totalSupply() public view returns (uint256 _supply); function transfer(address to, uint value) public returns (bool ok); function transfer(address to, uint value, bytes data) public returns (bool ok); function transfer(address to, uint value, bytes data, string customFallback) public returns (bool ok); event Transfer(address indexed from, address indexed to, uint value, bytes indexed data); function name() public view returns (string _name); function symbol() public view returns (string _symbol); function decimals() public view returns (uint8 _decimals); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); function allowance(address _owner, address _spender) public view returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint _value); } // ContractReceiver contract ContractReceiver { struct TKN { address sender; uint value; bytes data; bytes4 sig; } function tokenFallback(address _from, uint _value, bytes _data) public pure { TKN memory tkn; tkn.sender = _from; tkn.value = _value; tkn.data = _data; uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24); tkn.sig = bytes4(u); /* * tkn variable is analogue of msg variable of Ether transaction * tkn.sender is person who initiated this token transaction (analogue of msg.sender) * tkn.value the number of tokens that were sent (analogue of msg.value) * tkn.data is data of token transaction (analogue of msg.data) * tkn.sig is 4 bytes signature of function if data of token transaction is a function execution */ } } // SOCCERCOIN contract SOCCERCOIN is ERC223, Ownable { using SafeMath for uint256; string public name = "SOCCER COIN"; string public symbol = "SOCCER"; uint8 public decimals = 16; uint256 public totalSupply; uint public chainStartTime; //chain start time uint public chainStartBlockNumber; //chain start block number uint public stakeStartTime; //stake start time uint public stakeMinAge = 3 days; // minimum age for coin age: 3D uint public stakeMaxAge = 90 days; // stake age of full weight: 90D uint256 public maxTotalSupply = 45e9 * 1e16; uint256 public initialTotalSupply = 20e9 * 1e16; struct transferInStruct{ uint256 amount; uint64 time; } address public admin = 0x166A52e2f21b36522Bfcf6e940AD17E2649424b0; address public presale = 0x652b861c0021D854f1A1240d4Ff468f4EE14B89E; address public develop = 0x6C0689664E1c9f228EEb87088c4F3eA6244d6Cc3; address public pr = 0xFB432Ac2F5fb98312264df7965E2Ca062C856150; address public manage = 0x282117F44Be63192Fc05C6Ccce748E3618aceCD8; mapping(address => uint256) public balanceOf; mapping(address => mapping (address => uint256)) public allowance; mapping(address => transferInStruct[]) public transferIns; event Burn(address indexed burner, uint256 value); event PosMint(address indexed _address, uint _reward); constructor () public { owner = admin; totalSupply = initialTotalSupply; balanceOf[owner] = totalSupply; chainStartTime = now; chainStartBlockNumber = block.number; } function name() public view returns (string _name) { return name; } function symbol() public view returns (string _symbol) { return symbol; } function decimals() public view returns (uint8 _decimals) { return decimals; } function totalSupply() public view returns (uint256 _totalSupply) { return totalSupply; } function balanceOf(address _owner) public view returns (uint256 balance) { return balanceOf[_owner]; } // transfer function transfer(address _to, uint _value) public returns (bool success) { require(_value > 0); bytes memory empty; if (isContract(_to)) { return transferToContract(_to, _value, empty); } else { return transferToAddress(_to, _value, empty); } } function transfer(address _to, uint _value, bytes _data) public returns (bool success) { require(_value > 0); if (isContract(_to)) { return transferToContract(_to, _value, _data); } else { return transferToAddress(_to, _value, _data); } } function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public returns (bool success) { require(_value > 0); if (isContract(_to)) { require(balanceOf[msg.sender] >= _value); balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); balanceOf[_to] = balanceOf[_to].add(_value); assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data)); emit Transfer(msg.sender, _to, _value, _data); emit Transfer(msg.sender, _to, _value); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; uint64 _now = uint64(now); transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now)); transferIns[_to].push(transferInStruct(uint256(_value),_now)); return true; } else { return transferToAddress(_to, _value, _data); } } // assemble the given address bytecode. If bytecode exists then the _addr is a contract. function isContract(address _addr) private view returns (bool is_contract) { uint length; assembly { //retrieve the size of the code on target address, this needs assembly length := extcodesize(_addr) } return (length > 0); } // function that is called when transaction target is an address function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) { require(balanceOf[msg.sender] >= _value); balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); balanceOf[_to] = balanceOf[_to].add(_value); emit Transfer(msg.sender, _to, _value, _data); emit Transfer(msg.sender, _to, _value); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; uint64 _now = uint64(now); transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now)); transferIns[_to].push(transferInStruct(uint256(_value),_now)); return true; } // function that is called when transaction target is a contract function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) { require(balanceOf[msg.sender] >= _value); balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); balanceOf[_to] = balanceOf[_to].add(_value); ContractReceiver receiver = ContractReceiver(_to); receiver.tokenFallback(msg.sender, _value, _data); emit Transfer(msg.sender, _to, _value, _data); emit Transfer(msg.sender, _to, _value); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; uint64 _now = uint64(now); transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now)); transferIns[_to].push(transferInStruct(uint256(_value),_now)); return true; } // transferFrom function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_to != address(0) && _value > 0 && balanceOf[_from] >= _value && allowance[_from][msg.sender] >= _value); balanceOf[_from] = balanceOf[_from].sub(_value); balanceOf[_to] = balanceOf[_to].add(_value); allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); if(transferIns[_from].length > 0) delete transferIns[_from]; uint64 _now = uint64(now); transferIns[_from].push(transferInStruct(uint256(balanceOf[_from]),_now)); transferIns[_to].push(transferInStruct(uint256(_value),_now)); return true; } // approve function approve(address _spender, uint256 _value) public returns (bool success) { allowance[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } // allowance function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowance[_owner][_spender]; } // airdrop function airdrop(address[] addresses, uint[] amounts) public returns (bool) { require(addresses.length > 0 && addresses.length == amounts.length); uint256 totalAmount = 0; for(uint j = 0; j < addresses.length; j++){ require(amounts[j] > 0 && addresses[j] != 0x0); amounts[j] = amounts[j].mul(1e16); totalAmount = totalAmount.add(amounts[j]); } require(balanceOf[msg.sender] >= totalAmount); uint64 _now = uint64(now); for (j = 0; j < addresses.length; j++) { balanceOf[addresses[j]] = balanceOf[addresses[j]].add(amounts[j]); emit Transfer(msg.sender, addresses[j], amounts[j]); transferIns[addresses[j]].push(transferInStruct(uint256(amounts[j]),_now)); } balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; if(balanceOf[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now)); return true; } function setStakeStartTime(uint timestamp) onlyOwner public { require((stakeStartTime <= 0) && (timestamp >= chainStartTime)); stakeStartTime = timestamp; } function ownerBurnToken(uint _value) onlyOwner public { require(_value > 0); balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balanceOf[msg.sender]),uint64(now))); totalSupply = totalSupply.sub(_value); initialTotalSupply = initialTotalSupply.sub(_value); maxTotalSupply = maxTotalSupply.sub(_value*10); emit Burn(msg.sender, _value); } function getBlockNumber() constant public returns (uint blockNumber) { blockNumber = block.number.sub(chainStartBlockNumber); } modifier canPoSMint() { require(totalSupply < maxTotalSupply); _; } function posMint() canPoSMint public returns (bool) { if(balanceOf[msg.sender] <= 0) return false; if(transferIns[msg.sender].length <= 0) return false; uint reward = getReward(msg.sender); if(reward <= 0) return false; totalSupply = totalSupply.add(reward); balanceOf[msg.sender] = balanceOf[msg.sender].add(reward); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),uint64(now))); emit PosMint(msg.sender, reward); return true; } function coinAge() constant public returns (uint myCoinAge) { myCoinAge = getCoinAge(msg.sender,now); } function getCoinAge(address _address, uint _now) internal view returns (uint _coinAge) { if(transferIns[_address].length <= 0) return 0; for (uint i = 0; i < transferIns[_address].length; i++){ if( _now < uint(transferIns[_address][i].time).add(stakeMinAge) ) continue; uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time)); if( nCoinSeconds > stakeMaxAge ) nCoinSeconds = stakeMaxAge; _coinAge = _coinAge.add(uint(transferIns[_address][i].amount).mul(nCoinSeconds).div(1 days)); } } function getReward(address _address) internal view returns (uint reward) { require( (now >= stakeStartTime) && (stakeStartTime > 0) ); uint64 _now = uint64(now); uint _coinAge = getCoinAge(_address, _now); if(_coinAge <= 0) return 0; reward = _coinAge.mul(45).div(1000).div(365); return reward; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"transferIns","outputs":[{"name":"amount","type":"uint256"},{"name":"time","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"posMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"develop","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"ownerBurnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manage","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"setStakeStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeMaxAge","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":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"PosMint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60c0604052600b60808190527f534f4343455220434f494e00000000000000000000000000000000000000000060a0908152620000409160029190620001c5565b506040805180820190915260068082527f534f43434552000000000000000000000000000000000000000000000000000060209092019182526200008791600391620001c5565b506004805460ff191660109081179091556203f4806009556276a700600a556b01743b34e18439b502000000600b556aa56fa5b99019a5c8000000600c55600d8054600160a060020a031990811673166a52e2f21b36522bfcf6e940ad17e2649424b017909155600e8054821673652b861c0021d854f1a1240d4ff468f4ee14b89e179055600f80548216736c0689664e1c9f228eeb87088c4f3ea6244d6cc31790558154811673fb432ac2f5fb98312264df7965e2ca062c856150179091556011805490911673282117f44be63192fc05c6ccce748e3618acecd81790553480156200017357600080fd5b5060018054600d54600160a060020a03338116600160a060020a0319938416179092169082161791829055600c546005819055911660009081526012602052604090205542600655436007556200026a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020857805160ff191683800117855562000238565b8280016001018555821562000238579182015b82811115620002385782518255916020019190600101906200021b565b50620002469291506200024a565b5090565b6200026791905b8082111562000246576000815560010162000251565b90565b61214b806200027a6000396000f30060806040526004361061017c5763ffffffff60e060020a60003504166306fdde038114610181578063095ea7b31461020b5780631509c42a1461024357806318160ddd146102745780631e1b13c01461029b57806323b872dd146102b05780632ab4d052146102da578063311028af146102ef578063313ce5671461030457806342cbb15c1461032f5780635b054f9b1461034457806365476ea314610359578063672434821461039f5780636ac54eb01461042d57806370a08231146104425780637419f190146104635780638c0cf897146104785780638da5cb5b1461048d57806390762a8b146104a257806395d89b41146104bc578063a9059cbb146104d1578063ba2ee65c146104f5578063be45fd621461050a578063cbd8877e14610573578063cc1b63d514610588578063cd474b04146105a0578063dd62ed3e146105b5578063e1c3bac6146105dc578063f2fde38b146105f1578063f6368f8a14610612578063f851a440146106b9578063fdea8e0b146106ce575b600080fd5b34801561018d57600080fd5b506101966106e3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d05781810151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021757600080fd5b5061022f600160a060020a0360043516602435610777565b604080519115158252519081900360200190f35b34801561024f57600080fd5b506102586107e1565b60408051600160a060020a039092168252519081900360200190f35b34801561028057600080fd5b506102896107f0565b60408051918252519081900360200190f35b3480156102a757600080fd5b506102896107f6565b3480156102bc57600080fd5b5061022f600160a060020a0360043581169060243516604435610807565b3480156102e657600080fd5b50610289610a7e565b3480156102fb57600080fd5b50610289610a84565b34801561031057600080fd5b50610319610a8a565b6040805160ff9092168252519081900360200190f35b34801561033b57600080fd5b50610289610a93565b34801561035057600080fd5b50610289610aaa565b34801561036557600080fd5b5061037d600160a060020a0360043516602435610ab0565b6040805192835267ffffffffffffffff90911660208301528051918290030190f35b3480156103ab57600080fd5b506040805160206004803580820135838102808601850190965280855261022f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610af59650505050505050565b34801561043957600080fd5b5061022f610ef9565b34801561044e57600080fd5b50610289600160a060020a036004351661109a565b34801561046f57600080fd5b506102896110b5565b34801561048457600080fd5b506102586110bb565b34801561049957600080fd5b506102586110ca565b3480156104ae57600080fd5b506104ba6004356110d9565b005b3480156104c857600080fd5b50610196611262565b3480156104dd57600080fd5b5061022f600160a060020a03600435166024356112c3565b34801561050157600080fd5b50610258611305565b34801561051657600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506113149650505050505050565b34801561057f57600080fd5b50610289611354565b34801561059457600080fd5b506104ba60043561135a565b3480156105ac57600080fd5b5061028961139a565b3480156105c157600080fd5b50610289600160a060020a03600435811690602435166113a0565b3480156105e857600080fd5b506102896113cb565b3480156105fd57600080fd5b506104ba600160a060020a03600435166113d1565b34801561061e57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061146a9650505050505050565b3480156106c557600080fd5b50610258611828565b3480156106da57600080fd5b50610258611837565b60028054604080516020601f600019610100600187161502019094168590049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260136020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b601054600160a060020a031681565b60055490565b60006108023342611846565b905090565b600080600160a060020a038416158015906108225750600083115b80156108465750600160a060020a0385166000908152601260205260409020548311155b80156108785750600160a060020a03808616600090815260136020908152604080832033909416835292905220548311155b151561088357600080fd5b600160a060020a0385166000908152601260205260409020546108ac908463ffffffff6119eb16565b600160a060020a0380871660009081526012602052604080822093909355908616815220546108e1908463ffffffff6119fd16565b600160a060020a03808616600090815260126020908152604080832094909455888316825260138152838220339093168252919091522054610929908463ffffffff6119eb16565b600160a060020a03808716600081815260136020908152604080832033861684528252918290209490945580518781529051928816939192600080516020612100833981519152929181900390910190a3600160a060020a03851660009081526014602052604081205411156109ba57600160a060020a03851660009081526014602052604081206109ba916120ae565b5050600160a060020a039283166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff428116828601818152845460018082018755958a52878a20945160029182029095019485559051938501805494841667ffffffffffffffff1995861617905599909a168752948452828620835180850190945296835282840198895286548083018855968652929094209051949095029094019283559351918101805492909416919092161790915590565b600b5481565b600c5481565b60045460ff1690565b6000610802600754436119eb90919063ffffffff16565b60065481565b601460205281600052604060002081815481101515610acb57fe5b60009182526020909120600290910201805460019091015490925067ffffffffffffffff16905082565b60008060008060008651118015610b0d575084518651145b1515610b1857600080fd5b60009250600091505b8551821015610bfa5760008583815181101515610b3a57fe5b90602001906020020151118015610b7257508582815181101515610b5a57fe5b90602001906020020151600160a060020a0316600014155b1515610b7d57600080fd5b610bac662386f26fc100008684815181101515610b9657fe5b602090810290910101519063ffffffff611a0c16565b8583815181101515610bba57fe5b602090810290910101528451610bed90869084908110610bd657fe5b60209081029091010151849063ffffffff6119fd16565b9250600190910190610b21565b600160a060020a033316600090815260126020526040902054831115610c1f57600080fd5b5060009050425b8551821015610de157610c8b8583815181101515610c4057fe5b90602001906020020151601260008986815181101515610c5c57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff6119fd16565b601260008885815181101515610c9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558551869083908110610cce57fe5b90602001906020020151600160a060020a031633600160a060020a03166000805160206121008339815191528785815181101515610d0857fe5b906020019060200201516040518082815260200191505060405180910390a3601460008784815181101515610d3957fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808785815181101515610d7c57fe5b602090810291909101810151825267ffffffffffffffff858116928201929092528354600180820186556000958652948290208451600290920201908155920151918301805467ffffffffffffffff1916929091169190911790559190910190610c26565b600160a060020a033316600090815260126020526040902054610e0a908463ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120541115610e5857600160a060020a0333166000908152601460205260408120610e58916120ae565b600160a060020a0333166000908152601260205260408120541115610eed5733600160a060020a03166000908152601460209081526040808320815180830183526012845291842054825267ffffffffffffffff8581168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790555b50600195945050505050565b600080600b54600554101515610f0e57600080fd5b600160a060020a03331660009081526012602052604081205411610f355760009150611096565b600160a060020a03331660009081526014602052604081205411610f5c5760009150611096565b610f6533611a37565b905060008111610f785760009150611096565b600554610f8b908263ffffffff6119fd16565b600555600160a060020a033316600090815260126020526040902054610fb7908263ffffffff6119fd16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120610fe6916120ae565b33600160a060020a0316600081815260146020908152604080832081518083018352601284528285205481524267ffffffffffffffff9081168286019081528354600180820186559488529686902092516002909702909201958655905194909101805467ffffffffffffffff19169490911693909317909255815184815291517f703ad90184e23a946a95d94712e3879bfb81c10b124ce10c7e21ceca77350da59281900390910190a2600191505b5090565b600160a060020a031660009081526012602052604090205490565b60085481565b600f54600160a060020a031681565b600154600160a060020a031681565b60015433600160a060020a039081169116146110f457600080fd5b6000811161110157600080fd5b600160a060020a03331660009081526012602052604090205461112a908263ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120611159916120ae565b33600160a060020a031660009081526014602090815260408083208151808301835260128452918420546fffffffffffffffffffffffffffffffff1682524267ffffffffffffffff9081168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790556005546111ee90826119eb565b600555600c54611204908263ffffffff6119eb16565b600c55600b5461121d90600a830263ffffffff6119eb16565b600b55604080518281529051600160a060020a033316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b600060608183116112d357600080fd5b6112dc84611aaa565b156112f3576112ec848483611ab2565b91506112fe565b6112ec848483611e1b565b5092915050565b601154600160a060020a031681565b600080831161132257600080fd5b61132b84611aaa565b156113425761133b848484611ab2565b905061134d565b61133b848484611e1b565b9392505050565b60095481565b60015433600160a060020a0390811691161461137557600080fd5b60006008541115801561138a57506006548110155b151561139557600080fd5b600855565b60075481565b600160a060020a03918216600090815260136020908152604080832093909416825291909152205490565b600a5481565b60015433600160a060020a039081169116146113ec57600080fd5b600160a060020a038116151561140157600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008080851161147957600080fd5b61148286611aaa565b1561181157600160a060020a0333166000908152601260205260409020548511156114ac57600080fd5b600160a060020a0333166000908152601260205260409020546114d5908663ffffffff6119eb16565b600160a060020a03338116600090815260126020526040808220939093559088168152205461150a908663ffffffff6119fd16565b600160a060020a038716600081815260126020908152604080832094909455925186519293919287928291908401908083835b6020831061155c5780518252601f19909201916020918201910161153d565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903388886040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156115ee5781810151838201526020016115d6565b50505050905090810190601f16801561161b5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561163b57fe5b836040518082805190602001908083835b6020831061166b5780518252601f19909201916020918201910161164c565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a033316600090815260146020526040812054111561174d57600160a060020a033316600090815260146020526040812061174d916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998e16895296865284882085518087019096528c86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925561181f565b61181c868686611e1b565b91505b50949350505050565b600d54600160a060020a031681565b600e54600160a060020a031681565b600160a060020a03821660009081526014602052604081205481908190811061187257600092506119e3565b600091505b600160a060020a0385166000908152601460205260409020548210156119e357600954600160a060020a038616600090815260146020526040902080546118ee929190859081106118c457fe5b600091825260209091206001600290920201015467ffffffffffffffff169063ffffffff6119fd16565b8410156118fa576119d8565b600160a060020a0385166000908152601460205260409020805461194e91908490811061192357fe5b6000918252602090912060016002909202010154859067ffffffffffffffff1663ffffffff6119eb16565b9050600a5481111561195f5750600a545b6119d56119c8620151806119bc84601460008b600160a060020a0316600160a060020a031681526020019081526020016000208781548110151561199f57fe5b60009182526020909120600290910201549063ffffffff611a0c16565b9063ffffffff61209716565b849063ffffffff6119fd16565b92505b600190910190611877565b505092915050565b6000828211156119f757fe5b50900390565b60008282018381101561134d57fe5b600080831515611a1f57600091506112fe565b50828202828482811515611a2f57fe5b041461134d57fe5b60008060006008544210158015611a5057506000600854115b1515611a5b57600080fd5b429150611a72848367ffffffffffffffff16611846565b905060008111611a855760009250611aa3565b611aa061016d6119bc6103e88185602d63ffffffff611a0c16565b92505b5050919050565b6000903b1190565b600160a060020a03331660009081526012602052604081205481908190851115611adb57600080fd5b600160a060020a033316600090815260126020526040902054611b04908663ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590881681522054611b39908663ffffffff6119fd16565b600160a060020a0380881660008181526012602090815260408083209590955593517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523393841660048201908152602482018b90526060604483019081528a5160648401528a518d9950949663c0ee0b8a96958d958d9560840192860191908190849084905b83811015611bd9578181015183820152602001611bc1565b50505050905090810190601f168015611c065780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b50505050836040518082805190602001908083835b60208310611c6f5780518252601f199092019160209182019101611c50565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611d5157600160a060020a0333166000908152601460205260408120611d51916120ae565b50600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998f16895296865284882085518087019096528d86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925590925050509392505050565b600160a060020a0333166000908152601260205260408120548190841115611e4257600080fd5b600160a060020a033316600090815260126020526040902054611e6b908563ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590871681522054611ea0908563ffffffff6119fd16565b600160a060020a0386166000908152601260209081526040918290209290925551845185928291908401908083835b60208310611eee5780518252601f199092019160209182019101611ecf565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a484600160a060020a031633600160a060020a0316600080516020612100833981519152866040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611fd057600160a060020a0333166000908152601460205260408120611fd0916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998d16895296865284882085518087019096528b865285870197885280548086018255908952959097209351949097029092019283559251918301805492909516911617909255509392505050565b60008082848115156120a557fe5b04949350505050565b50805460008255600202906000526020600020908101906120cf91906120d2565b50565b61077491905b80821115611096576000815560018101805467ffffffffffffffff191690556002016120d85600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582081f719e75b6edabf1ef9bacb34d7a4b8d372d855dd5ca3f5bf42fdaa039859110029
Deployed Bytecode
0x60806040526004361061017c5763ffffffff60e060020a60003504166306fdde038114610181578063095ea7b31461020b5780631509c42a1461024357806318160ddd146102745780631e1b13c01461029b57806323b872dd146102b05780632ab4d052146102da578063311028af146102ef578063313ce5671461030457806342cbb15c1461032f5780635b054f9b1461034457806365476ea314610359578063672434821461039f5780636ac54eb01461042d57806370a08231146104425780637419f190146104635780638c0cf897146104785780638da5cb5b1461048d57806390762a8b146104a257806395d89b41146104bc578063a9059cbb146104d1578063ba2ee65c146104f5578063be45fd621461050a578063cbd8877e14610573578063cc1b63d514610588578063cd474b04146105a0578063dd62ed3e146105b5578063e1c3bac6146105dc578063f2fde38b146105f1578063f6368f8a14610612578063f851a440146106b9578063fdea8e0b146106ce575b600080fd5b34801561018d57600080fd5b506101966106e3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d05781810151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021757600080fd5b5061022f600160a060020a0360043516602435610777565b604080519115158252519081900360200190f35b34801561024f57600080fd5b506102586107e1565b60408051600160a060020a039092168252519081900360200190f35b34801561028057600080fd5b506102896107f0565b60408051918252519081900360200190f35b3480156102a757600080fd5b506102896107f6565b3480156102bc57600080fd5b5061022f600160a060020a0360043581169060243516604435610807565b3480156102e657600080fd5b50610289610a7e565b3480156102fb57600080fd5b50610289610a84565b34801561031057600080fd5b50610319610a8a565b6040805160ff9092168252519081900360200190f35b34801561033b57600080fd5b50610289610a93565b34801561035057600080fd5b50610289610aaa565b34801561036557600080fd5b5061037d600160a060020a0360043516602435610ab0565b6040805192835267ffffffffffffffff90911660208301528051918290030190f35b3480156103ab57600080fd5b506040805160206004803580820135838102808601850190965280855261022f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610af59650505050505050565b34801561043957600080fd5b5061022f610ef9565b34801561044e57600080fd5b50610289600160a060020a036004351661109a565b34801561046f57600080fd5b506102896110b5565b34801561048457600080fd5b506102586110bb565b34801561049957600080fd5b506102586110ca565b3480156104ae57600080fd5b506104ba6004356110d9565b005b3480156104c857600080fd5b50610196611262565b3480156104dd57600080fd5b5061022f600160a060020a03600435166024356112c3565b34801561050157600080fd5b50610258611305565b34801561051657600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506113149650505050505050565b34801561057f57600080fd5b50610289611354565b34801561059457600080fd5b506104ba60043561135a565b3480156105ac57600080fd5b5061028961139a565b3480156105c157600080fd5b50610289600160a060020a03600435811690602435166113a0565b3480156105e857600080fd5b506102896113cb565b3480156105fd57600080fd5b506104ba600160a060020a03600435166113d1565b34801561061e57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061146a9650505050505050565b3480156106c557600080fd5b50610258611828565b3480156106da57600080fd5b50610258611837565b60028054604080516020601f600019610100600187161502019094168590049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260136020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b601054600160a060020a031681565b60055490565b60006108023342611846565b905090565b600080600160a060020a038416158015906108225750600083115b80156108465750600160a060020a0385166000908152601260205260409020548311155b80156108785750600160a060020a03808616600090815260136020908152604080832033909416835292905220548311155b151561088357600080fd5b600160a060020a0385166000908152601260205260409020546108ac908463ffffffff6119eb16565b600160a060020a0380871660009081526012602052604080822093909355908616815220546108e1908463ffffffff6119fd16565b600160a060020a03808616600090815260126020908152604080832094909455888316825260138152838220339093168252919091522054610929908463ffffffff6119eb16565b600160a060020a03808716600081815260136020908152604080832033861684528252918290209490945580518781529051928816939192600080516020612100833981519152929181900390910190a3600160a060020a03851660009081526014602052604081205411156109ba57600160a060020a03851660009081526014602052604081206109ba916120ae565b5050600160a060020a039283166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff428116828601818152845460018082018755958a52878a20945160029182029095019485559051938501805494841667ffffffffffffffff1995861617905599909a168752948452828620835180850190945296835282840198895286548083018855968652929094209051949095029094019283559351918101805492909416919092161790915590565b600b5481565b600c5481565b60045460ff1690565b6000610802600754436119eb90919063ffffffff16565b60065481565b601460205281600052604060002081815481101515610acb57fe5b60009182526020909120600290910201805460019091015490925067ffffffffffffffff16905082565b60008060008060008651118015610b0d575084518651145b1515610b1857600080fd5b60009250600091505b8551821015610bfa5760008583815181101515610b3a57fe5b90602001906020020151118015610b7257508582815181101515610b5a57fe5b90602001906020020151600160a060020a0316600014155b1515610b7d57600080fd5b610bac662386f26fc100008684815181101515610b9657fe5b602090810290910101519063ffffffff611a0c16565b8583815181101515610bba57fe5b602090810290910101528451610bed90869084908110610bd657fe5b60209081029091010151849063ffffffff6119fd16565b9250600190910190610b21565b600160a060020a033316600090815260126020526040902054831115610c1f57600080fd5b5060009050425b8551821015610de157610c8b8583815181101515610c4057fe5b90602001906020020151601260008986815181101515610c5c57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff6119fd16565b601260008885815181101515610c9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558551869083908110610cce57fe5b90602001906020020151600160a060020a031633600160a060020a03166000805160206121008339815191528785815181101515610d0857fe5b906020019060200201516040518082815260200191505060405180910390a3601460008784815181101515610d3957fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808785815181101515610d7c57fe5b602090810291909101810151825267ffffffffffffffff858116928201929092528354600180820186556000958652948290208451600290920201908155920151918301805467ffffffffffffffff1916929091169190911790559190910190610c26565b600160a060020a033316600090815260126020526040902054610e0a908463ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120541115610e5857600160a060020a0333166000908152601460205260408120610e58916120ae565b600160a060020a0333166000908152601260205260408120541115610eed5733600160a060020a03166000908152601460209081526040808320815180830183526012845291842054825267ffffffffffffffff8581168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790555b50600195945050505050565b600080600b54600554101515610f0e57600080fd5b600160a060020a03331660009081526012602052604081205411610f355760009150611096565b600160a060020a03331660009081526014602052604081205411610f5c5760009150611096565b610f6533611a37565b905060008111610f785760009150611096565b600554610f8b908263ffffffff6119fd16565b600555600160a060020a033316600090815260126020526040902054610fb7908263ffffffff6119fd16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120610fe6916120ae565b33600160a060020a0316600081815260146020908152604080832081518083018352601284528285205481524267ffffffffffffffff9081168286019081528354600180820186559488529686902092516002909702909201958655905194909101805467ffffffffffffffff19169490911693909317909255815184815291517f703ad90184e23a946a95d94712e3879bfb81c10b124ce10c7e21ceca77350da59281900390910190a2600191505b5090565b600160a060020a031660009081526012602052604090205490565b60085481565b600f54600160a060020a031681565b600154600160a060020a031681565b60015433600160a060020a039081169116146110f457600080fd5b6000811161110157600080fd5b600160a060020a03331660009081526012602052604090205461112a908263ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120611159916120ae565b33600160a060020a031660009081526014602090815260408083208151808301835260128452918420546fffffffffffffffffffffffffffffffff1682524267ffffffffffffffff9081168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790556005546111ee90826119eb565b600555600c54611204908263ffffffff6119eb16565b600c55600b5461121d90600a830263ffffffff6119eb16565b600b55604080518281529051600160a060020a033316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b600060608183116112d357600080fd5b6112dc84611aaa565b156112f3576112ec848483611ab2565b91506112fe565b6112ec848483611e1b565b5092915050565b601154600160a060020a031681565b600080831161132257600080fd5b61132b84611aaa565b156113425761133b848484611ab2565b905061134d565b61133b848484611e1b565b9392505050565b60095481565b60015433600160a060020a0390811691161461137557600080fd5b60006008541115801561138a57506006548110155b151561139557600080fd5b600855565b60075481565b600160a060020a03918216600090815260136020908152604080832093909416825291909152205490565b600a5481565b60015433600160a060020a039081169116146113ec57600080fd5b600160a060020a038116151561140157600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008080851161147957600080fd5b61148286611aaa565b1561181157600160a060020a0333166000908152601260205260409020548511156114ac57600080fd5b600160a060020a0333166000908152601260205260409020546114d5908663ffffffff6119eb16565b600160a060020a03338116600090815260126020526040808220939093559088168152205461150a908663ffffffff6119fd16565b600160a060020a038716600081815260126020908152604080832094909455925186519293919287928291908401908083835b6020831061155c5780518252601f19909201916020918201910161153d565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903388886040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156115ee5781810151838201526020016115d6565b50505050905090810190601f16801561161b5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561163b57fe5b836040518082805190602001908083835b6020831061166b5780518252601f19909201916020918201910161164c565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a033316600090815260146020526040812054111561174d57600160a060020a033316600090815260146020526040812061174d916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998e16895296865284882085518087019096528c86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925561181f565b61181c868686611e1b565b91505b50949350505050565b600d54600160a060020a031681565b600e54600160a060020a031681565b600160a060020a03821660009081526014602052604081205481908190811061187257600092506119e3565b600091505b600160a060020a0385166000908152601460205260409020548210156119e357600954600160a060020a038616600090815260146020526040902080546118ee929190859081106118c457fe5b600091825260209091206001600290920201015467ffffffffffffffff169063ffffffff6119fd16565b8410156118fa576119d8565b600160a060020a0385166000908152601460205260409020805461194e91908490811061192357fe5b6000918252602090912060016002909202010154859067ffffffffffffffff1663ffffffff6119eb16565b9050600a5481111561195f5750600a545b6119d56119c8620151806119bc84601460008b600160a060020a0316600160a060020a031681526020019081526020016000208781548110151561199f57fe5b60009182526020909120600290910201549063ffffffff611a0c16565b9063ffffffff61209716565b849063ffffffff6119fd16565b92505b600190910190611877565b505092915050565b6000828211156119f757fe5b50900390565b60008282018381101561134d57fe5b600080831515611a1f57600091506112fe565b50828202828482811515611a2f57fe5b041461134d57fe5b60008060006008544210158015611a5057506000600854115b1515611a5b57600080fd5b429150611a72848367ffffffffffffffff16611846565b905060008111611a855760009250611aa3565b611aa061016d6119bc6103e88185602d63ffffffff611a0c16565b92505b5050919050565b6000903b1190565b600160a060020a03331660009081526012602052604081205481908190851115611adb57600080fd5b600160a060020a033316600090815260126020526040902054611b04908663ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590881681522054611b39908663ffffffff6119fd16565b600160a060020a0380881660008181526012602090815260408083209590955593517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523393841660048201908152602482018b90526060604483019081528a5160648401528a518d9950949663c0ee0b8a96958d958d9560840192860191908190849084905b83811015611bd9578181015183820152602001611bc1565b50505050905090810190601f168015611c065780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b50505050836040518082805190602001908083835b60208310611c6f5780518252601f199092019160209182019101611c50565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611d5157600160a060020a0333166000908152601460205260408120611d51916120ae565b50600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998f16895296865284882085518087019096528d86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925590925050509392505050565b600160a060020a0333166000908152601260205260408120548190841115611e4257600080fd5b600160a060020a033316600090815260126020526040902054611e6b908563ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590871681522054611ea0908563ffffffff6119fd16565b600160a060020a0386166000908152601260209081526040918290209290925551845185928291908401908083835b60208310611eee5780518252601f199092019160209182019101611ecf565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a484600160a060020a031633600160a060020a0316600080516020612100833981519152866040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611fd057600160a060020a0333166000908152601460205260408120611fd0916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998d16895296865284882085518087019096528b865285870197885280548086018255908952959097209351949097029092019283559251918301805492909516911617909255509392505050565b60008082848115156120a557fe5b04949350505050565b50805460008255600202906000526020600020908101906120cf91906120d2565b50565b61077491905b80821115611096576000815560018101805467ffffffffffffffff191690556002016120d85600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582081f719e75b6edabf1ef9bacb34d7a4b8d372d855dd5ca3f5bf42fdaa039859110029
Swarm Source
bzzr://81f719e75b6edabf1ef9bacb34d7a4b8d372d855dd5ca3f5bf42fdaa03985911
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.