ERC-20
Overview
Max Total Supply
10,000,000 Ocoin
Holders
35
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
OCOIN
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-11-13 */ pragma solidity 0.4.24; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } 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 c) { c = a + b; assert(c >= a); return c; } } contract AltcoinToken { function balanceOf(address _owner) constant public returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); } contract ERC20Basic { uint256 public totalSupply; function totalSupply() public constant returns (uint); function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ERC20Interface { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function allowance(address tokenOwner, address spender) public constant returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); } contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 tokens, address token, bytes data) public; } contract Owned { address public owner; address public newOwner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = address(0); } } contract OCOIN is ERC20, Owned { using SafeMath for uint256; address owner = msg.sender; mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; string public constant name = "OCOIN"; string public constant symbol = "Ocoin"; uint public constant decimals = 8; uint256 public totalSupply = 1000000000000000; uint256 public totalDistributed = 0; uint256 public totalIcoDistributed = 0; uint256 public constant minContribution = 1 ether / 100; // 0.01 Eth uint256 public tokensPerEth = 0; // ------------------------------ // Token Distribution and Address // ------------------------------ // saleable 60% uint256 public constant totalIco = 600000000000000; uint256 public totalIcoDist = 0; address storageIco = owner; // airdrop 5% uint256 public constant totalAirdrop = 50000000000000; address private storageAirdrop = 0x5cCc93508759D075c0F875846924ee7aAe4AD857; // developer 35% uint256 public constant totalDeveloper = 350000000000000; address private storageDeveloper = 0x8A77a2edFd8FB4d2625F5813f9b7787dDc8e141b; // --------------------- // sale start and price // --------------------- // presale uint public presaleStartTime = 1543104000; // Sunday, 25 November 2018 19:00:00 GMT+07:00 uint256 public presalePerEth = 1400000000000; // ico uint public icoStartTime = 1544486400; // Tuesday, 11 Desember 2018 00:00:00 GMT+07:00 uint256 public icoPerEth = 1300000000000; // ico1 uint public ico1StartTime = 1545868800; // Thursday, 27 Desember 2018 00:00:00 GMT+07:00 uint256 public ico1PerEth = 1200000000000; // ico2 uint public ico2StartTime = 1547251200; // Saturday, 12 Januari 2019 00:00:00 GMT+07:00 uint256 public ico2PerEth = 1100000000000; //ico start and end uint public icoOpenTime = presaleStartTime; uint public icoEndTime = 1545868800; // Thursday, 27 Desember 2018 00:00:00 GMT+07:00 // ----------------------- // events // ----------------------- event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event Distr(address indexed to, uint256 amount); event DistrFinished(); event Airdrop(address indexed _owner, uint _amount, uint _balance); event TokensPerEthUpdated(uint _tokensPerEth); event Burn(address indexed burner, uint256 value); event Sent(address from, address to, uint amount); // ------------------- // STATE // --------------------- bool public icoOpen = false; bool public icoFinished = false; bool public distributionFinished = false; // ----- // temp // ----- uint256 public tTokenPerEth = 0; uint256 public tAmount = 0; uint i = 0; bool private tIcoOpen = false; // ------------------------------------------------------------------------ // Constructor // ------------------------------------------------------------------------ constructor() public { balances[owner] = totalIco; balances[storageAirdrop] = totalAirdrop; balances[storageDeveloper] = totalDeveloper; } // ------------------------------------------------------------------------ // Total supply // ------------------------------------------------------------------------ function totalSupply() public constant returns (uint) { return totalSupply - balances[address(0)]; } modifier canDistr() { require(!distributionFinished); _; } function startDistribution() onlyOwner canDistr public returns (bool) { icoOpen = true; presaleStartTime = now; icoOpenTime = now; return true; } function finishDistribution() onlyOwner canDistr public returns (bool) { distributionFinished = true; icoFinished = true; emit DistrFinished(); return true; } function distr(address _to, uint256 _amount) canDistr private returns (bool) { totalDistributed = totalDistributed.add(_amount); balances[_to] = balances[_to].add(_amount); balances[owner] = balances[owner].sub(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } function send(address receiver, uint amount) public { if (balances[msg.sender] < amount) return; balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } function updateTokensPerEth(uint _tokensPerEth) public onlyOwner { tokensPerEth = _tokensPerEth; emit TokensPerEthUpdated(_tokensPerEth); } function () external payable { //owner withdraw if (msg.sender == owner && msg.value == 0){ withdraw(); } if(msg.sender != owner){ if ( now < icoOpenTime ){ revert('ICO does not open yet'); } //is Open if ( ( now >= icoOpenTime ) && ( now <= icoEndTime ) ){ icoOpen = true; } if ( now > icoEndTime ){ icoOpen = false; icoFinished = true; distributionFinished = true; } if ( icoFinished == true ){ revert('ICO has finished'); } if ( distributionFinished == true ){ revert('Token distribution has finished'); } if ( icoOpen == true ){ if ( now >= presaleStartTime && now < icoStartTime){ tTokenPerEth = presalePerEth; } if ( now >= icoStartTime && now < ico1StartTime){ tTokenPerEth = icoPerEth; } if ( now >= ico1StartTime && now < ico2StartTime){ tTokenPerEth = ico1PerEth; } if ( now >= ico2StartTime && now < icoEndTime){ tTokenPerEth = ico2PerEth; } tokensPerEth = tTokenPerEth; getTokens(); } } } function getTokens() payable canDistr public { uint256 tokens = 0; require( msg.value >= minContribution ); require( msg.value > 0 ); tokens = tokensPerEth.mul(msg.value) / 1 ether; address investor = msg.sender; if ( icoFinished == true ){ revert('ICO Has Finished'); } if( balances[owner] < tokens ){ revert('Insufficient Token Balance or Sold Out.'); } if (tokens < 0){ revert(); } totalIcoDistributed += tokens; if (tokens > 0) { distr(investor, tokens); } if (totalIcoDistributed >= totalIco) { distributionFinished = true; } } function balanceOf(address _owner) constant public returns (uint256) { return balances[_owner]; } // mitigates the ERC20 short address attack modifier onlyPayloadSize(uint size) { assert(msg.data.length >= size + 4); _; } function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) { require(_to != address(0)); require(_amount <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(msg.sender, _to, _amount); return true; } function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) { require(_to != address(0)); require(_amount <= balances[_from]); require(_amount <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_amount); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(_from, _to, _amount); return true; } function approve(address _spender, uint256 _value) public returns (bool success) { // mitigates the ERC20 spend/approval race condition if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; } allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant public returns (uint256) { return allowed[_owner][_spender]; } function getTokenBalance(address tokenAddress, address who) constant public returns (uint){ AltcoinToken t = AltcoinToken(tokenAddress); uint bal = t.balanceOf(who); return bal; } function withdraw() onlyOwner public { address myAddress = this; uint256 etherBalance = myAddress.balance; owner.transfer(etherBalance); } function burn(uint256 _amount) onlyOwner public { balances[owner] = balances[owner].sub(_amount); totalSupply = totalSupply.sub(_amount); totalDistributed = totalDistributed.sub(_amount); emit Burn(owner, _amount); } function withdrawAltcoinTokens(address _tokenContract) onlyOwner public returns (bool) { AltcoinToken token = AltcoinToken(_tokenContract); uint256 amount = token.balanceOf(address(this)); return token.transfer(owner, amount); } function dist_privateSale(address _to, uint256 _amount) onlyOwner public { require(_amount <= balances[owner]); require(_amount > 0); totalDistributed = totalDistributed.add(_amount); balances[_to] = balances[_to].add(_amount); balances[owner] = balances[owner].sub(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); tAmount = 0; } function dist_airdrop(address _to, uint256 _amount) onlyOwner public { require(_amount <= balances[storageAirdrop]); require(_amount > 0); balances[_to] = balances[_to].add(_amount); balances[storageAirdrop] = balances[storageAirdrop].sub(_amount); emit Airdrop(_to, _amount, balances[_to]); emit Transfer(address(0), _to, _amount); } function dist_multiple_airdrop(address[] _participants, uint256 _amount) onlyOwner public { tAmount = 0; for ( i = 0; i < _participants.length; i++){ tAmount = tAmount.add(_amount); } require(tAmount <= balances[storageAirdrop]); for ( i = 0; i < _participants.length; i++){ dist_airdrop(_participants[i], _amount); } tAmount = 0; } function dist_developer(address _to, uint256 _amount) onlyOwner public { require(_amount <= balances[storageDeveloper]); require(_amount > 0); balances[_to] = balances[_to].add(_amount); balances[storageDeveloper] = balances[storageDeveloper].sub(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); tAmount = 0; } function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) { return ERC20Interface(tokenAddress).transfer(owner, tokens); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"ico1StartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalIcoDist","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawAltcoinTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ico1PerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoOpenTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico2PerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presalePerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"dist_developer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoOpen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerEth","type":"uint256"}],"name":"updateTokensPerEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalIcoDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tTokenPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"minContribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"dist_privateSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ico2StartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"send","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participants","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"dist_multiple_airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDeveloper","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","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":"_amount","type":"uint256"}],"name":"dist_airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"Airdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokensPerEth","type":"uint256"}],"name":"TokensPerEthUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405260038054600160a060020a031990811633179182905566038d7ea4c680006006556000600781905560088190556009819055600a819055600b80548316600160a060020a039490941693909317909255600c80548216735ccc93508759d075c0f875846924ee7aae4ad857179055600d8054909116738a77a2edfd8fb4d2625f5813f9b7787ddc8e141b179055635bf9e600600e819055650145f680b000600f55635c0efe0060105565012eae09c800601155635c24160060128190556501176592e000601355635c392e006014556501001d1bf8006015556016919091556017556018805462ffffff191690556019819055601a819055601b55601c805460ff1916905534801561011557600080fd5b5060018054600160a060020a03191633179055600354600160a060020a03908116600090815260046020526040808220660221b262dd80009055600c5483168252808220652d79883d20009055600d5490921681522066013e52b9abe0009055611d96806101846000396000f30060806040526004361061025b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663026dd90d81146104a257806306fdde03146104c9578063095ea7b31461055357806309e0a77c1461058b57806318160ddd146105a05780631aee8fa8146105b55780632195845f146105ca57806323b872dd146105eb578063313ce56714610615578063356e29271461062a5780633ccfd60b1461063f57806342966c6814610654578063461b75361461066c578063507fcdaf146106815780635691fa4814610696578063595aefe3146106ab5780635ce97dbb146106c0578063657ad479146106d557806370a08231146106ea57806372ea61e81461070b57806379ba50971461072f5780637e1055b6146107445780638da5cb5b14610759578063927a90da1461078a57806395d89b411461079f5780639b1cbccc146107b45780639ea407be146107c9578063a7ad69da146107e1578063a7c3d71b146107f6578063a82524b21461080b578063a8592a3414610820578063a9059cbb14610835578063aa6ca80814610859578063aaffadf314610861578063acc9383a14610876578063c02aa3c41461089a578063c108d542146108af578063c489744b146108c4578063cbdd69b5146108eb578063d0679d3414610900578063d4ee1d9014610924578063d83623dd14610939578063dc39d06d1461094e578063dd62ed3e14610972578063e16c42df14610999578063e99ebee2146109ae578063e9a91efd14610a05578063efca2eed14610a1a578063f2fde38b14610a2f578063f5a5438e14610a50575b600354600160a060020a031633148015610273575034155b1561028057610280610a74565b600354600160a060020a031633146104a0576016544210156102ec576040805160e560020a62461bcd02815260206004820152601560248201527f49434f20646f6573206e6f74206f70656e207965740000000000000000000000604482015290519081900360640190fd5b601654421015801561030057506017544211155b15610313576018805460ff191660011790555b60175442111561033a576018805462ff00001961ffff199091166101001716620100001790555b60185460ff610100909104161515600114156103a0576040805160e560020a62461bcd02815260206004820152601060248201527f49434f206861732066696e697368656400000000000000000000000000000000604482015290519081900360640190fd5b60185462010000900460ff16151560011415610406576040805160e560020a62461bcd02815260206004820152601f60248201527f546f6b656e20646973747269627574696f6e206861732066696e697368656400604482015290519081900360640190fd5b60185460ff161515600114156104a057600e544210158015610429575060105442105b1561043557600f546019555b6010544210158015610448575060125442105b15610454576011546019555b6012544210158015610467575060145442105b15610473576013546019555b6014544210158015610486575060175442105b15610492576015546019555b6019546009556104a0610ad6565b005b3480156104ae57600080fd5b506104b7610c93565b60408051918252519081900360200190f35b3480156104d557600080fd5b506104de610c99565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610518578181015183820152602001610500565b50505050905090810190601f1680156105455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561055f57600080fd5b50610577600160a060020a0360043516602435610cd0565b604080519115158252519081900360200190f35b34801561059757600080fd5b506104b7610d78565b3480156105ac57600080fd5b506104b7610d83565b3480156105c157600080fd5b506104b7610db5565b3480156105d657600080fd5b50610577600160a060020a0360043516610dbb565b3480156105f757600080fd5b50610577600160a060020a0360043581169060243516604435610f0f565b34801561062157600080fd5b506104b7611082565b34801561063657600080fd5b50610577611087565b34801561064b57600080fd5b506104a0610a74565b34801561066057600080fd5b506104a0600435611095565b34801561067857600080fd5b506104b7611163565b34801561068d57600080fd5b506104b7611169565b3480156106a257600080fd5b506104b761116f565b3480156106b757600080fd5b506104b7611175565b3480156106cc57600080fd5b506104b761117b565b3480156106e157600080fd5b506104b7611185565b3480156106f657600080fd5b506104b7600160a060020a036004351661118b565b34801561071757600080fd5b506104a0600160a060020a03600435166024356111a6565b34801561073b57600080fd5b506104a06112e2565b34801561075057600080fd5b506104b761136c565b34801561076557600080fd5b5061076e611372565b60408051600160a060020a039092168252519081900360200190f35b34801561079657600080fd5b50610577611381565b3480156107ab57600080fd5b506104de61138a565b3480156107c057600080fd5b506105776113c1565b3480156107d557600080fd5b506104a060043561143c565b3480156107ed57600080fd5b506104b761148e565b34801561080257600080fd5b506104b7611494565b34801561081757600080fd5b506104b761149a565b34801561082c57600080fd5b506104b76114a0565b34801561084157600080fd5b50610577600160a060020a03600435166024356114a6565b6104a0610ad6565b34801561086d57600080fd5b506104b7611585565b34801561088257600080fd5b506104a0600160a060020a0360043516602435611590565b3480156108a657600080fd5b506104b76116e2565b3480156108bb57600080fd5b506105776116e8565b3480156108d057600080fd5b506104b7600160a060020a03600435811690602435166116f7565b3480156108f757600080fd5b506104b76117a8565b34801561090c57600080fd5b506104a0600160a060020a03600435166024356117ae565b34801561093057600080fd5b5061076e61183b565b34801561094557600080fd5b5061057761184a565b34801561095a57600080fd5b50610577600160a060020a0360043516602435611897565b34801561097e57600080fd5b506104b7600160a060020a0360043581169060243516611953565b3480156109a557600080fd5b506104b761197e565b3480156109ba57600080fd5b50604080516020600480358082013583810280860185019096528085526104a09536959394602494938501929182918501908490808284375094975050933594506119849350505050565b348015610a1157600080fd5b506104b7611a49565b348015610a2657600080fd5b506104b7611a54565b348015610a3b57600080fd5b506104a0600160a060020a0360043516611a5a565b348015610a5c57600080fd5b506104a0600160a060020a0360043516602435611aa0565b6001546000908190600160a060020a03163314610a9057600080fd5b50506003546040513091823191600160a060020a03909116906108fc8315029083906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b505050565b601854600090819062010000900460ff1615610af157600080fd5b60009150662386f26fc10000341015610b0957600080fd5b60003411610b1657600080fd5b600954670de0b6b3a764000090610b33903463ffffffff611be216565b811515610b3c57fe5b601854919004925033915060ff61010090910416151560011415610baa576040805160e560020a62461bcd02815260206004820152601060248201527f49434f204861732046696e697368656400000000000000000000000000000000604482015290519081900360640190fd5b600354600160a060020a0316600090815260046020526040902054821115610c42576040805160e560020a62461bcd02815260206004820152602760248201527f496e73756666696369656e7420546f6b656e2042616c616e6365206f7220536f60448201527f6c64204f75742e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000821015610c5057600080fd5b60088054830190556000821115610c6d57610c6b8183611c0b565b505b600854660221b262dd800011610c8f576018805462ff00001916620100001790555b5050565b60125481565b60408051808201909152600581527f4f434f494e000000000000000000000000000000000000000000000000000000602082015281565b60008115801590610d035750336000908152600560209081526040808320600160a060020a038716845290915290205415155b15610d1057506000610d72565b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b660221b262dd800081565b6000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec546006540390565b600a5481565b60015460009081908190600160a060020a03163314610dd957600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051859350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610e3d57600080fd5b505af1158015610e51573d6000803e3d6000fd5b505050506040513d6020811015610e6757600080fd5b5051600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610edb57600080fd5b505af1158015610eef573d6000803e3d6000fd5b505050506040513d6020811015610f0557600080fd5b5051949350505050565b600060606064361015610f1e57fe5b600160a060020a0384161515610f3357600080fd5b600160a060020a038516600090815260046020526040902054831115610f5857600080fd5b600160a060020a0385166000908152600560209081526040808320338452909152902054831115610f8857600080fd5b600160a060020a038516600090815260046020526040902054610fb1908463ffffffff611d2b16565b600160a060020a0386166000908152600460209081526040808320939093556005815282822033835290522054610fee908463ffffffff611d2b16565b600160a060020a038087166000908152600560209081526040808320338452825280832094909455918716815260049091522054611032908463ffffffff611d3d16565b600160a060020a038086166000818152600460209081526040918290209490945580518781529051919392891692600080516020611d4b83398151915292918290030190a3506001949350505050565b600881565b601854610100900460ff1681565b600154600160a060020a031633146110ac57600080fd5b600354600160a060020a03166000908152600460205260409020546110d7908263ffffffff611d2b16565b600354600160a060020a0316600090815260046020526040902055600654611105908263ffffffff611d2b16565b60065560075461111b908263ffffffff611d2b16565b600755600354604080518381529051600160a060020a03909216917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a250565b60135481565b60165481565b60115481565b60155481565b652d79883d200081565b600f5481565b600160a060020a031660009081526004602052604090205490565b600154600160a060020a031633146111bd57600080fd5b600d54600160a060020a03166000908152600460205260409020548111156111e457600080fd5b600081116111f157600080fd5b600160a060020a03821660009081526004602052604090205461121a908263ffffffff611d3d16565b600160a060020a0380841660009081526004602052604080822093909355600d5490911681522054611252908263ffffffff611d2b16565b600d54600160a060020a039081166000908152600460209081526040918290209390935580518481529051918516927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518281529051600160a060020a03841691600091600080516020611d4b8339815191529181900360200190a350506000601a55565b600254600160a060020a031633146112f957600080fd5b600254600154604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60175481565b600154600160a060020a031681565b60185460ff1681565b60408051808201909152600581527f4f636f696e000000000000000000000000000000000000000000000000000000602082015281565b600154600090600160a060020a031633146113db57600080fd5b60185462010000900460ff16156113f157600080fd5b6018805461ff001962ff0000199091166201000017166101001790556040517f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc90600090a150600190565b600154600160a060020a0316331461145357600080fd5b60098190556040805182815290517ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c0039181900360200190a150565b60085481565b60105481565b600e5481565b60195481565b6000604060443610156114b557fe5b600160a060020a03841615156114ca57600080fd5b336000908152600460205260409020548311156114e657600080fd5b33600090815260046020526040902054611506908463ffffffff611d2b16565b3360009081526004602052604080822092909255600160a060020a03861681522054611538908463ffffffff611d3d16565b600160a060020a038516600081815260046020908152604091829020939093558051868152905191923392600080516020611d4b8339815191529281900390910190a35060019392505050565b662386f26fc1000081565b600154600160a060020a031633146115a757600080fd5b600354600160a060020a03166000908152600460205260409020548111156115ce57600080fd5b600081116115db57600080fd5b6007546115ee908263ffffffff611d3d16565b600755600160a060020a03821660009081526004602052604090205461161a908263ffffffff611d3d16565b600160a060020a038084166000908152600460205260408082209390935560035490911681522054611652908263ffffffff611d2b16565b600354600160a060020a039081166000908152600460209081526040918290209390935580518481529051918516927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518281529051600160a060020a03841691600091600080516020611d4b8339815191529181900360200190a350506000601a55565b60145481565b60185462010000900460ff1681565b600080600084915081600160a060020a03166370a08231856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561177357600080fd5b505af1158015611787573d6000803e3d6000fd5b505050506040513d602081101561179d57600080fd5b505195945050505050565b60095481565b336000908152600460205260409020548111156117ca57610c8f565b33600081815260046020908152604080832080548690039055600160a060020a03861680845292819020805486019055805193845290830191909152818101839052517f3990db2d31862302a685e8086b5755072a6e2b5b780af1ee81ece35ee3cd33459181900360600190a15050565b600254600160a060020a031681565b600154600090600160a060020a0316331461186457600080fd5b60185462010000900460ff161561187a57600080fd5b506018805460ff1916600190811790915542600e81905560165590565b600154600090600160a060020a031633146118b157600080fd5b600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519185169163a9059cbb916044808201926020929091908290030181600087803b15801561192057600080fd5b505af1158015611934573d6000803e3d6000fd5b505050506040513d602081101561194a57600080fd5b50519392505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b601a5481565b600154600160a060020a0316331461199b57600080fd5b6000601a819055601b555b8151601b5410156119d557601a546119c4908263ffffffff611d3d16565b601a55601b805460010190556119a6565b600c54600160a060020a0316600090815260046020526040902054601a5411156119fe57600080fd5b6000601b555b8151601b541015611a4057611a3282601b54815181101515611a2257fe5b9060200190602002015182611aa0565b601b80546001019055611a04565b50506000601a55565b66013e52b9abe00081565b60075481565b600154600160a060020a03163314611a7157600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a03163314611ab757600080fd5b600c54600160a060020a0316600090815260046020526040902054811115611ade57600080fd5b60008111611aeb57600080fd5b600160a060020a038216600090815260046020526040902054611b14908263ffffffff611d3d16565b600160a060020a0380841660009081526004602052604080822093909355600c5490911681522054611b4c908263ffffffff611d2b16565b600c54600160a060020a039081166000908152600460209081526040808320949094559185168082529083902054835185815292830152825190927fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d272928290030190a2604080518281529051600160a060020a03841691600091600080516020611d4b8339815191529181900360200190a35050565b6000821515611bf357506000610d72565b50818102818382811515611c0357fe5b0414610d7257fe5b60185460009062010000900460ff1615611c2457600080fd5b600754611c37908363ffffffff611d3d16565b600755600160a060020a038316600090815260046020526040902054611c63908363ffffffff611d3d16565b600160a060020a038085166000908152600460205260408082209390935560035490911681522054611c9b908363ffffffff611d2b16565b600354600160a060020a039081166000908152600460209081526040918290209390935580518581529051918616927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518381529051600160a060020a03851691600091600080516020611d4b8339815191529181900360200190a350600192915050565b600082821115611d3757fe5b50900390565b81810182811015610d7257fe00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820f3c1ed005faf84aeaff284581ccf721f81fe37778396f14250ebcc4c7017cbd50029
Deployed Bytecode
0x60806040526004361061025b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663026dd90d81146104a257806306fdde03146104c9578063095ea7b31461055357806309e0a77c1461058b57806318160ddd146105a05780631aee8fa8146105b55780632195845f146105ca57806323b872dd146105eb578063313ce56714610615578063356e29271461062a5780633ccfd60b1461063f57806342966c6814610654578063461b75361461066c578063507fcdaf146106815780635691fa4814610696578063595aefe3146106ab5780635ce97dbb146106c0578063657ad479146106d557806370a08231146106ea57806372ea61e81461070b57806379ba50971461072f5780637e1055b6146107445780638da5cb5b14610759578063927a90da1461078a57806395d89b411461079f5780639b1cbccc146107b45780639ea407be146107c9578063a7ad69da146107e1578063a7c3d71b146107f6578063a82524b21461080b578063a8592a3414610820578063a9059cbb14610835578063aa6ca80814610859578063aaffadf314610861578063acc9383a14610876578063c02aa3c41461089a578063c108d542146108af578063c489744b146108c4578063cbdd69b5146108eb578063d0679d3414610900578063d4ee1d9014610924578063d83623dd14610939578063dc39d06d1461094e578063dd62ed3e14610972578063e16c42df14610999578063e99ebee2146109ae578063e9a91efd14610a05578063efca2eed14610a1a578063f2fde38b14610a2f578063f5a5438e14610a50575b600354600160a060020a031633148015610273575034155b1561028057610280610a74565b600354600160a060020a031633146104a0576016544210156102ec576040805160e560020a62461bcd02815260206004820152601560248201527f49434f20646f6573206e6f74206f70656e207965740000000000000000000000604482015290519081900360640190fd5b601654421015801561030057506017544211155b15610313576018805460ff191660011790555b60175442111561033a576018805462ff00001961ffff199091166101001716620100001790555b60185460ff610100909104161515600114156103a0576040805160e560020a62461bcd02815260206004820152601060248201527f49434f206861732066696e697368656400000000000000000000000000000000604482015290519081900360640190fd5b60185462010000900460ff16151560011415610406576040805160e560020a62461bcd02815260206004820152601f60248201527f546f6b656e20646973747269627574696f6e206861732066696e697368656400604482015290519081900360640190fd5b60185460ff161515600114156104a057600e544210158015610429575060105442105b1561043557600f546019555b6010544210158015610448575060125442105b15610454576011546019555b6012544210158015610467575060145442105b15610473576013546019555b6014544210158015610486575060175442105b15610492576015546019555b6019546009556104a0610ad6565b005b3480156104ae57600080fd5b506104b7610c93565b60408051918252519081900360200190f35b3480156104d557600080fd5b506104de610c99565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610518578181015183820152602001610500565b50505050905090810190601f1680156105455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561055f57600080fd5b50610577600160a060020a0360043516602435610cd0565b604080519115158252519081900360200190f35b34801561059757600080fd5b506104b7610d78565b3480156105ac57600080fd5b506104b7610d83565b3480156105c157600080fd5b506104b7610db5565b3480156105d657600080fd5b50610577600160a060020a0360043516610dbb565b3480156105f757600080fd5b50610577600160a060020a0360043581169060243516604435610f0f565b34801561062157600080fd5b506104b7611082565b34801561063657600080fd5b50610577611087565b34801561064b57600080fd5b506104a0610a74565b34801561066057600080fd5b506104a0600435611095565b34801561067857600080fd5b506104b7611163565b34801561068d57600080fd5b506104b7611169565b3480156106a257600080fd5b506104b761116f565b3480156106b757600080fd5b506104b7611175565b3480156106cc57600080fd5b506104b761117b565b3480156106e157600080fd5b506104b7611185565b3480156106f657600080fd5b506104b7600160a060020a036004351661118b565b34801561071757600080fd5b506104a0600160a060020a03600435166024356111a6565b34801561073b57600080fd5b506104a06112e2565b34801561075057600080fd5b506104b761136c565b34801561076557600080fd5b5061076e611372565b60408051600160a060020a039092168252519081900360200190f35b34801561079657600080fd5b50610577611381565b3480156107ab57600080fd5b506104de61138a565b3480156107c057600080fd5b506105776113c1565b3480156107d557600080fd5b506104a060043561143c565b3480156107ed57600080fd5b506104b761148e565b34801561080257600080fd5b506104b7611494565b34801561081757600080fd5b506104b761149a565b34801561082c57600080fd5b506104b76114a0565b34801561084157600080fd5b50610577600160a060020a03600435166024356114a6565b6104a0610ad6565b34801561086d57600080fd5b506104b7611585565b34801561088257600080fd5b506104a0600160a060020a0360043516602435611590565b3480156108a657600080fd5b506104b76116e2565b3480156108bb57600080fd5b506105776116e8565b3480156108d057600080fd5b506104b7600160a060020a03600435811690602435166116f7565b3480156108f757600080fd5b506104b76117a8565b34801561090c57600080fd5b506104a0600160a060020a03600435166024356117ae565b34801561093057600080fd5b5061076e61183b565b34801561094557600080fd5b5061057761184a565b34801561095a57600080fd5b50610577600160a060020a0360043516602435611897565b34801561097e57600080fd5b506104b7600160a060020a0360043581169060243516611953565b3480156109a557600080fd5b506104b761197e565b3480156109ba57600080fd5b50604080516020600480358082013583810280860185019096528085526104a09536959394602494938501929182918501908490808284375094975050933594506119849350505050565b348015610a1157600080fd5b506104b7611a49565b348015610a2657600080fd5b506104b7611a54565b348015610a3b57600080fd5b506104a0600160a060020a0360043516611a5a565b348015610a5c57600080fd5b506104a0600160a060020a0360043516602435611aa0565b6001546000908190600160a060020a03163314610a9057600080fd5b50506003546040513091823191600160a060020a03909116906108fc8315029083906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b505050565b601854600090819062010000900460ff1615610af157600080fd5b60009150662386f26fc10000341015610b0957600080fd5b60003411610b1657600080fd5b600954670de0b6b3a764000090610b33903463ffffffff611be216565b811515610b3c57fe5b601854919004925033915060ff61010090910416151560011415610baa576040805160e560020a62461bcd02815260206004820152601060248201527f49434f204861732046696e697368656400000000000000000000000000000000604482015290519081900360640190fd5b600354600160a060020a0316600090815260046020526040902054821115610c42576040805160e560020a62461bcd02815260206004820152602760248201527f496e73756666696369656e7420546f6b656e2042616c616e6365206f7220536f60448201527f6c64204f75742e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000821015610c5057600080fd5b60088054830190556000821115610c6d57610c6b8183611c0b565b505b600854660221b262dd800011610c8f576018805462ff00001916620100001790555b5050565b60125481565b60408051808201909152600581527f4f434f494e000000000000000000000000000000000000000000000000000000602082015281565b60008115801590610d035750336000908152600560209081526040808320600160a060020a038716845290915290205415155b15610d1057506000610d72565b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b660221b262dd800081565b6000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec546006540390565b600a5481565b60015460009081908190600160a060020a03163314610dd957600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051859350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610e3d57600080fd5b505af1158015610e51573d6000803e3d6000fd5b505050506040513d6020811015610e6757600080fd5b5051600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610edb57600080fd5b505af1158015610eef573d6000803e3d6000fd5b505050506040513d6020811015610f0557600080fd5b5051949350505050565b600060606064361015610f1e57fe5b600160a060020a0384161515610f3357600080fd5b600160a060020a038516600090815260046020526040902054831115610f5857600080fd5b600160a060020a0385166000908152600560209081526040808320338452909152902054831115610f8857600080fd5b600160a060020a038516600090815260046020526040902054610fb1908463ffffffff611d2b16565b600160a060020a0386166000908152600460209081526040808320939093556005815282822033835290522054610fee908463ffffffff611d2b16565b600160a060020a038087166000908152600560209081526040808320338452825280832094909455918716815260049091522054611032908463ffffffff611d3d16565b600160a060020a038086166000818152600460209081526040918290209490945580518781529051919392891692600080516020611d4b83398151915292918290030190a3506001949350505050565b600881565b601854610100900460ff1681565b600154600160a060020a031633146110ac57600080fd5b600354600160a060020a03166000908152600460205260409020546110d7908263ffffffff611d2b16565b600354600160a060020a0316600090815260046020526040902055600654611105908263ffffffff611d2b16565b60065560075461111b908263ffffffff611d2b16565b600755600354604080518381529051600160a060020a03909216917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59181900360200190a250565b60135481565b60165481565b60115481565b60155481565b652d79883d200081565b600f5481565b600160a060020a031660009081526004602052604090205490565b600154600160a060020a031633146111bd57600080fd5b600d54600160a060020a03166000908152600460205260409020548111156111e457600080fd5b600081116111f157600080fd5b600160a060020a03821660009081526004602052604090205461121a908263ffffffff611d3d16565b600160a060020a0380841660009081526004602052604080822093909355600d5490911681522054611252908263ffffffff611d2b16565b600d54600160a060020a039081166000908152600460209081526040918290209390935580518481529051918516927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518281529051600160a060020a03841691600091600080516020611d4b8339815191529181900360200190a350506000601a55565b600254600160a060020a031633146112f957600080fd5b600254600154604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600280546001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60175481565b600154600160a060020a031681565b60185460ff1681565b60408051808201909152600581527f4f636f696e000000000000000000000000000000000000000000000000000000602082015281565b600154600090600160a060020a031633146113db57600080fd5b60185462010000900460ff16156113f157600080fd5b6018805461ff001962ff0000199091166201000017166101001790556040517f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc90600090a150600190565b600154600160a060020a0316331461145357600080fd5b60098190556040805182815290517ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c0039181900360200190a150565b60085481565b60105481565b600e5481565b60195481565b6000604060443610156114b557fe5b600160a060020a03841615156114ca57600080fd5b336000908152600460205260409020548311156114e657600080fd5b33600090815260046020526040902054611506908463ffffffff611d2b16565b3360009081526004602052604080822092909255600160a060020a03861681522054611538908463ffffffff611d3d16565b600160a060020a038516600081815260046020908152604091829020939093558051868152905191923392600080516020611d4b8339815191529281900390910190a35060019392505050565b662386f26fc1000081565b600154600160a060020a031633146115a757600080fd5b600354600160a060020a03166000908152600460205260409020548111156115ce57600080fd5b600081116115db57600080fd5b6007546115ee908263ffffffff611d3d16565b600755600160a060020a03821660009081526004602052604090205461161a908263ffffffff611d3d16565b600160a060020a038084166000908152600460205260408082209390935560035490911681522054611652908263ffffffff611d2b16565b600354600160a060020a039081166000908152600460209081526040918290209390935580518481529051918516927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518281529051600160a060020a03841691600091600080516020611d4b8339815191529181900360200190a350506000601a55565b60145481565b60185462010000900460ff1681565b600080600084915081600160a060020a03166370a08231856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561177357600080fd5b505af1158015611787573d6000803e3d6000fd5b505050506040513d602081101561179d57600080fd5b505195945050505050565b60095481565b336000908152600460205260409020548111156117ca57610c8f565b33600081815260046020908152604080832080548690039055600160a060020a03861680845292819020805486019055805193845290830191909152818101839052517f3990db2d31862302a685e8086b5755072a6e2b5b780af1ee81ece35ee3cd33459181900360600190a15050565b600254600160a060020a031681565b600154600090600160a060020a0316331461186457600080fd5b60185462010000900460ff161561187a57600080fd5b506018805460ff1916600190811790915542600e81905560165590565b600154600090600160a060020a031633146118b157600080fd5b600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519185169163a9059cbb916044808201926020929091908290030181600087803b15801561192057600080fd5b505af1158015611934573d6000803e3d6000fd5b505050506040513d602081101561194a57600080fd5b50519392505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b601a5481565b600154600160a060020a0316331461199b57600080fd5b6000601a819055601b555b8151601b5410156119d557601a546119c4908263ffffffff611d3d16565b601a55601b805460010190556119a6565b600c54600160a060020a0316600090815260046020526040902054601a5411156119fe57600080fd5b6000601b555b8151601b541015611a4057611a3282601b54815181101515611a2257fe5b9060200190602002015182611aa0565b601b80546001019055611a04565b50506000601a55565b66013e52b9abe00081565b60075481565b600154600160a060020a03163314611a7157600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a03163314611ab757600080fd5b600c54600160a060020a0316600090815260046020526040902054811115611ade57600080fd5b60008111611aeb57600080fd5b600160a060020a038216600090815260046020526040902054611b14908263ffffffff611d3d16565b600160a060020a0380841660009081526004602052604080822093909355600c5490911681522054611b4c908263ffffffff611d2b16565b600c54600160a060020a039081166000908152600460209081526040808320949094559185168082529083902054835185815292830152825190927fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d272928290030190a2604080518281529051600160a060020a03841691600091600080516020611d4b8339815191529181900360200190a35050565b6000821515611bf357506000610d72565b50818102818382811515611c0357fe5b0414610d7257fe5b60185460009062010000900460ff1615611c2457600080fd5b600754611c37908363ffffffff611d3d16565b600755600160a060020a038316600090815260046020526040902054611c63908363ffffffff611d3d16565b600160a060020a038085166000908152600460205260408082209390935560035490911681522054611c9b908363ffffffff611d2b16565b600354600160a060020a039081166000908152600460209081526040918290209390935580518581529051918616927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518381529051600160a060020a03851691600091600080516020611d4b8339815191529181900360200190a350600192915050565b600082821115611d3757fe5b50900390565b81810182811015610d7257fe00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820f3c1ed005faf84aeaff284581ccf721f81fe37778396f14250ebcc4c7017cbd50029
Swarm Source
bzzr://f3c1ed005faf84aeaff284581ccf721f81fe37778396f14250ebcc4c7017cbd5
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.