Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 45 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 4502539 | 2698 days ago | IN | 0 ETH | 0.00048165 | ||||
Transfer | 4215562 | 2767 days ago | IN | 1 ETH | 0.0042 | ||||
Transfer | 4215507 | 2767 days ago | IN | 1 ETH | 0.0042 | ||||
Finish Voting | 4165693 | 2780 days ago | IN | 0 ETH | 0.00130176 | ||||
Vote | 4104290 | 2795 days ago | IN | 0 ETH | 0.00172284 | ||||
Start Voting | 4104258 | 2795 days ago | IN | 0 ETH | 0.00149232 | ||||
Set Migration Ag... | 4104198 | 2795 days ago | IN | 0 ETH | 0.0009935 | ||||
Transfer | 4102298 | 2795 days ago | IN | 0.043 ETH | 0.00072 | ||||
Transfer | 4098700 | 2796 days ago | IN | 0.478 ETH | 0.00252002 | ||||
Transfer | 4091459 | 2797 days ago | IN | 1 ETH | 0.00252002 | ||||
Transfer | 4088658 | 2798 days ago | IN | 1 ETH | 0.00720006 | ||||
Transfer | 4085438 | 2799 days ago | IN | 1 ETH | 0.00252002 | ||||
Transfer | 4084448 | 2799 days ago | IN | 0.05 ETH | 0.00480004 | ||||
Transfer | 4081266 | 2800 days ago | IN | 0.5012456 ETH | 0.00252002 | ||||
Transfer | 4072786 | 2801 days ago | IN | 0.114 ETH | 0.00252002 | ||||
Transfer | 4072750 | 2801 days ago | IN | 0.115 ETH | 0.0042 | ||||
Change Owner | 4071249 | 2802 days ago | IN | 0.001 ETH | 0.0018 | ||||
Transfer | 4071008 | 2802 days ago | IN | 0.23 ETH | 0.00252002 | ||||
Transfer | 4066066 | 2803 days ago | IN | 0.23 ETH | 0.0025 | ||||
Transfer | 4066032 | 2803 days ago | IN | 0.23 ETH | 0.0021 | ||||
Transfer | 4056609 | 2805 days ago | IN | 0.241 ETH | 0.0021 | ||||
Transfer | 4056573 | 2805 days ago | IN | 0.24332882 ETH | 0.001 | ||||
Transfer | 4054999 | 2805 days ago | IN | 1.15 ETH | 0.00252002 | ||||
Transfer | 4054964 | 2805 days ago | IN | 0.19 ETH | 0.00147 | ||||
Transfer | 4054680 | 2805 days ago | IN | 1.11 ETH | 0.00252002 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 4165693 | 2780 days ago | 54.1862456 ETH |
Loading...
Loading
Contract Name:
Proof
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-07-15 */ /* This file is part of the PROOF Contract. The PROOF Contract is free software: you can redistribute it and/or modify it under the terms of the GNU lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The PROOF Contract is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU lesser General Public License for more details. You should have received a copy of the GNU lesser General Public License along with the PROOF Contract. If not, see <http://www.gnu.org/licenses/>. */ pragma solidity ^0.4.0; contract owned { address public owner; function owned() payable { owner = msg.sender; } modifier onlyOwner { require(owner == msg.sender); _; } function changeOwner(address _owner) onlyOwner public { require(_owner != 0); owner = _owner; } } contract Crowdsale is owned { uint256 public totalSupply; mapping (address => uint256) public balanceOf; uint public etherPrice; address public crowdsaleOwner; uint public totalLimitUSD; uint public minimalSuccessUSD; uint public collectedUSD; enum State { Disabled, PreICO, CompletePreICO, Crowdsale, Enabled, Migration } event NewState(State state); State public state = State.Disabled; uint public crowdsaleStartTime; uint public crowdsaleFinishTime; modifier enabledState { require(state == State.Enabled); _; } modifier enabledOrMigrationState { require(state == State.Enabled || state == State.Migration); _; } struct Investor { uint256 amountTokens; uint amountWei; } mapping (address => Investor) public investors; mapping (uint => address) public investorsIter; uint public numberOfInvestors; function () payable { require(state == State.PreICO || state == State.Crowdsale); uint256 tokensPerUSD = 0; if (state == State.PreICO) { tokensPerUSD = 125; } else if (state == State.Crowdsale) { if (now < crowdsaleStartTime + 1 days) { tokensPerUSD = 115; } else if (now < crowdsaleStartTime + 1 weeks) { tokensPerUSD = 110; } else { tokensPerUSD = 100; } } if (tokensPerUSD > 0) { uint valueWei = msg.value; uint valueUSD = valueWei * etherPrice / 1000000000000000000; if (collectedUSD + valueUSD > totalLimitUSD) { // don't need so much ether valueUSD = totalLimitUSD - collectedUSD; valueWei = valueUSD * 1000000000000000000 / etherPrice; msg.sender.transfer(msg.value - valueWei); collectedUSD = totalLimitUSD; // to be sure! } else { collectedUSD += valueUSD; } uint256 tokens = tokensPerUSD * valueUSD; require(balanceOf[msg.sender] + tokens > balanceOf[msg.sender]); // overflow require(tokens > 0); Investor storage inv = investors[msg.sender]; if (inv.amountWei == 0) { // new investor investorsIter[numberOfInvestors++] = msg.sender; } inv.amountTokens += tokens; inv.amountWei += valueWei; balanceOf[msg.sender] += tokens; totalSupply += tokens; } } function startTokensSale(address _crowdsaleOwner, uint _etherPrice) public onlyOwner { require(state == State.Disabled || state == State.CompletePreICO); crowdsaleStartTime = now; crowdsaleOwner = _crowdsaleOwner; etherPrice = _etherPrice; delete numberOfInvestors; delete collectedUSD; if (state == State.Disabled) { crowdsaleFinishTime = now + 14 days; state = State.PreICO; totalLimitUSD = 300000; minimalSuccessUSD = 300000; } else { crowdsaleFinishTime = now + 30 days; state = State.Crowdsale; totalLimitUSD = 5200000; minimalSuccessUSD = 3600000; } NewState(state); } function timeToFinishTokensSale() public constant returns(uint t) { require(state == State.PreICO || state == State.Crowdsale); if (now > crowdsaleFinishTime) { t = 0; } else { t = crowdsaleFinishTime - now; } } function finishTokensSale(uint _investorsToProcess) public { require(state == State.PreICO || state == State.Crowdsale); require(now >= crowdsaleFinishTime || collectedUSD == totalLimitUSD); if (collectedUSD < minimalSuccessUSD) { // Investors can get their ether calling withdrawBack() function while (_investorsToProcess > 0 && numberOfInvestors > 0) { address addr = investorsIter[--numberOfInvestors]; Investor memory inv = investors[addr]; balanceOf[addr] -= inv.amountTokens; totalSupply -= inv.amountTokens; --_investorsToProcess; delete investorsIter[numberOfInvestors]; } if (numberOfInvestors > 0) { return; } if (state == State.PreICO) { state = State.Disabled; } else { state = State.CompletePreICO; } } else { while (_investorsToProcess > 0 && numberOfInvestors > 0) { --numberOfInvestors; --_investorsToProcess; delete investors[investorsIter[numberOfInvestors]]; delete investorsIter[numberOfInvestors]; } if (numberOfInvestors > 0) { return; } if (state == State.PreICO) { if (!crowdsaleOwner.send(this.balance)) throw; state = State.CompletePreICO; } else { if (!crowdsaleOwner.send(1500000 * 1000000000000000000 / etherPrice)) throw; // Create additional tokens for owner (28% of complete totalSupply) balanceOf[owner] = totalSupply * 28 / 72; totalSupply += totalSupply * 28 / 72; state = State.Enabled; } } NewState(state); } // This function must be called by token holder in case of crowdsale failed function withdrawBack() public { require(state == State.Disabled || state == State.CompletePreICO); uint value = investors[msg.sender].amountWei; if (value > 0) { delete investors[msg.sender]; msg.sender.transfer(value); } } } contract Token is Crowdsale { string public standard = 'Token 0.1'; string public name = 'PROOF'; string public symbol = "PF"; uint8 public decimals = 0; modifier onlyTokenHolders { require(balanceOf[msg.sender] != 0); _; } mapping (address => mapping (address => uint256)) public allowed; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function Token() payable Crowdsale() {} function transfer(address _to, uint256 _value) public enabledState { require(balanceOf[msg.sender] >= _value); require(balanceOf[_to] + _value >= balanceOf[_to]); // overflow balanceOf[msg.sender] -= _value; balanceOf[_to] += _value; Transfer(msg.sender, _to, _value); } function transferFrom(address _from, address _to, uint256 _value) public enabledState { require(balanceOf[_from] >= _value); require(balanceOf[_to] + _value >= balanceOf[_to]); // overflow require(allowed[_from][msg.sender] >= _value); balanceOf[_from] -= _value; balanceOf[_to] += _value; allowed[_from][msg.sender] -= _value; Transfer(_from, _to, _value); } function approve(address _spender, uint256 _value) public enabledState { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); } function allowance(address _owner, address _spender) public constant enabledState returns (uint256 remaining) { return allowed[_owner][_spender]; } } contract MigrationAgent { function migrateFrom(address _from, uint256 _value); } contract TokenMigration is Token { address public migrationAgent; uint256 public totalMigrated; event Migrate(address indexed from, address indexed to, uint256 value); function TokenMigration() payable Token() {} // Migrate _value of tokens to the new token contract function migrate(uint256 _value) external { require(state == State.Migration); require(migrationAgent != 0); require(_value != 0); require(_value <= balanceOf[msg.sender]); balanceOf[msg.sender] -= _value; totalSupply -= _value; totalMigrated += _value; MigrationAgent(migrationAgent).migrateFrom(msg.sender, _value); Migrate(msg.sender, migrationAgent, _value); } function setMigrationAgent(address _agent) external onlyOwner { require(migrationAgent == 0); migrationAgent = _agent; state = State.Migration; } } contract ProofTeamVote is TokenMigration { function ProofTeamVote() payable TokenMigration() {} event VotingStarted(uint weiReqFund); event Voted(address indexed voter, bool inSupport); event VotingFinished(bool inSupport); struct Vote { bool inSupport; bool voted; } uint public weiReqFund; uint public votingDeadline; uint public numberOfVotes; uint public yea; uint public nay; mapping (address => Vote) public votes; mapping (uint => address) public votesIter; function startVoting(uint _weiReqFund) public enabledOrMigrationState onlyOwner { require(weiReqFund == 0 && _weiReqFund > 0 && _weiReqFund <= this.balance); weiReqFund = _weiReqFund; votingDeadline = now + 7 days; delete yea; delete nay; VotingStarted(_weiReqFund); } function votingInfo() public constant enabledOrMigrationState returns(uint _weiReqFund, uint _timeToFinish) { _weiReqFund = weiReqFund; if (votingDeadline <= now) { _timeToFinish = 0; } else { _timeToFinish = votingDeadline - now; } } function vote(bool _inSupport) public onlyTokenHolders enabledOrMigrationState returns (uint voteId) { require(votes[msg.sender].voted != true); require(votingDeadline > now); voteId = numberOfVotes++; votesIter[voteId] = msg.sender; votes[msg.sender] = Vote({inSupport: _inSupport, voted: true}); Voted(msg.sender, _inSupport); return voteId; } function finishVoting(uint _votesToProcess) public enabledOrMigrationState returns (bool _inSupport) { require(now >= votingDeadline); while (_votesToProcess > 0 && numberOfVotes > 0) { address voter = votesIter[--numberOfVotes]; Vote memory v = votes[voter]; uint voteWeight = balanceOf[voter]; if (v.inSupport) { yea += voteWeight; } else { nay += voteWeight; } delete votes[voter]; delete votesIter[numberOfVotes]; --_votesToProcess; } if (numberOfVotes > 0) { _inSupport = false; return; } _inSupport = (yea > nay); uint weiForSend = weiReqFund; delete weiReqFund; delete votingDeadline; delete numberOfVotes; if (_inSupport) { if (migrationAgent == 0) { if (!owner.send(weiForSend)) throw; } else { if (!migrationAgent.send(this.balance)) throw; } } VotingFinished(_inSupport); } } contract ProofPublicVote is ProofTeamVote { function ProofPublicVote() payable ProofTeamVote() {} event Deployed(address indexed projectOwner, uint proofReqFund, string urlInfo); event Voted(address indexed projectOwner, address indexed voter, bool inSupport); event VotingFinished(address indexed projectOwner, bool inSupport); struct Project { uint proofReqFund; string urlInfo; uint votingDeadline; uint numberOfVotes; uint yea; uint nay; mapping (address => Vote) votes; mapping (uint => address) votesIter; } mapping (address => Project) public projects; function deployProject(uint _proofReqFund, string _urlInfo) public onlyTokenHolders enabledOrMigrationState { require(_proofReqFund > 0 && _proofReqFund <= balanceOf[this]); require(_proofReqFund <= balanceOf[msg.sender] * 1000); require(projects[msg.sender].proofReqFund == 0); projects[msg.sender].proofReqFund = _proofReqFund; projects[msg.sender].urlInfo = _urlInfo; projects[msg.sender].votingDeadline = now + 7 days; Deployed(msg.sender, _proofReqFund, _urlInfo); } function projectInfo(address _projectOwner) enabledOrMigrationState constant public returns(uint _proofReqFund, string _urlInfo, uint _timeToFinish) { _proofReqFund = projects[_projectOwner].proofReqFund; _urlInfo = projects[_projectOwner].urlInfo; if (projects[_projectOwner].votingDeadline <= now) { _timeToFinish = 0; } else { _timeToFinish = projects[_projectOwner].votingDeadline - now; } } function vote(address _projectOwner, bool _inSupport) public onlyTokenHolders enabledOrMigrationState returns (uint voteId) { Project storage p = projects[_projectOwner]; require(p.proofReqFund > 0); require(p.votes[msg.sender].voted != true); require(p.votingDeadline > now); voteId = p.numberOfVotes++; p.votesIter[voteId] = msg.sender; p.votes[msg.sender] = Vote({inSupport: _inSupport, voted: true}); Voted(_projectOwner, msg.sender, _inSupport); return voteId; } function finishVoting(address _projectOwner, uint _votesToProcess) public enabledOrMigrationState returns (bool _inSupport) { Project storage p = projects[_projectOwner]; require(p.proofReqFund > 0); require(now >= p.votingDeadline && p.proofReqFund <= balanceOf[this]); while (_votesToProcess > 0 && p.numberOfVotes > 0) { address voter = p.votesIter[--p.numberOfVotes]; Vote memory v = p.votes[voter]; uint voteWeight = balanceOf[voter]; if (v.inSupport) { p.yea += voteWeight; } else { p.nay += voteWeight; } delete p.votesIter[p.numberOfVotes]; delete p.votes[voter]; --_votesToProcess; } if (p.numberOfVotes > 0) { _inSupport = false; return; } _inSupport = (p.yea > p.nay); uint proofReqFund = p.proofReqFund; delete projects[_projectOwner]; if (_inSupport) { require(balanceOf[_projectOwner] + proofReqFund >= balanceOf[_projectOwner]); // overflow balanceOf[this] -= proofReqFund; balanceOf[_projectOwner] += proofReqFund; Transfer(this, _projectOwner, proofReqFund); } VotingFinished(_projectOwner, _inSupport); } } contract Proof is ProofPublicVote { struct Swype { uint16 swype; uint timestampSwype; } struct Video { uint16 swype; uint timestampSwype; uint timestampHash; address owner; } mapping (address => Swype) public swypes; mapping (bytes32 => Video) public videos; uint priceInTokens; uint teamFee; function Proof() payable ProofPublicVote() {} function setPrice(uint _priceInTokens) public onlyOwner { require(_priceInTokens >= 2); teamFee = _priceInTokens / 10; if (teamFee == 0) { teamFee = 1; } priceInTokens = _priceInTokens - teamFee; } function swypeCode() public enabledState returns (uint16 _swype) { bytes32 blockHash = block.blockhash(block.number - 1); bytes32 shaTemp = sha3(msg.sender, blockHash); _swype = uint16(uint256(shaTemp) % 65536); swypes[msg.sender] = Swype({swype: _swype, timestampSwype: now}); } function setHash(uint16 _swype, bytes32 _hash) public enabledState { require(swypes[msg.sender].timestampSwype != 0); require(swypes[msg.sender].swype == _swype); transfer(owner, teamFee); transfer(this, priceInTokens); videos[_hash] = Video({swype: _swype, timestampSwype:swypes[msg.sender].timestampSwype, timestampHash: now, owner: msg.sender}); delete swypes[msg.sender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"votingDeadline","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"investorsIter","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawBack","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfVotes","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minimalSuccessUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"yea","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"votingInfo","outputs":[{"name":"_weiReqFund","type":"uint256"},{"name":"_timeToFinish","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfInvestors","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"collectedUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"weiReqFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_weiReqFund","type":"uint256"}],"name":"startVoting","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_projectOwner","type":"address"},{"name":"_votesToProcess","type":"uint256"}],"name":"finishVoting","outputs":[{"name":"_inSupport","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"migrate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"swypeCode","outputs":[{"name":"_swype","type":"uint16"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_investorsToProcess","type":"uint256"}],"name":"finishTokensSale","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_inSupport","type":"bool"}],"name":"vote","outputs":[{"name":"voteId","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"swypes","outputs":[{"name":"swype","type":"uint16"},{"name":"timestampSwype","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"investors","outputs":[{"name":"amountTokens","type":"uint256"},{"name":"amountWei","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"timeToFinishTokensSale","outputs":[{"name":"t","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalLimitUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"projects","outputs":[{"name":"proofReqFund","type":"uint256"},{"name":"urlInfo","type":"string"},{"name":"votingDeadline","type":"uint256"},{"name":"numberOfVotes","type":"uint256"},{"name":"yea","type":"uint256"},{"name":"nay","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_priceInTokens","type":"uint256"}],"name":"setPrice","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalMigrated","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleFinishTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"etherPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"videos","outputs":[{"name":"swype","type":"uint16"},{"name":"timestampSwype","type":"uint256"},{"name":"timestampHash","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_projectOwner","type":"address"}],"name":"projectInfo","outputs":[{"name":"_proofReqFund","type":"uint256"},{"name":"_urlInfo","type":"string"},{"name":"_timeToFinish","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_votesToProcess","type":"uint256"}],"name":"finishVoting","outputs":[{"name":"_inSupport","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_proofReqFund","type":"uint256"},{"name":"_urlInfo","type":"string"}],"name":"deployProject","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_crowdsaleOwner","type":"address"},{"name":"_etherPrice","type":"uint256"}],"name":"startTokensSale","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_projectOwner","type":"address"},{"name":"_inSupport","type":"bool"}],"name":"vote","outputs":[{"name":"voteId","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_swype","type":"uint16"},{"name":"_hash","type":"bytes32"}],"name":"setHash","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"votes","outputs":[{"name":"inSupport","type":"bool"},{"name":"voted","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"nay","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"votesIter","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[],"payable":true,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"projectOwner","type":"address"},{"indexed":false,"name":"proofReqFund","type":"uint256"},{"indexed":false,"name":"urlInfo","type":"string"}],"name":"Deployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"projectOwner","type":"address"},{"indexed":true,"name":"voter","type":"address"},{"indexed":false,"name":"inSupport","type":"bool"}],"name":"Voted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"projectOwner","type":"address"},{"indexed":false,"name":"inSupport","type":"bool"}],"name":"VotingFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"weiReqFund","type":"uint256"}],"name":"VotingStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Migrate","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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"state","type":"uint8"}],"name":"NewState","type":"event"}]
Contract Creation Code
6060604052600880546000919060ff19166001835b02179055506040805180820190915260098082527f546f6b656e20302e31000000000000000000000000000000000000000000000060209092019182526200005f91600e9162000125565b506040805180820190915260058082527f50524f4f460000000000000000000000000000000000000000000000000000006020909201918252620000a691600f9162000125565b506040805180820190915260028082527f50460000000000000000000000000000000000000000000000000000000000006020909201918252620000ed9160109162000125565b506011805460ff191690555b5b5b5b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b5b5b5b5b620001cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016857805160ff191683800117855562000198565b8280016001018555821562000198579182015b82811115620001985782518255916020019190600101906200017b565b5b50620001a7929150620001ab565b5090565b620001cc91905b80821115620001a75760008155600101620001b2565b5090565b90565b612d5a80620001df6000396000f3006060604052361561027a5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663036ee85081146104a0578063052deec5146104c257806306fdde03146104f1578063095ea7b3146105815780630a692347146105a25780630e7d490d146105b4578063105a6356146105d657806314cbb90d146105f857806318160ddd1461061a57806319e7998c1461063c5780631af2c9fd146106655780631ff6c2411461068757806323b872dd146106a95780632fea6915146106d0578063313ce567146106f25780633d2f5bda146107185780633dfca2ad1461072d578063454b06081461076057806346975b9a1461077557806349866ec01461079c5780634b9f5c98146107b15780635a3b7e42146107d85780635b8e48df146108685780635c658165146108a25780636f7bc9be146108d657806370a082311461090b57806375e2ff65146109395780637a26924f146109575780637b25aeca146109795780638328dbcd1461099b578063840e78fd146109c75780638556558514610a925780638da5cb5b14610abe57806391b7f5ed14610aea57806395a0f5eb14610aff57806395d89b4114610b215780639789f9da14610bb15780639e30795514610bd3578063a2d6d38214610bf5578063a3dd2b3e14610c3c578063a6f9dae114610ceb578063a9059cbb14610d09578063abe7c08e14610d2a578063b3aae83014610d51578063b77d487614610daa578063bd041c4d14610dcb578063c19d93fb14610dfe578063c364a25d14610e32578063d8bff5a514610e4e578063dd62ed3e14610e85578063e2fc421d14610eb9578063ea2fe1a214610edb578063f7efd40814610efd575b61049e5b60008080808060015b60085460ff16600581111561029857fe5b14806102b5575060035b60085460ff1660058111156102b357fe5b145b15156102c15760006000fd5b6000945060015b60085460ff1660058111156102d957fe5b14156102e857607d9450610337565b60035b60085460ff1660058111156102fc57fe5b141561033757600954620151800142101561031a5760739450610337565b60095462093a800142101561033257606e9450610337565b606494505b5b5b5b600085111561049657600354349450670de0b6b3a76400009085025b049250600554836007540111156103c65760075460055403925060035483670de0b6b3a76400000281151561038757fe5b6040519190049450600160a060020a033316903486900380156108fc02916000818181858888f1935050505015156103bb57fe5b6005546007556103cf565b60078054840190555b600160a060020a0333166000908152600260205260409020548584029250808301116103fb5760006000fd5b600082116104095760006000fd5b50600160a060020a0333166000908152600b602052604090206001810154151561046057600d8054600181019091556000908152600c602052604090208054600160a060020a03191633600160a060020a03161790555b8054820181556001808201805486019055600160a060020a03331660009081526002602052604090208054840190558054830190555b5b5050505050565b005b34156104a857fe5b6104b0610f2c565b60408051918252519081900360200190f35b34156104ca57fe5b6104d5600435610f32565b60408051600160a060020a039092168252519081900360200190f35b34156104f957fe5b610501610f4d565b604080516020808252835181830152835191928392908301918501908083838215610547575b80518252602083111561054757601f199092019160209182019101610527565b505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058957fe5b61049e600160a060020a0360043516602435610fdb565b005b34156105aa57fe5b61049e61105d565b005b34156105bc57fe5b6104b0611106565b60408051918252519081900360200190f35b34156105de57fe5b6104b061110c565b60408051918252519081900360200190f35b341561060057fe5b6104b0611112565b60408051918252519081900360200190f35b341561062257fe5b6104b0611118565b60408051918252519081900360200190f35b341561064457fe5b61064c61111e565b6040805192835260208301919091528051918290030190f35b341561066d57fe5b6104b0611184565b60408051918252519081900360200190f35b341561068f57fe5b6104b061118a565b60408051918252519081900360200190f35b34156106b157fe5b61049e600160a060020a0360043581169060243516604435611190565b005b34156106d857fe5b6104b06112bb565b60408051918252519081900360200190f35b34156106fa57fe5b6107026112c1565b6040805160ff9092168252519081900360200190f35b341561072057fe5b61049e6004356112ca565b005b341561073557fe5b61074c600160a060020a03600435166024356113a6565b604080519115158252519081900360200190f35b341561076857fe5b61049e60043561169e565b005b341561077d57fe5b6107856117f1565b6040805161ffff9092168252519081900360200190f35b34156107a457fe5b61049e6004356118ab565b005b34156107b957fe5b6104b06004351515611c05565b60408051918252519081900360200190f35b34156107e057fe5b610501611d62565b604080516020808252835181830152835191928392908301918501908083838215610547575b80518252602083111561054757601f199092019160209182019101610527565b505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561087057fe5b610884600160a060020a0360043516611df0565b6040805161ffff909316835260208301919091528051918290030190f35b34156108aa57fe5b6104b0600160a060020a0360043581169060243516611e10565b60408051918252519081900360200190f35b34156108de57fe5b61064c600160a060020a0360043516611e2d565b6040805192835260208301919091528051918290030190f35b341561091357fe5b6104b0600160a060020a0360043516611e46565b60408051918252519081900360200190f35b341561094157fe5b61049e600160a060020a0360043516611e58565b005b341561095f57fe5b6104b0611ec0565b60408051918252519081900360200190f35b341561098157fe5b6104b0611f1d565b60408051918252519081900360200190f35b34156109a357fe5b6104d5611f23565b60408051600160a060020a039092168252519081900360200190f35b34156109cf57fe5b6109e3600160a060020a0360043516611f32565b60408051878152908101859052606081018490526080810183905260a0810182905260c0602082018181528754600260001961010060018416150201909116049183018290529060e083019088908015610a7e5780601f10610a5357610100808354040283529160200191610a7e565b820191906000526020600020905b815481529060010190602001808311610a6157829003601f168201915b505097505050505050505060405180910390f35b3415610a9a57fe5b6104d5611f5f565b60408051600160a060020a039092168252519081900360200190f35b3415610ac657fe5b6104d5611f6e565b60408051600160a060020a039092168252519081900360200190f35b3415610af257fe5b61049e600435611f7d565b005b3415610b0757fe5b6104b0611fcb565b60408051918252519081900360200190f35b3415610b2957fe5b610501611fd1565b604080516020808252835181830152835191928392908301918501908083838215610547575b80518252602083111561054757601f199092019160209182019101610527565b505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610bb957fe5b6104b061205f565b60408051918252519081900360200190f35b3415610bdb57fe5b6104b0612065565b60408051918252519081900360200190f35b3415610bfd57fe5b610c0860043561206b565b6040805161ffff9095168552602085019390935283830191909152600160a060020a03166060830152519081900360800190f35b3415610c4457fe5b610c58600160a060020a03600435166120a0565b6040518084815260200180602001838152602001828103825284818151815260200191508051906020019080838360008314610caf575b805182526020831115610caf57601f199092019160209182019101610c8f565b505050905090810190601f168015610cdb5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3415610cf357fe5b61049e600160a060020a03600435166121ed565b005b3415610d1157fe5b61049e600160a060020a036004351660243561223f565b005b3415610d3257fe5b61074c60043561231a565b604080519115158252519081900360200190f35b3415610d5957fe5b60408051602060046024803582810135601f810185900485028601850190965285855261049e958335959394604494939290920191819084018382808284375094965061255595505050505050565b005b3415610db257fe5b61049e600160a060020a0360043516602435612744565b005b3415610dd357fe5b6104b0600160a060020a03600435166024351515612892565b60408051918252519081900360200190f35b3415610e0657fe5b610e0e612a2a565b60405180826005811115610e1e57fe5b60ff16815260200191505060405180910390f35b3415610e3a57fe5b61049e61ffff60043516602435612a33565b005b3415610e5657fe5b610e6a600160a060020a0360043516612b71565b60408051921515835290151560208301528051918290030190f35b3415610e8d57fe5b6104b0600160a060020a0360043581169060243516612b8f565b60408051918252519081900360200190f35b3415610ec157fe5b6104b0612bdf565b60408051918252519081900360200190f35b3415610ee357fe5b6104b0612be5565b60408051918252519081900360200190f35b3415610f0557fe5b6104d5600435612beb565b60408051600160a060020a039092168252519081900360200190f35b60165481565b600c60205260009081526040902054600160a060020a031681565b600f805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fd35780601f10610fa857610100808354040283529160200191610fd3565b820191906000526020600020905b815481529060010190602001808311610fb657829003601f168201915b505050505081565b60045b60085460ff166005811115610fef57fe5b14610ffa5760006000fd5b600160a060020a03338116600081815260126020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5b5050565b6000805b60085460ff16600581111561107257fe5b148061108f575060025b60085460ff16600581111561108d57fe5b145b151561109b5760006000fd5b50600160a060020a0333166000908152600b60205260408120600101549081111561110157600160a060020a0333166000818152600b60205260408082208281556001018290555183156108fc0291849190818181858888f19350505050151561110157fe5b5b5b50565b60175481565b60065481565b60185481565b60015481565b60008060045b60085460ff16600581111561113557fe5b1480611152575060055b60085460ff16600581111561115057fe5b145b151561115e5760006000fd5b6015549150426016541115156111765750600061117e565b426016540390505b5b5b9091565b600d5481565b60075481565b60045b60085460ff1660058111156111a457fe5b146111af5760006000fd5b600160a060020a038316600090815260026020526040902054819010156111d65760006000fd5b600160a060020a03821660009081526002602052604090205481810110156111fe5760006000fd5b600160a060020a0380841660009081526012602090815260408083203390941683529290522054819010156112335760006000fd5b600160a060020a03808416600081815260026020908152604080832080548790039055868516808452818420805488019055848452601283528184203390961684529482529182902080548690039055815185815291517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b5b505050565b60155481565b60115460ff1681565b60045b60085460ff1660058111156112de57fe5b14806112fb575060055b60085460ff1660058111156112f957fe5b145b15156113075760006000fd5b60005433600160a060020a039081169116146113235760006000fd5b6015541580156113335750600081115b8015611349575030600160a060020a0316318111155b15156113555760006000fd5b601581905562093a804201601655600060188190556019556040805182815290517fcf33babc496bb6dc2942b39cb7b75766bbbadf7da50d176ff8c513e9911402399181900360200190a15b5b5b50565b6000600060006113b4612c06565b60008060045b60085460ff1660058111156113cb57fe5b14806113e8575060055b60085460ff1660058111156113e657fe5b145b15156113f45760006000fd5b600160a060020a0388166000908152601c6020526040812080549096501161141c5760006000fd5b846002015442101580156114495750600160a060020a033016600090815260026020526040902054855411155b15156114555760006000fd5b5b60008711801561146a575060008560030154115b156115495760038501805460001901908190556000908152600786016020908152604080832054600160a060020a031680845260068901835281842082518084018452905460ff8082161515835261010090910416151581850152818552600290935292205481519296509094509250156114ee57600485018054830190556114f9565b600585018054830190555b6003850154600090815260078601602090815260408083208054600160a060020a0319169055600160a060020a0387168352600688019091529020805461ffff1916905560001990960195611455565b60008560030154111561155f5760009550611692565b50600584015460048501548554600160a060020a038a166000908152601c60205260408120818155939092119750919061159c6001830182612c1d565b506000600282018190556003820181905560048201819055600590910155851561165057600160a060020a03881660009081526002602052604090205481810110156115e85760006000fd5b600160a060020a03308116600081815260026020908152604080832080548790039055938c16808352918490208054860190558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35b6040805187151581529051600160a060020a038a16917f6116ec491e93496f9d49c081f6fae5133f9ebac8478b3305431ec45797cc84ee919081900360200190a25b5b505050505092915050565b60055b60085460ff1660058111156116b257fe5b146116bd5760006000fd5b601354600160a060020a031615156116d55760006000fd5b8015156116e25760006000fd5b600160a060020a0333166000908152600260205260409020548111156117085760006000fd5b600160a060020a0333811660008181526002602052604080822080548690039055600180548690039055601480548601905560135481517f7a3130e30000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529051931692637a3130e392604480820193929182900301818387803b151561179557fe5b6102c65a03f115156117a357fe5b5050601354604080518481529051600160a060020a03928316935033909216917f18df02dcc52b9c494f391df09661519c0069bd8540141946280399408205ca1a9181900360200190a35b50565b6000808060045b60085460ff16600581111561180957fe5b146118145760006000fd5b5050604080516c01000000000000000000000000600160a060020a03331602815260001943014060148201819052915190819003603401902062010000815b6040805180820182529290910661ffff818116845242602080860191825233600160a060020a03166000908152601d909152939093209351845461ffff19169116178355905160019092019190915592505b5b505090565b60006118b5612c06565b60015b60085460ff1660058111156118c957fe5b14806118e6575060035b60085460ff1660058111156118e457fe5b145b15156118f25760006000fd5b600a54421015806119065750600554600754145b15156119125760006000fd5b6006546007541015611a1b575b60008311801561193157506000600d54115b156119bc575050600d80546000199081018083556000908152600c6020818152604080842054600160a060020a0316808552600b835281852082518084018452815480825260019283015482870152838852600286528488208054919091039055805182540390915596548552929091529091208054600160a060020a03191690559201919061191f565b6000600d5411156119cc576112b5565b60015b60085460ff1660058111156119e057fe5b1415611a0057600880546000919060ff19166001835b0217905550611a16565b600880546002919060ff19166001835b02179055505b611bb2565b5b600083118015611a2e57506000600d54115b15611a8e57600d80546000199081018083556000908152600c6020818152604080842054600160a060020a03168452600b82528084208481556001018490559454835252919091208054600160a060020a03191690559290920191611a1c565b6000600d541115611a9e576112b5565b60015b60085460ff166005811115611ab257fe5b1415611b0c57600454604051600160a060020a039182169130163180156108fc02916000818181858888f193505050501515611a005760006000fd5b600880546002919060ff1916600183611a10565b0217905550611bb2565b600454600354600160a060020a03909116906108fc906a013da329b6336471800000811515611b3757fe5b604051919004801590920291906000818181858888f193505050501515611b5e5760006000fd5b600154604890601c025b60008054600160a060020a031681526002602052604090209190049055600154604890601c025b600180549290910490910181556008805460049260ff1990911690835b02179055505b5b6008546040517fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b4839160ff169080826005811115611bec57fe5b60ff16815260200191505060405180910390a15b505050565b600160a060020a0333166000908152600260205260408120541515611c2a5760006000fd5b60045b60085460ff166005811115611c3e57fe5b1480611c5b575060055b60085460ff166005811115611c5957fe5b145b1515611c675760006000fd5b600160a060020a0333166000908152601a602052604090205460ff61010090910416151560011415611c995760006000fd5b601654429011611ca95760006000fd5b506017805460018082019092556000818152601b602090815260408083208054600160a060020a033316600160a060020a0319909116811790915581518083018352871515808252818501978852828652601a85529483902090518154975115156101000261ff001991151560ff199099169890981716969096179095558051928352519293927f8eb81cb806dbb3d8a2f94981614331a55dfd90e06a42fdc362ca3ca96981d92f9281900390910190a25b5b5b919050565b600e805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fd35780601f10610fa857610100808354040283529160200191610fd3565b820191906000526020600020905b815481529060010190602001808311610fb657829003601f168201915b505050505081565b601d602052600090815260409020805460019091015461ffff9091169082565b601260209081526000928352604080842090915290825290205481565b600b602052600090815260409020805460019091015482565b60026020526000908152604090205481565b60005433600160a060020a03908116911614611e745760006000fd5b601354600160a060020a031615611e8b5760006000fd5b60138054600160a060020a031916600160a060020a038316179055600880546005919060ff19166001835b02179055505b5b50565b600060015b60085460ff166005811115611ed657fe5b1480611ef3575060035b60085460ff166005811115611ef157fe5b145b1515611eff5760006000fd5b600a54421115611f1157506000611f19565b42600a540390505b5b90565b60055481565b601354600160a060020a031681565b601c6020526000908152604090208054600282015460038301546004840154600585015493946001019386565b600454600160a060020a031681565b600054600160a060020a031681565b60005433600160a060020a03908116911614611f995760006000fd5b6002811015611fa85760006000fd5b600a815b0460208190551515611fbe5760016020555b6020548103601f555b5b50565b60145481565b6010805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fd35780601f10610fa857610100808354040283529160200191610fd3565b820191906000526020600020905b815481529060010190602001808311610fb657829003601f168201915b505050505081565b600a5481565b60035481565b601e60205260009081526040902080546001820154600283015460039093015461ffff909216929091600160a060020a031684565b60006120aa612c7c565b600060045b60085460ff1660058111156120c057fe5b14806120dd575060055b60085460ff1660058111156120db57fe5b145b15156120e95760006000fd5b600160a060020a0384166000908152601c60209081526040918290208054600191820180548551600294821615610100026000190190911693909304601f8101859004850284018501909552848352909650909290918301828280156121905780601f1061216557610100808354040283529160200191612190565b820191906000526020600020905b81548152906001019060200180831161217357829003601f168201915b50505050600160a060020a0386166000908152601c6020526040902060020154919350504290116121c3575060006121e4565b50600160a060020a0383166000908152601c60205260409020600201544290035b5b5b9193909250565b60005433600160a060020a039081169116146122095760006000fd5b600160a060020a038116151561221f5760006000fd5b60008054600160a060020a031916600160a060020a0383161790555b5b50565b60045b60085460ff16600581111561225357fe5b1461225e5760006000fd5b600160a060020a033316600090815260026020526040902054819010156122855760006000fd5b600160a060020a03821660009081526002602052604090205481810110156122ad5760006000fd5b600160a060020a03338116600081815260026020908152604080832080548790039055938616808352918490208054860190558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35b5b5050565b60006000612326612c06565b60008060045b60085460ff16600581111561233d57fe5b148061235a575060055b60085460ff16600581111561235857fe5b145b15156123665760006000fd5b6016544210156123765760006000fd5b5b60008611801561238957506000601754115b15612458576017805460001901908190556000908152601b6020908152604080832054600160a060020a0316808452601a835281842082518084018452905460ff80821615158352610100909104161515818501528185526002909352922054815192965090945092501561240557601880548301905561240e565b60198054830190555b600160a060020a0384166000908152601a60209081526040808320805461ffff191690556017548352601b90915290208054600160a060020a031916905560001990950194612376565b6000601754111561246c576000945061254b565b6019546018541194506015549050601560009055601660009055601760009055841561251357601354600160a060020a031615156124dd5760008054604051600160a060020a039091169183156108fc02918491818181858888f1935050505015156124d85760006000fd5b612513565b601354604051600160a060020a039182169130163180156108fc02916000818181858888f1935050505015156125135760006000fd5b5b5b60408051861515815290517fa645a33a6706739d95d9785acab71f06d2b89c02d601ef8c380e6fe4ee5223b99181900360200190a15b5b50505050919050565b600160a060020a033316600090815260026020526040902054151561257a5760006000fd5b60045b60085460ff16600581111561258e57fe5b14806125ab575060055b60085460ff1660058111156125a957fe5b145b15156125b75760006000fd5b6000821180156125df5750600160a060020a0330166000908152600260205260409020548211155b15156125eb5760006000fd5b600160a060020a0333166000908152600260205260409020546103e8028211156126155760006000fd5b600160a060020a0333166000908152601c6020526040902054156126395760006000fd5b600160a060020a0333166000908152601c60209081526040909120838155825161266b92600190920191840190612c8e565b50600160a060020a0333166000818152601c602090815260409182902062093a804201600290910155815185815280820183815285519382019390935284517ff0bbe877a87290e236ea898bbce0d78d6ac7d54d62e32744b129798a2669e39b93879387939260608401918501908083838215612703575b80518252602083111561270357601f1990920191602091820191016126e3565b505050905090810190601f16801561272f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5b5050565b60005433600160a060020a039081169116146127605760006000fd5b60005b60085460ff16600581111561277457fe5b1480612791575060025b60085460ff16600581111561278f57fe5b145b151561279d5760006000fd5b4260095560048054600160a060020a031916600160a060020a03841617905560038190556000600d81905560078190555b60085460ff1660058111156127df57fe5b141561281357621275004201600a55600880546001919060ff191682805b0217905550620493e06005819055600655612840565b62278d004201600a55600880546003919060ff19166001835b0217905550624f58806005556236ee806006555b6008546040517fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b4839160ff16908082600581111561287957fe5b60ff16815260200191505060405180910390a15b5b5050565b600160a060020a033316600090815260026020526040812054819015156128b95760006000fd5b60045b60085460ff1660058111156128cd57fe5b14806128ea575060055b60085460ff1660058111156128e857fe5b145b15156128f65760006000fd5b50600160a060020a0383166000908152601c6020526040812080549091901161291f5760006000fd5b600160a060020a033316600090815260068201602052604090205460ff610100909104161515600114156129535760006000fd5b60028101544290116129655760006000fd5b6003810180546001808201909255600081815260078401602090815260408083208054600160a060020a03338116600160a060020a03199092168217909255825180840184528a151580825281860198895282875260068a0186529584902090518154985115156101000261ff001991151560ff19909a16999099171697909717909655815193845290519396508816927ff01e0648b75d055c003bb115baaa99af91e34a86a5405eb8b96e451bcb1c79f09281900390910190a35b5b5b5092915050565b60085460ff1681565b60045b60085460ff166005811115612a4757fe5b14612a525760006000fd5b600160a060020a0333166000908152601d60205260409020600101541515612a7a5760006000fd5b33600160a060020a03166000908152601d602052604090205461ffff838116911614612aa65760006000fd5b600054602054612abf91600160a060020a03169061223f565b612acb30601f5461223f565b6040805160808101825261ffff8085168252600160a060020a033381166000818152601d602081815287832060018082018054848b01908152428b8d0190815260608c018981528e8952601e87529c88209b518c549b1661ffff199b8c16178c559051928b0192909255905160028a015598516003909801805498909616600160a060020a0319909816979097179094559181529152825490911690915590555b5b5050565b601a6020526000908152604090205460ff8082169161010090041682565b600060045b60085460ff166005811115612ba557fe5b14612bb05760006000fd5b50600160a060020a038083166000908152601260209081526040808320938516835292905220545b5b92915050565b60095481565b60195481565b601b60205260009081526040902054600160a060020a031681565b604080518082019091526000808252602082015290565b50805460018160011615610100020316600290046000825580601f10612c435750611101565b601f0160209004906000526020600020908101906111019190612d0d565b5b50565b604080518082019091526000808252602082015290565b60408051602081019091526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612ccf57805160ff1916838001178555612cfc565b82800160010185558215612cfc579182015b82811115612cfc578251825591602001919060010190612ce1565b5b50612d09929150612d0d565b5090565b611f1991905b80821115612d095760008155600101612d13565b5090565b905600a165627a7a723058206ef4e8e523104f4c27fbd1761689f727c734cb9bfd4072eabd2736571a82a3a10029
Deployed Bytecode
0x6060604052361561027a5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663036ee85081146104a0578063052deec5146104c257806306fdde03146104f1578063095ea7b3146105815780630a692347146105a25780630e7d490d146105b4578063105a6356146105d657806314cbb90d146105f857806318160ddd1461061a57806319e7998c1461063c5780631af2c9fd146106655780631ff6c2411461068757806323b872dd146106a95780632fea6915146106d0578063313ce567146106f25780633d2f5bda146107185780633dfca2ad1461072d578063454b06081461076057806346975b9a1461077557806349866ec01461079c5780634b9f5c98146107b15780635a3b7e42146107d85780635b8e48df146108685780635c658165146108a25780636f7bc9be146108d657806370a082311461090b57806375e2ff65146109395780637a26924f146109575780637b25aeca146109795780638328dbcd1461099b578063840e78fd146109c75780638556558514610a925780638da5cb5b14610abe57806391b7f5ed14610aea57806395a0f5eb14610aff57806395d89b4114610b215780639789f9da14610bb15780639e30795514610bd3578063a2d6d38214610bf5578063a3dd2b3e14610c3c578063a6f9dae114610ceb578063a9059cbb14610d09578063abe7c08e14610d2a578063b3aae83014610d51578063b77d487614610daa578063bd041c4d14610dcb578063c19d93fb14610dfe578063c364a25d14610e32578063d8bff5a514610e4e578063dd62ed3e14610e85578063e2fc421d14610eb9578063ea2fe1a214610edb578063f7efd40814610efd575b61049e5b60008080808060015b60085460ff16600581111561029857fe5b14806102b5575060035b60085460ff1660058111156102b357fe5b145b15156102c15760006000fd5b6000945060015b60085460ff1660058111156102d957fe5b14156102e857607d9450610337565b60035b60085460ff1660058111156102fc57fe5b141561033757600954620151800142101561031a5760739450610337565b60095462093a800142101561033257606e9450610337565b606494505b5b5b5b600085111561049657600354349450670de0b6b3a76400009085025b049250600554836007540111156103c65760075460055403925060035483670de0b6b3a76400000281151561038757fe5b6040519190049450600160a060020a033316903486900380156108fc02916000818181858888f1935050505015156103bb57fe5b6005546007556103cf565b60078054840190555b600160a060020a0333166000908152600260205260409020548584029250808301116103fb5760006000fd5b600082116104095760006000fd5b50600160a060020a0333166000908152600b602052604090206001810154151561046057600d8054600181019091556000908152600c602052604090208054600160a060020a03191633600160a060020a03161790555b8054820181556001808201805486019055600160a060020a03331660009081526002602052604090208054840190558054830190555b5b5050505050565b005b34156104a857fe5b6104b0610f2c565b60408051918252519081900360200190f35b34156104ca57fe5b6104d5600435610f32565b60408051600160a060020a039092168252519081900360200190f35b34156104f957fe5b610501610f4d565b604080516020808252835181830152835191928392908301918501908083838215610547575b80518252602083111561054757601f199092019160209182019101610527565b505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058957fe5b61049e600160a060020a0360043516602435610fdb565b005b34156105aa57fe5b61049e61105d565b005b34156105bc57fe5b6104b0611106565b60408051918252519081900360200190f35b34156105de57fe5b6104b061110c565b60408051918252519081900360200190f35b341561060057fe5b6104b0611112565b60408051918252519081900360200190f35b341561062257fe5b6104b0611118565b60408051918252519081900360200190f35b341561064457fe5b61064c61111e565b6040805192835260208301919091528051918290030190f35b341561066d57fe5b6104b0611184565b60408051918252519081900360200190f35b341561068f57fe5b6104b061118a565b60408051918252519081900360200190f35b34156106b157fe5b61049e600160a060020a0360043581169060243516604435611190565b005b34156106d857fe5b6104b06112bb565b60408051918252519081900360200190f35b34156106fa57fe5b6107026112c1565b6040805160ff9092168252519081900360200190f35b341561072057fe5b61049e6004356112ca565b005b341561073557fe5b61074c600160a060020a03600435166024356113a6565b604080519115158252519081900360200190f35b341561076857fe5b61049e60043561169e565b005b341561077d57fe5b6107856117f1565b6040805161ffff9092168252519081900360200190f35b34156107a457fe5b61049e6004356118ab565b005b34156107b957fe5b6104b06004351515611c05565b60408051918252519081900360200190f35b34156107e057fe5b610501611d62565b604080516020808252835181830152835191928392908301918501908083838215610547575b80518252602083111561054757601f199092019160209182019101610527565b505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561087057fe5b610884600160a060020a0360043516611df0565b6040805161ffff909316835260208301919091528051918290030190f35b34156108aa57fe5b6104b0600160a060020a0360043581169060243516611e10565b60408051918252519081900360200190f35b34156108de57fe5b61064c600160a060020a0360043516611e2d565b6040805192835260208301919091528051918290030190f35b341561091357fe5b6104b0600160a060020a0360043516611e46565b60408051918252519081900360200190f35b341561094157fe5b61049e600160a060020a0360043516611e58565b005b341561095f57fe5b6104b0611ec0565b60408051918252519081900360200190f35b341561098157fe5b6104b0611f1d565b60408051918252519081900360200190f35b34156109a357fe5b6104d5611f23565b60408051600160a060020a039092168252519081900360200190f35b34156109cf57fe5b6109e3600160a060020a0360043516611f32565b60408051878152908101859052606081018490526080810183905260a0810182905260c0602082018181528754600260001961010060018416150201909116049183018290529060e083019088908015610a7e5780601f10610a5357610100808354040283529160200191610a7e565b820191906000526020600020905b815481529060010190602001808311610a6157829003601f168201915b505097505050505050505060405180910390f35b3415610a9a57fe5b6104d5611f5f565b60408051600160a060020a039092168252519081900360200190f35b3415610ac657fe5b6104d5611f6e565b60408051600160a060020a039092168252519081900360200190f35b3415610af257fe5b61049e600435611f7d565b005b3415610b0757fe5b6104b0611fcb565b60408051918252519081900360200190f35b3415610b2957fe5b610501611fd1565b604080516020808252835181830152835191928392908301918501908083838215610547575b80518252602083111561054757601f199092019160209182019101610527565b505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610bb957fe5b6104b061205f565b60408051918252519081900360200190f35b3415610bdb57fe5b6104b0612065565b60408051918252519081900360200190f35b3415610bfd57fe5b610c0860043561206b565b6040805161ffff9095168552602085019390935283830191909152600160a060020a03166060830152519081900360800190f35b3415610c4457fe5b610c58600160a060020a03600435166120a0565b6040518084815260200180602001838152602001828103825284818151815260200191508051906020019080838360008314610caf575b805182526020831115610caf57601f199092019160209182019101610c8f565b505050905090810190601f168015610cdb5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3415610cf357fe5b61049e600160a060020a03600435166121ed565b005b3415610d1157fe5b61049e600160a060020a036004351660243561223f565b005b3415610d3257fe5b61074c60043561231a565b604080519115158252519081900360200190f35b3415610d5957fe5b60408051602060046024803582810135601f810185900485028601850190965285855261049e958335959394604494939290920191819084018382808284375094965061255595505050505050565b005b3415610db257fe5b61049e600160a060020a0360043516602435612744565b005b3415610dd357fe5b6104b0600160a060020a03600435166024351515612892565b60408051918252519081900360200190f35b3415610e0657fe5b610e0e612a2a565b60405180826005811115610e1e57fe5b60ff16815260200191505060405180910390f35b3415610e3a57fe5b61049e61ffff60043516602435612a33565b005b3415610e5657fe5b610e6a600160a060020a0360043516612b71565b60408051921515835290151560208301528051918290030190f35b3415610e8d57fe5b6104b0600160a060020a0360043581169060243516612b8f565b60408051918252519081900360200190f35b3415610ec157fe5b6104b0612bdf565b60408051918252519081900360200190f35b3415610ee357fe5b6104b0612be5565b60408051918252519081900360200190f35b3415610f0557fe5b6104d5600435612beb565b60408051600160a060020a039092168252519081900360200190f35b60165481565b600c60205260009081526040902054600160a060020a031681565b600f805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fd35780601f10610fa857610100808354040283529160200191610fd3565b820191906000526020600020905b815481529060010190602001808311610fb657829003601f168201915b505050505081565b60045b60085460ff166005811115610fef57fe5b14610ffa5760006000fd5b600160a060020a03338116600081815260126020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5b5050565b6000805b60085460ff16600581111561107257fe5b148061108f575060025b60085460ff16600581111561108d57fe5b145b151561109b5760006000fd5b50600160a060020a0333166000908152600b60205260408120600101549081111561110157600160a060020a0333166000818152600b60205260408082208281556001018290555183156108fc0291849190818181858888f19350505050151561110157fe5b5b5b50565b60175481565b60065481565b60185481565b60015481565b60008060045b60085460ff16600581111561113557fe5b1480611152575060055b60085460ff16600581111561115057fe5b145b151561115e5760006000fd5b6015549150426016541115156111765750600061117e565b426016540390505b5b5b9091565b600d5481565b60075481565b60045b60085460ff1660058111156111a457fe5b146111af5760006000fd5b600160a060020a038316600090815260026020526040902054819010156111d65760006000fd5b600160a060020a03821660009081526002602052604090205481810110156111fe5760006000fd5b600160a060020a0380841660009081526012602090815260408083203390941683529290522054819010156112335760006000fd5b600160a060020a03808416600081815260026020908152604080832080548790039055868516808452818420805488019055848452601283528184203390961684529482529182902080548690039055815185815291517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b5b505050565b60155481565b60115460ff1681565b60045b60085460ff1660058111156112de57fe5b14806112fb575060055b60085460ff1660058111156112f957fe5b145b15156113075760006000fd5b60005433600160a060020a039081169116146113235760006000fd5b6015541580156113335750600081115b8015611349575030600160a060020a0316318111155b15156113555760006000fd5b601581905562093a804201601655600060188190556019556040805182815290517fcf33babc496bb6dc2942b39cb7b75766bbbadf7da50d176ff8c513e9911402399181900360200190a15b5b5b50565b6000600060006113b4612c06565b60008060045b60085460ff1660058111156113cb57fe5b14806113e8575060055b60085460ff1660058111156113e657fe5b145b15156113f45760006000fd5b600160a060020a0388166000908152601c6020526040812080549096501161141c5760006000fd5b846002015442101580156114495750600160a060020a033016600090815260026020526040902054855411155b15156114555760006000fd5b5b60008711801561146a575060008560030154115b156115495760038501805460001901908190556000908152600786016020908152604080832054600160a060020a031680845260068901835281842082518084018452905460ff8082161515835261010090910416151581850152818552600290935292205481519296509094509250156114ee57600485018054830190556114f9565b600585018054830190555b6003850154600090815260078601602090815260408083208054600160a060020a0319169055600160a060020a0387168352600688019091529020805461ffff1916905560001990960195611455565b60008560030154111561155f5760009550611692565b50600584015460048501548554600160a060020a038a166000908152601c60205260408120818155939092119750919061159c6001830182612c1d565b506000600282018190556003820181905560048201819055600590910155851561165057600160a060020a03881660009081526002602052604090205481810110156115e85760006000fd5b600160a060020a03308116600081815260026020908152604080832080548790039055938c16808352918490208054860190558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35b6040805187151581529051600160a060020a038a16917f6116ec491e93496f9d49c081f6fae5133f9ebac8478b3305431ec45797cc84ee919081900360200190a25b5b505050505092915050565b60055b60085460ff1660058111156116b257fe5b146116bd5760006000fd5b601354600160a060020a031615156116d55760006000fd5b8015156116e25760006000fd5b600160a060020a0333166000908152600260205260409020548111156117085760006000fd5b600160a060020a0333811660008181526002602052604080822080548690039055600180548690039055601480548601905560135481517f7a3130e30000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529051931692637a3130e392604480820193929182900301818387803b151561179557fe5b6102c65a03f115156117a357fe5b5050601354604080518481529051600160a060020a03928316935033909216917f18df02dcc52b9c494f391df09661519c0069bd8540141946280399408205ca1a9181900360200190a35b50565b6000808060045b60085460ff16600581111561180957fe5b146118145760006000fd5b5050604080516c01000000000000000000000000600160a060020a03331602815260001943014060148201819052915190819003603401902062010000815b6040805180820182529290910661ffff818116845242602080860191825233600160a060020a03166000908152601d909152939093209351845461ffff19169116178355905160019092019190915592505b5b505090565b60006118b5612c06565b60015b60085460ff1660058111156118c957fe5b14806118e6575060035b60085460ff1660058111156118e457fe5b145b15156118f25760006000fd5b600a54421015806119065750600554600754145b15156119125760006000fd5b6006546007541015611a1b575b60008311801561193157506000600d54115b156119bc575050600d80546000199081018083556000908152600c6020818152604080842054600160a060020a0316808552600b835281852082518084018452815480825260019283015482870152838852600286528488208054919091039055805182540390915596548552929091529091208054600160a060020a03191690559201919061191f565b6000600d5411156119cc576112b5565b60015b60085460ff1660058111156119e057fe5b1415611a0057600880546000919060ff19166001835b0217905550611a16565b600880546002919060ff19166001835b02179055505b611bb2565b5b600083118015611a2e57506000600d54115b15611a8e57600d80546000199081018083556000908152600c6020818152604080842054600160a060020a03168452600b82528084208481556001018490559454835252919091208054600160a060020a03191690559290920191611a1c565b6000600d541115611a9e576112b5565b60015b60085460ff166005811115611ab257fe5b1415611b0c57600454604051600160a060020a039182169130163180156108fc02916000818181858888f193505050501515611a005760006000fd5b600880546002919060ff1916600183611a10565b0217905550611bb2565b600454600354600160a060020a03909116906108fc906a013da329b6336471800000811515611b3757fe5b604051919004801590920291906000818181858888f193505050501515611b5e5760006000fd5b600154604890601c025b60008054600160a060020a031681526002602052604090209190049055600154604890601c025b600180549290910490910181556008805460049260ff1990911690835b02179055505b5b6008546040517fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b4839160ff169080826005811115611bec57fe5b60ff16815260200191505060405180910390a15b505050565b600160a060020a0333166000908152600260205260408120541515611c2a5760006000fd5b60045b60085460ff166005811115611c3e57fe5b1480611c5b575060055b60085460ff166005811115611c5957fe5b145b1515611c675760006000fd5b600160a060020a0333166000908152601a602052604090205460ff61010090910416151560011415611c995760006000fd5b601654429011611ca95760006000fd5b506017805460018082019092556000818152601b602090815260408083208054600160a060020a033316600160a060020a0319909116811790915581518083018352871515808252818501978852828652601a85529483902090518154975115156101000261ff001991151560ff199099169890981716969096179095558051928352519293927f8eb81cb806dbb3d8a2f94981614331a55dfd90e06a42fdc362ca3ca96981d92f9281900390910190a25b5b5b919050565b600e805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fd35780601f10610fa857610100808354040283529160200191610fd3565b820191906000526020600020905b815481529060010190602001808311610fb657829003601f168201915b505050505081565b601d602052600090815260409020805460019091015461ffff9091169082565b601260209081526000928352604080842090915290825290205481565b600b602052600090815260409020805460019091015482565b60026020526000908152604090205481565b60005433600160a060020a03908116911614611e745760006000fd5b601354600160a060020a031615611e8b5760006000fd5b60138054600160a060020a031916600160a060020a038316179055600880546005919060ff19166001835b02179055505b5b50565b600060015b60085460ff166005811115611ed657fe5b1480611ef3575060035b60085460ff166005811115611ef157fe5b145b1515611eff5760006000fd5b600a54421115611f1157506000611f19565b42600a540390505b5b90565b60055481565b601354600160a060020a031681565b601c6020526000908152604090208054600282015460038301546004840154600585015493946001019386565b600454600160a060020a031681565b600054600160a060020a031681565b60005433600160a060020a03908116911614611f995760006000fd5b6002811015611fa85760006000fd5b600a815b0460208190551515611fbe5760016020555b6020548103601f555b5b50565b60145481565b6010805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fd35780601f10610fa857610100808354040283529160200191610fd3565b820191906000526020600020905b815481529060010190602001808311610fb657829003601f168201915b505050505081565b600a5481565b60035481565b601e60205260009081526040902080546001820154600283015460039093015461ffff909216929091600160a060020a031684565b60006120aa612c7c565b600060045b60085460ff1660058111156120c057fe5b14806120dd575060055b60085460ff1660058111156120db57fe5b145b15156120e95760006000fd5b600160a060020a0384166000908152601c60209081526040918290208054600191820180548551600294821615610100026000190190911693909304601f8101859004850284018501909552848352909650909290918301828280156121905780601f1061216557610100808354040283529160200191612190565b820191906000526020600020905b81548152906001019060200180831161217357829003601f168201915b50505050600160a060020a0386166000908152601c6020526040902060020154919350504290116121c3575060006121e4565b50600160a060020a0383166000908152601c60205260409020600201544290035b5b5b9193909250565b60005433600160a060020a039081169116146122095760006000fd5b600160a060020a038116151561221f5760006000fd5b60008054600160a060020a031916600160a060020a0383161790555b5b50565b60045b60085460ff16600581111561225357fe5b1461225e5760006000fd5b600160a060020a033316600090815260026020526040902054819010156122855760006000fd5b600160a060020a03821660009081526002602052604090205481810110156122ad5760006000fd5b600160a060020a03338116600081815260026020908152604080832080548790039055938616808352918490208054860190558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35b5b5050565b60006000612326612c06565b60008060045b60085460ff16600581111561233d57fe5b148061235a575060055b60085460ff16600581111561235857fe5b145b15156123665760006000fd5b6016544210156123765760006000fd5b5b60008611801561238957506000601754115b15612458576017805460001901908190556000908152601b6020908152604080832054600160a060020a0316808452601a835281842082518084018452905460ff80821615158352610100909104161515818501528185526002909352922054815192965090945092501561240557601880548301905561240e565b60198054830190555b600160a060020a0384166000908152601a60209081526040808320805461ffff191690556017548352601b90915290208054600160a060020a031916905560001990950194612376565b6000601754111561246c576000945061254b565b6019546018541194506015549050601560009055601660009055601760009055841561251357601354600160a060020a031615156124dd5760008054604051600160a060020a039091169183156108fc02918491818181858888f1935050505015156124d85760006000fd5b612513565b601354604051600160a060020a039182169130163180156108fc02916000818181858888f1935050505015156125135760006000fd5b5b5b60408051861515815290517fa645a33a6706739d95d9785acab71f06d2b89c02d601ef8c380e6fe4ee5223b99181900360200190a15b5b50505050919050565b600160a060020a033316600090815260026020526040902054151561257a5760006000fd5b60045b60085460ff16600581111561258e57fe5b14806125ab575060055b60085460ff1660058111156125a957fe5b145b15156125b75760006000fd5b6000821180156125df5750600160a060020a0330166000908152600260205260409020548211155b15156125eb5760006000fd5b600160a060020a0333166000908152600260205260409020546103e8028211156126155760006000fd5b600160a060020a0333166000908152601c6020526040902054156126395760006000fd5b600160a060020a0333166000908152601c60209081526040909120838155825161266b92600190920191840190612c8e565b50600160a060020a0333166000818152601c602090815260409182902062093a804201600290910155815185815280820183815285519382019390935284517ff0bbe877a87290e236ea898bbce0d78d6ac7d54d62e32744b129798a2669e39b93879387939260608401918501908083838215612703575b80518252602083111561270357601f1990920191602091820191016126e3565b505050905090810190601f16801561272f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5b5050565b60005433600160a060020a039081169116146127605760006000fd5b60005b60085460ff16600581111561277457fe5b1480612791575060025b60085460ff16600581111561278f57fe5b145b151561279d5760006000fd5b4260095560048054600160a060020a031916600160a060020a03841617905560038190556000600d81905560078190555b60085460ff1660058111156127df57fe5b141561281357621275004201600a55600880546001919060ff191682805b0217905550620493e06005819055600655612840565b62278d004201600a55600880546003919060ff19166001835b0217905550624f58806005556236ee806006555b6008546040517fc9393c620dc0ed7b95591e2354866fb78b5ebff006e01bdd4cbcfb9f6024b4839160ff16908082600581111561287957fe5b60ff16815260200191505060405180910390a15b5b5050565b600160a060020a033316600090815260026020526040812054819015156128b95760006000fd5b60045b60085460ff1660058111156128cd57fe5b14806128ea575060055b60085460ff1660058111156128e857fe5b145b15156128f65760006000fd5b50600160a060020a0383166000908152601c6020526040812080549091901161291f5760006000fd5b600160a060020a033316600090815260068201602052604090205460ff610100909104161515600114156129535760006000fd5b60028101544290116129655760006000fd5b6003810180546001808201909255600081815260078401602090815260408083208054600160a060020a03338116600160a060020a03199092168217909255825180840184528a151580825281860198895282875260068a0186529584902090518154985115156101000261ff001991151560ff19909a16999099171697909717909655815193845290519396508816927ff01e0648b75d055c003bb115baaa99af91e34a86a5405eb8b96e451bcb1c79f09281900390910190a35b5b5b5092915050565b60085460ff1681565b60045b60085460ff166005811115612a4757fe5b14612a525760006000fd5b600160a060020a0333166000908152601d60205260409020600101541515612a7a5760006000fd5b33600160a060020a03166000908152601d602052604090205461ffff838116911614612aa65760006000fd5b600054602054612abf91600160a060020a03169061223f565b612acb30601f5461223f565b6040805160808101825261ffff8085168252600160a060020a033381166000818152601d602081815287832060018082018054848b01908152428b8d0190815260608c018981528e8952601e87529c88209b518c549b1661ffff199b8c16178c559051928b0192909255905160028a015598516003909801805498909616600160a060020a0319909816979097179094559181529152825490911690915590555b5b5050565b601a6020526000908152604090205460ff8082169161010090041682565b600060045b60085460ff166005811115612ba557fe5b14612bb05760006000fd5b50600160a060020a038083166000908152601260209081526040808320938516835292905220545b5b92915050565b60095481565b60195481565b601b60205260009081526040902054600160a060020a031681565b604080518082019091526000808252602082015290565b50805460018160011615610100020316600290046000825580601f10612c435750611101565b601f0160209004906000526020600020908101906111019190612d0d565b5b50565b604080518082019091526000808252602082015290565b60408051602081019091526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612ccf57805160ff1916838001178555612cfc565b82800160010185558215612cfc579182015b82811115612cfc578251825591602001919060010190612ce1565b5b50612d09929150612d0d565b5090565b611f1991905b80821115612d095760008155600101612d13565b5090565b905600a165627a7a723058206ef4e8e523104f4c27fbd1761689f727c734cb9bfd4072eabd2736571a82a3a10029
Swarm Source
bzzr://6ef4e8e523104f4c27fbd1761689f727c734cb9bfd4072eabd2736571a82a3a1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.