More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 50 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 11530504 | 1443 days ago | IN | 0 ETH | 0.00433637 | ||||
Transfer | 5829671 | 2362 days ago | IN | 0 ETH | 0.00177979 | ||||
Transfer | 4402824 | 2605 days ago | IN | 0.005 ETH | 0.000882 | ||||
Transfer | 4402812 | 2605 days ago | IN | 0.005 ETH | 0.000021 | ||||
Get All The Fund... | 4094718 | 2688 days ago | IN | 0 ETH | 0.0030483 | ||||
Transfer | 3716997 | 2763 days ago | IN | 0 ETH | 0.00781016 | ||||
Transfer | 3632491 | 2778 days ago | IN | 0 ETH | 0.00049076 | ||||
Transfer | 3632450 | 2778 days ago | IN | 0 ETH | 0.0004403 | ||||
Redeem Proposal ... | 3534240 | 2795 days ago | IN | 0 ETH | 0.00083924 | ||||
Submit Ether Pro... | 3474940 | 2805 days ago | IN | 0 ETH | 0.0078662 | ||||
Redeem Proposal ... | 3474883 | 2805 days ago | IN | 0 ETH | 0.00083796 | ||||
Submit Ether Pro... | 3375120 | 2822 days ago | IN | 0 ETH | 0.0053571 | ||||
Redeem Proposal ... | 3351647 | 2826 days ago | IN | 0 ETH | 0.00083924 | ||||
Redeem Proposal ... | 3310501 | 2833 days ago | IN | 0 ETH | 0.00172044 | ||||
Redeem Proposal ... | 3310495 | 2833 days ago | IN | 0 ETH | 0.00119273 | ||||
Redeem Proposal ... | 3310491 | 2833 days ago | IN | 0 ETH | 0.00119273 | ||||
Redeem Proposal ... | 3310484 | 2833 days ago | IN | 0 ETH | 0.00119273 | ||||
Redeem Proposal ... | 3310479 | 2833 days ago | IN | 0 ETH | 0.00119273 | ||||
Redeem Proposal ... | 3310473 | 2833 days ago | IN | 0 ETH | 0.00119273 | ||||
Redeem Proposal ... | 3309250 | 2833 days ago | IN | 0 ETH | 0.00130248 | ||||
Redeem Proposal ... | 3309240 | 2833 days ago | IN | 0 ETH | 0.08031886 | ||||
Submit Ether Pro... | 3286929 | 2836 days ago | IN | 0 ETH | 0.01098205 | ||||
Submit Ether Pro... | 3202163 | 2851 days ago | IN | 0 ETH | 0.01221205 | ||||
Burn Remain Toke... | 2975513 | 2888 days ago | IN | 0 ETH | 0.00037538 | ||||
Disable Token Is... | 2945748 | 2893 days ago | IN | 0 ETH | 0.00028118 |
Loading...
Loading
Contract Name:
DSTContract
Compiler Version
v0.4.6+commit.2dabbdf0
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2016-12-22 */ pragma solidity ^0.4.0; /* * Token - is a smart contract interface * for managing common functionality of * a token. * * ERC.20 Token standard: https://github.com/eth ereum/EIPs/issues/20 */ contract TokenInterface { // total amount of tokens uint totalSupply; /** * * balanceOf() - constant function check concrete tokens balance * * @param owner - account owner * * @return the value of balance */ function balanceOf(address owner) constant returns (uint256 balance); function transfer(address to, uint256 value) returns (bool success); function transferFrom(address from, address to, uint256 value) returns (bool success); /** * * approve() - function approves to a person to spend some tokens from * owner balance. * * @param spender - person whom this right been granted. * @param value - value to spend. * * @return true in case of succes, otherwise failure * */ function approve(address spender, uint256 value) returns (bool success); /** * * allowance() - constant function to check how much is * permitted to spend to 3rd person from owner balance * * @param owner - owner of the balance * @param spender - permitted to spend from this balance person * * @return - remaining right to spend * */ function allowance(address owner, address spender) constant returns (uint256 remaining); // events notifications event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /* * StandardToken - is a smart contract * for managing common functionality of * a token. * * ERC.20 Token standard: * https://github.com/eth ereum/EIPs/issues/20 */ contract StandardToken is TokenInterface { // token ownership mapping (address => uint256) balances; // spending permision management mapping (address => mapping (address => uint256)) allowed; function StandardToken(){ } /** * transfer() - transfer tokens from msg.sender balance * to requested account * * @param to - target address to transfer tokens * @param value - ammount of tokens to transfer * * @return - success / failure of the transaction */ function transfer(address to, uint256 value) returns (bool success) { if (balances[msg.sender] >= value && value > 0) { // do actual tokens transfer balances[msg.sender] -= value; balances[to] += value; // rise the Transfer event Transfer(msg.sender, to, value); return true; } else { return false; } } /** * transferFrom() - * * @param from - * @param to - * @param value - * * @return */ function transferFrom(address from, address to, uint256 value) returns (bool success) { if ( balances[from] >= value && allowed[from][msg.sender] >= value && value > 0) { // do the actual transfer balances[from] -= value; balances[to] =+ value; // addjust the permision, after part of // permited to spend value was used allowed[from][msg.sender] -= value; // rise the Transfer event Transfer(from, to, value); return true; } else { return false; } } /** * * balanceOf() - constant function check concrete tokens balance * * @param owner - account owner * * @return the value of balance */ function balanceOf(address owner) constant returns (uint256 balance) { return balances[owner]; } /** * * approve() - function approves to a person to spend some tokens from * owner balance. * * @param spender - person whom this right been granted. * @param value - value to spend. * * @return true in case of succes, otherwise failure * */ function approve(address spender, uint256 value) returns (bool success) { // now spender can use balance in // ammount of value from owner balance allowed[msg.sender][spender] = value; // rise event about the transaction Approval(msg.sender, spender, value); return true; } /** * * allowance() - constant function to check how mouch is * permited to spend to 3rd person from owner balance * * @param owner - owner of the balance * @param spender - permited to spend from this balance person * * @return - remaining right to spend * */ function allowance(address owner, address spender) constant returns (uint256 remaining) { return allowed[owner][spender]; } } /** * * @title Hacker Gold * * The official token powering the hack.ether.camp virtual accelerator. * This is the only way to acquire tokens from startups during the event. * * Whitepaper https://hack.ether.camp/whitepaper * */ contract HackerGold is StandardToken { // Name of the token string public name = "HackerGold"; // Decimal places uint8 public decimals = 3; // Token abbreviation string public symbol = "HKG"; // 1 ether = 200 hkg uint BASE_PRICE = 200; // 1 ether = 150 hkg uint MID_PRICE = 150; // 1 ether = 100 hkg uint FIN_PRICE = 100; // Safety cap uint SAFETY_LIMIT = 4000000 ether; // Zeros after the point uint DECIMAL_ZEROS = 1000; // Total value in wei uint totalValue; // Address of multisig wallet holding ether from sale address wallet; // Structure of sale increase milestones struct milestones_struct { uint p1; uint p2; uint p3; uint p4; uint p5; uint p6; } // Milestones instance milestones_struct milestones; /** * Constructor of the contract. * * Passes address of the account holding the value. * HackerGold contract itself does not hold any value * * @param multisig address of MultiSig wallet which will hold the value */ function HackerGold(address multisig) { wallet = multisig; // set time periods for sale milestones = milestones_struct( 1476972000, // P1: GMT: 20-Oct-2016 14:00 => The Sale Starts 1478181600, // P2: GMT: 03-Nov-2016 14:00 => 1st Price Ladder 1479391200, // P3: GMT: 17-Nov-2016 14:00 => Price Stable, // Hackathon Starts 1480600800, // P4: GMT: 01-Dec-2016 14:00 => 2nd Price Ladder 1481810400, // P5: GMT: 15-Dec-2016 14:00 => Price Stable 1482415200 // P6: GMT: 22-Dec-2016 14:00 => Sale Ends, Hackathon Ends ); } /** * Fallback function: called on ether sent. * * It calls to createHKG function with msg.sender * as a value for holder argument */ function () payable { createHKG(msg.sender); } /** * Creates HKG tokens. * * Runs sanity checks including safety cap * Then calculates current price by getPrice() function, creates HKG tokens * Finally sends a value of transaction to the wallet * * Note: due to lack of floating point types in Solidity, * contract assumes that last 3 digits in tokens amount are stood after the point. * It means that if stored HKG balance is 100000, then its real value is 100 HKG * * @param holder token holder */ function createHKG(address holder) payable { if (now < milestones.p1) throw; if (now >= milestones.p6) throw; if (msg.value == 0) throw; // safety cap if (getTotalValue() + msg.value > SAFETY_LIMIT) throw; uint tokens = msg.value * getPrice() * DECIMAL_ZEROS / 1 ether; totalSupply += tokens; balances[holder] += tokens; totalValue += msg.value; if (!wallet.send(msg.value)) throw; } /** * Denotes complete price structure during the sale. * * @return HKG amount per 1 ETH for the current moment in time */ function getPrice() constant returns (uint result) { if (now < milestones.p1) return 0; if (now >= milestones.p1 && now < milestones.p2) { return BASE_PRICE; } if (now >= milestones.p2 && now < milestones.p3) { uint days_in = 1 + (now - milestones.p2) / 1 days; return BASE_PRICE - days_in * 25 / 7; // daily decrease 3.5 } if (now >= milestones.p3 && now < milestones.p4) { return MID_PRICE; } if (now >= milestones.p4 && now < milestones.p5) { days_in = 1 + (now - milestones.p4) / 1 days; return MID_PRICE - days_in * 25 / 7; // daily decrease 3.5 } if (now >= milestones.p5 && now < milestones.p6) { return FIN_PRICE; } if (now >= milestones.p6){ return 0; } } /** * Returns total stored HKG amount. * * Contract assumes that last 3 digits of this value are behind the decimal place. i.e. 10001 is 10.001 * Thus, result of this function should be divided by 1000 to get HKG value * * @return result stored HKG amount */ function getTotalSupply() constant returns (uint result) { return totalSupply; } /** * It is used for test purposes. * * Returns the result of 'now' statement of Solidity language * * @return unix timestamp for current moment in time */ function getNow() constant returns (uint result) { return now; } /** * Returns total value passed through the contract * * @return result total value in wei */ function getTotalValue() constant returns (uint result) { return totalValue; } } contract DSTContract is StandardToken{ // Zeros after the point uint DECIMAL_ZEROS = 1000; // Proposal lifetime uint PROPOSAL_LIFETIME = 10 days; // Proposal funds threshold, in percents uint PROPOSAL_FUNDS_TH = 20; address executive; EventInfo eventInfo; // Indicated where the DST is traded address virtualExchangeAddress; HackerGold hackerGold; mapping (address => uint256) votingRights; // 1 - HKG => DST qty; tokens for 1 HKG uint hkgPrice; // 1 - Ether => DST qty; tokens for 1 Ether uint etherPrice; string public name = "..."; uint8 public decimals = 3; string public symbol = "..."; bool ableToIssueTokens = true; uint preferedQtySold; uint collectedHKG; uint collectedEther; // Proposal of the funds spending mapping (bytes32 => Proposal) proposals; enum ProposalCurrency { HKG, ETHER } ProposalCurrency enumDeclaration; struct Proposal{ bytes32 id; uint value; string urlDetails; uint votindEndTS; uint votesObjecting; address submitter; bool redeemed; ProposalCurrency proposalCurrency; mapping (address => bool) voted; } uint counterProposals; uint timeOfLastProposal; Proposal[] listProposals; /** * Impeachment process proposals */ struct ImpeachmentProposal{ string urlDetails; address newExecutive; uint votindEndTS; uint votesSupporting; mapping (address => bool) voted; } ImpeachmentProposal lastImpeachmentProposal; /** * * DSTContract: ctor for DST token and governence contract * * @param eventInfoAddr EventInfo: address of object denotes events * milestones * @param hackerGoldAddr HackerGold: address of HackerGold token * * @param dstName string: dstName: real name of the team * * @param dstSymbol string: 3 letter symbold of the team * */ function DSTContract(EventInfo eventInfoAddr, HackerGold hackerGoldAddr, string dstName, string dstSymbol){ executive = msg.sender; name = dstName; symbol = dstSymbol; hackerGold = HackerGold(hackerGoldAddr); eventInfo = EventInfo(eventInfoAddr); } function() payable onlyAfterEnd { // there is tokens left from hackathon if (etherPrice == 0) throw; uint tokens = msg.value * etherPrice * DECIMAL_ZEROS / (1 ether); // check if demand of tokens is // overflow the supply uint retEther = 0; if (balances[this] < tokens) { tokens = balances[this]; retEther = msg.value - tokens / etherPrice * (1 finney); // return left ether if (!msg.sender.send(retEther)) throw; } // do transfer balances[msg.sender] += tokens; balances[this] -= tokens; // count collected ether collectedEther += msg.value - retEther; // rise event BuyForEtherTransaction(msg.sender, collectedEther, totalSupply, etherPrice, tokens); } /** * setHKGPrice - set price: 1HKG => DST tokens qty * * @param qtyForOneHKG uint: DST tokens for 1 HKG * */ function setHKGPrice(uint qtyForOneHKG) onlyExecutive { hkgPrice = qtyForOneHKG; PriceHKGChange(qtyForOneHKG, preferedQtySold, totalSupply); } /** * * issuePreferedTokens - prefered tokens issued on the hackathon event * grant special rights * * @param qtyForOneHKG uint: price DST tokens for one 1 HKG * @param qtyToEmit uint: new supply of tokens * */ function issuePreferedTokens(uint qtyForOneHKG, uint qtyToEmit) onlyExecutive onlyIfAbleToIssueTokens onlyBeforeEnd onlyAfterTradingStart { // no issuence is allowed before enlisted on the // exchange if (virtualExchangeAddress == 0x0) throw; totalSupply += qtyToEmit; balances[this] += qtyToEmit; hkgPrice = qtyForOneHKG; // now spender can use balance in // amount of value from owner balance allowed[this][virtualExchangeAddress] += qtyToEmit; // rise event about the transaction Approval(this, virtualExchangeAddress, qtyToEmit); // rise event DstTokensIssued(hkgPrice, preferedQtySold, totalSupply, qtyToEmit); } /** * * buyForHackerGold - on the hack event this function is available * the buyer for hacker gold will gain votes to * influence future proposals on the DST * * @param hkgValue - qty of this DST tokens for 1 HKG * */ function buyForHackerGold(uint hkgValue) onlyBeforeEnd returns (bool success) { // validate that the caller is official accelerator HKG Exchange if (msg.sender != virtualExchangeAddress) throw; // transfer token address sender = tx.origin; uint tokensQty = hkgValue * hkgPrice; // gain voting rights votingRights[sender] +=tokensQty; preferedQtySold += tokensQty; collectedHKG += hkgValue; // do actual transfer transferFrom(this, virtualExchangeAddress, tokensQty); transfer(sender, tokensQty); // rise event BuyForHKGTransaction(sender, preferedQtySold, totalSupply, hkgPrice, tokensQty); return true; } /** * * issueTokens - function will issue tokens after the * event, able to sell for 1 ether * * @param qtyForOneEther uint: DST tokens for 1 ETH * @param qtyToEmit uint: new tokens supply * */ function issueTokens(uint qtyForOneEther, uint qtyToEmit) onlyAfterEnd onlyExecutive onlyIfAbleToIssueTokens { balances[this] += qtyToEmit; etherPrice = qtyForOneEther; totalSupply += qtyToEmit; // rise event DstTokensIssued(qtyForOneEther, totalSupply, totalSupply, qtyToEmit); } /** * setEtherPrice - change the token price * * @param qtyForOneEther uint: new price - DST tokens for 1 ETH */ function setEtherPrice(uint qtyForOneEther) onlyAfterEnd onlyExecutive { etherPrice = qtyForOneEther; // rise event for this NewEtherPrice(qtyForOneEther); } /** * disableTokenIssuance - function will disable any * option for future token * issuence */ function disableTokenIssuance() onlyExecutive { ableToIssueTokens = false; DisableTokenIssuance(); } /** * burnRemainToken - eliminated all available for sale * tokens. */ function burnRemainToken() onlyExecutive { totalSupply -= balances[this]; balances[this] = 0; // rise event for this BurnedAllRemainedTokens(); } /** * submitEtherProposal: submit proposal to use part of the * collected ether funds * * @param requestValue uint: value in wei * @param url string: details of the proposal */ function submitEtherProposal(uint requestValue, string url) onlyAfterEnd onlyExecutive returns (bytes32 resultId, bool resultSucces) { // ensure there is no more issuence available if (ableToIssueTokens) throw; // ensure there is no more tokens available if (balanceOf(this) > 0) throw; // Possible to submit a proposal once 2 weeks if (now < (timeOfLastProposal + 2 weeks)) throw; uint percent = collectedEther / 100; if (requestValue > PROPOSAL_FUNDS_TH * percent) throw; // if remained value is less than requested gain all. if (requestValue > this.balance) requestValue = this.balance; // set id of the proposal // submit proposal to the map bytes32 id = sha3(msg.data, now); uint timeEnds = now + PROPOSAL_LIFETIME; Proposal memory newProposal = Proposal(id, requestValue, url, timeEnds, 0, msg.sender, false, ProposalCurrency.ETHER); proposals[id] = newProposal; listProposals.push(newProposal); timeOfLastProposal = now; ProposalRequestSubmitted(id, requestValue, timeEnds, url, msg.sender); return (id, true); } /** * * submitHKGProposal - submit proposal to request for * partial HKG funds collected * * @param requestValue uint: value in HKG to request. * @param url string: url with details on the proposition */ function submitHKGProposal(uint requestValue, string url) onlyAfterEnd onlyExecutive returns (bytes32 resultId, bool resultSucces){ // If there is no 2 months over since the last event. // There is no posible to get any HKG. After 2 months // all the HKG is available. if (now < (eventInfo.getEventEnd() + 8 weeks)) { throw; } // Possible to submit a proposal once 2 weeks if (now < (timeOfLastProposal + 2 weeks)) throw; uint percent = preferedQtySold / 100; // validate the amount is legit // first 5 proposals should be less than 20% if (counterProposals <= 5 && requestValue > PROPOSAL_FUNDS_TH * percent) throw; // if remained value is less than requested // gain all. if (requestValue > getHKGOwned()) requestValue = getHKGOwned(); // set id of the proposal // submit proposal to the map bytes32 id = sha3(msg.data, now); uint timeEnds = now + PROPOSAL_LIFETIME; Proposal memory newProposal = Proposal(id, requestValue, url, timeEnds, 0, msg.sender, false, ProposalCurrency.HKG); proposals[id] = newProposal; listProposals.push(newProposal); ++counterProposals; timeOfLastProposal = now; ProposalRequestSubmitted(id, requestValue, timeEnds, url, msg.sender); return (id, true); } /** * objectProposal - object previously submitted proposal, * the objection right is obtained by * purchasing prefered tokens on time of * the hackathon. * * @param id bytes32 : the id of the proposla to redeem */ function objectProposal(bytes32 id){ Proposal memory proposal = proposals[id]; // check proposal exist if (proposals[id].id == 0) throw; // check already redeemed if (proposals[id].redeemed) throw; // ensure objection time if (now >= proposals[id].votindEndTS) throw; // ensure not voted if (proposals[id].voted[msg.sender]) throw; // submit votes uint votes = votingRights[msg.sender]; proposals[id].votesObjecting += votes; // mark voted proposals[id].voted[msg.sender] = true; uint idx = getIndexByProposalId(id); listProposals[idx] = proposals[id]; ObjectedVote(id, msg.sender, votes); } function getIndexByProposalId(bytes32 id) returns (uint result){ for (uint i = 0; i < listProposals.length; ++i){ if (id == listProposals[i].id) return i; } } /** * redeemProposalFunds - redeem funds requested by prior * submitted proposal * * @param id bytes32: the id of the proposal to redeem */ function redeemProposalFunds(bytes32 id) onlyExecutive { if (proposals[id].id == 0) throw; if (proposals[id].submitter != msg.sender) throw; // ensure objection time if (now < proposals[id].votindEndTS) throw; // check already redeemed if (proposals[id].redeemed) throw; // check votes objection => 55% of total votes uint objectionThreshold = preferedQtySold / 100 * 55; if (proposals[id].votesObjecting > objectionThreshold) throw; if (proposals[id].proposalCurrency == ProposalCurrency.HKG){ // send hacker gold hackerGold.transfer(proposals[id].submitter, proposals[id].value); } else { // send ether bool success = proposals[id].submitter.send(proposals[id].value); // rise event EtherRedeemAccepted(proposals[id].submitter, proposals[id].value); } // execute the proposal proposals[id].redeemed = true; } /** * getAllTheFunds - to ensure there is no deadlock can * can happen, and no case that voting * structure will freeze the funds forever * the startup will be able to get all the * funds without a proposal required after * 6 months. * * */ function getAllTheFunds() onlyExecutive { // If there is a deadlock in voting participates // the funds can be redeemed completelly in 6 months if (now < (eventInfo.getEventEnd() + 24 weeks)) { throw; } // all the Ether bool success = msg.sender.send(this.balance); // all the HKG hackerGold.transfer(msg.sender, getHKGOwned()); } /** * submitImpeachmentProposal - submit request to switch * executive. * * @param urlDetails - details of the impeachment proposal * @param newExecutive - address of the new executive * */ function submitImpeachmentProposal(string urlDetails, address newExecutive){ // to offer impeachment you should have // voting rights if (votingRights[msg.sender] == 0) throw; // the submission of the first impeachment // proposal is possible only after 3 months // since the hackathon is over if (now < (eventInfo.getEventEnd() + 12 weeks)) throw; // check there is 1 months over since last one if (lastImpeachmentProposal.votindEndTS != 0 && lastImpeachmentProposal.votindEndTS + 2 weeks > now) throw; // submit impeachment proposal // add the votes of the submitter // to the proposal right away lastImpeachmentProposal = ImpeachmentProposal(urlDetails, newExecutive, now + 2 weeks, votingRights[msg.sender]); lastImpeachmentProposal.voted[msg.sender] = true; // rise event ImpeachmentProposed(msg.sender, urlDetails, now + 2 weeks, newExecutive); } /** * supportImpeachment - vote for impeachment proposal * that is currently in progress * */ function supportImpeachment(){ // ensure that support is for exist proposal if (lastImpeachmentProposal.newExecutive == 0x0) throw; // to offer impeachment you should have // voting rights if (votingRights[msg.sender] == 0) throw; // check if not voted already if (lastImpeachmentProposal.voted[msg.sender]) throw; // check if not finished the 2 weeks of voting if (lastImpeachmentProposal.votindEndTS + 2 weeks <= now) throw; // support the impeachment lastImpeachmentProposal.voted[msg.sender] = true; lastImpeachmentProposal.votesSupporting += votingRights[msg.sender]; // rise impeachment suppporting event ImpeachmentSupport(msg.sender, votingRights[msg.sender]); // if the vote is over 70% execute the switch uint percent = preferedQtySold / 100; if (lastImpeachmentProposal.votesSupporting >= 70 * percent){ executive = lastImpeachmentProposal.newExecutive; // impeachment event ImpeachmentAccepted(executive); } } // **************************** // // * Constant Getters * // // **************************** // function votingRightsOf(address _owner) constant returns (uint256 result) { result = votingRights[_owner]; } function getPreferedQtySold() constant returns (uint result){ return preferedQtySold; } function setVirtualExchange(address virtualExchangeAddr){ if (virtualExchangeAddress != 0x0) throw; virtualExchangeAddress = virtualExchangeAddr; } function getHKGOwned() constant returns (uint result){ return hackerGold.balanceOf(this); } function getEtherValue() constant returns (uint result){ return this.balance; } function getExecutive() constant returns (address result){ return executive; } function getHKGPrice() constant returns (uint result){ return hkgPrice; } function getEtherPrice() constant returns (uint result){ return etherPrice; } function getDSTName() constant returns(string result){ return name; } function getDSTNameBytes() constant returns(bytes32 result){ return convert(name); } function getDSTSymbol() constant returns(string result){ return symbol; } function getDSTSymbolBytes() constant returns(bytes32 result){ return convert(symbol); } function getAddress() constant returns (address result) { return this; } function getTotalSupply() constant returns (uint result) { return totalSupply; } function getCollectedEther() constant returns (uint results) { return collectedEther; } function getCounterProposals() constant returns (uint result){ return counterProposals; } function getProposalIdByIndex(uint i) constant returns (bytes32 result){ return listProposals[i].id; } function getProposalObjectionByIndex(uint i) constant returns (uint result){ return listProposals[i].votesObjecting; } function getProposalValueByIndex(uint i) constant returns (uint result){ return listProposals[i].value; } function getCurrentImpeachmentUrlDetails() constant returns (string result){ return lastImpeachmentProposal.urlDetails; } function getCurrentImpeachmentVotesSupporting() constant returns (uint result){ return lastImpeachmentProposal.votesSupporting; } function convert(string key) returns (bytes32 ret) { if (bytes(key).length > 32) { throw; } assembly { ret := mload(add(key, 32)) } } // ********************* // // * Modifiers * // // ********************* // modifier onlyBeforeEnd() { if (now >= eventInfo.getEventEnd()) throw; _; } modifier onlyAfterEnd() { if (now < eventInfo.getEventEnd()) throw; _; } modifier onlyAfterTradingStart() { if (now < eventInfo.getTradingStart()) throw; _; } modifier onlyExecutive() { if (msg.sender != executive) throw; _; } modifier onlyIfAbleToIssueTokens() { if (!ableToIssueTokens) throw; _; } // ****************** // // * Events * // // ****************** // event PriceHKGChange(uint indexed qtyForOneHKG, uint indexed tokensSold, uint indexed totalSupply); event BuyForHKGTransaction(address indexed buyer, uint indexed tokensSold, uint indexed totalSupply, uint qtyForOneHKG, uint tokensAmount); event BuyForEtherTransaction(address indexed buyer, uint indexed tokensSold, uint indexed totalSupply, uint qtyForOneEther, uint tokensAmount); event DstTokensIssued(uint indexed qtyForOneHKG, uint indexed tokensSold, uint indexed totalSupply, uint qtyToEmit); event ProposalRequestSubmitted(bytes32 id, uint value, uint timeEnds, string url, address sender); event EtherRedeemAccepted(address sender, uint value); event ObjectedVote(bytes32 id, address voter, uint votes); event ImpeachmentProposed(address submitter, string urlDetails, uint votindEndTS, address newExecutive); event ImpeachmentSupport(address supportter, uint votes); event ImpeachmentAccepted(address newExecutive); event NewEtherPrice(uint newQtyForOneEther); event DisableTokenIssuance(); event BurnedAllRemainedTokens(); } contract EventInfo{ uint constant HACKATHON_5_WEEKS = 60 * 60 * 24 * 7 * 5; uint constant T_1_WEEK = 60 * 60 * 24 * 7; uint eventStart = 1479391200; // Thu, 17 Nov 2016 14:00:00 GMT uint eventEnd = eventStart + HACKATHON_5_WEEKS; /** * getEventStart - return the start of the event time */ function getEventStart() constant returns (uint result){ return eventStart; } /** * getEventEnd - return the end of the event time */ function getEventEnd() constant returns (uint result){ return eventEnd; } /** * getVotingStart - the voting starts 1 week after the * event starts */ function getVotingStart() constant returns (uint result){ return eventStart+ T_1_WEEK; } /** * getTradingStart - the DST tokens trading starts 1 week * after the event starts */ function getTradingStart() constant returns (uint result){ return eventStart+ T_1_WEEK; } /** * getNow - helper class to check what time the contract see */ function getNow() constant returns (uint result){ return now; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"supportImpeachment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDSTName","outputs":[{"name":"result","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDSTSymbolBytes","outputs":[{"name":"result","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getEtherValue","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"qtyForOneEther","type":"uint256"}],"name":"setEtherPrice","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getHKGPrice","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"i","type":"uint256"}],"name":"getProposalObjectionByIndex","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"i","type":"uint256"}],"name":"getProposalValueByIndex","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getAddress","outputs":[{"name":"result","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCollectedEther","outputs":[{"name":"results","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCurrentImpeachmentVotesSupporting","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDSTNameBytes","outputs":[{"name":"result","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"}],"name":"redeemProposalFunds","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"disableTokenIssuance","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"hkgValue","type":"uint256"}],"name":"buyForHackerGold","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDSTSymbol","outputs":[{"name":"result","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"qtyForOneEther","type":"uint256"},{"name":"qtyToEmit","type":"uint256"}],"name":"issueTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"requestValue","type":"uint256"},{"name":"url","type":"string"}],"name":"submitHKGProposal","outputs":[{"name":"resultId","type":"bytes32"},{"name":"resultSucces","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getAllTheFunds","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCounterProposals","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"requestValue","type":"uint256"},{"name":"url","type":"string"}],"name":"submitEtherProposal","outputs":[{"name":"resultId","type":"bytes32"},{"name":"resultSucces","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getExecutive","outputs":[{"name":"result","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"virtualExchangeAddr","type":"address"}],"name":"setVirtualExchange","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"qtyForOneHKG","type":"uint256"},{"name":"qtyToEmit","type":"uint256"}],"name":"issuePreferedTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"}],"name":"objectProposal","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"id","type":"bytes32"}],"name":"getIndexByProposalId","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"burnRemainToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCurrentImpeachmentUrlDetails","outputs":[{"name":"result","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getPreferedQtySold","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"key","type":"string"}],"name":"convert","outputs":[{"name":"ret","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"i","type":"uint256"}],"name":"getProposalIdByIndex","outputs":[{"name":"result","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"urlDetails","type":"string"},{"name":"newExecutive","type":"address"}],"name":"submitImpeachmentProposal","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"qtyForOneHKG","type":"uint256"}],"name":"setHKGPrice","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getHKGOwned","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTotalSupply","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getEtherPrice","outputs":[{"name":"result","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"votingRightsOf","outputs":[{"name":"result","type":"uint256"}],"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"},{"inputs":[{"name":"eventInfoAddr","type":"address"},{"name":"hackerGoldAddr","type":"address"},{"name":"dstName","type":"string"},{"name":"dstSymbol","type":"string"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"qtyForOneHKG","type":"uint256"},{"indexed":true,"name":"tokensSold","type":"uint256"},{"indexed":true,"name":"totalSupply","type":"uint256"}],"name":"PriceHKGChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"tokensSold","type":"uint256"},{"indexed":true,"name":"totalSupply","type":"uint256"},{"indexed":false,"name":"qtyForOneHKG","type":"uint256"},{"indexed":false,"name":"tokensAmount","type":"uint256"}],"name":"BuyForHKGTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"tokensSold","type":"uint256"},{"indexed":true,"name":"totalSupply","type":"uint256"},{"indexed":false,"name":"qtyForOneEther","type":"uint256"},{"indexed":false,"name":"tokensAmount","type":"uint256"}],"name":"BuyForEtherTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"qtyForOneHKG","type":"uint256"},{"indexed":true,"name":"tokensSold","type":"uint256"},{"indexed":true,"name":"totalSupply","type":"uint256"},{"indexed":false,"name":"qtyToEmit","type":"uint256"}],"name":"DstTokensIssued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"bytes32"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"timeEnds","type":"uint256"},{"indexed":false,"name":"url","type":"string"},{"indexed":false,"name":"sender","type":"address"}],"name":"ProposalRequestSubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"EtherRedeemAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"bytes32"},{"indexed":false,"name":"voter","type":"address"},{"indexed":false,"name":"votes","type":"uint256"}],"name":"ObjectedVote","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"submitter","type":"address"},{"indexed":false,"name":"urlDetails","type":"string"},{"indexed":false,"name":"votindEndTS","type":"uint256"},{"indexed":false,"name":"newExecutive","type":"address"}],"name":"ImpeachmentProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"supportter","type":"address"},{"indexed":false,"name":"votes","type":"uint256"}],"name":"ImpeachmentSupport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newExecutive","type":"address"}],"name":"ImpeachmentAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newQtyForOneEther","type":"uint256"}],"name":"NewEtherPrice","type":"event"},{"anonymous":false,"inputs":[],"name":"DisableTokenIssuance","type":"event"},{"anonymous":false,"inputs":[],"name":"BurnedAllRemainedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6103e86003908155620d2f00600455601460055560a060405260608190527f2e2e2e00000000000000000000000000000000000000000000000000000000006080908152600d805460008290527f2e2e2e00000000000000000000000000000000000000000000000000000000068255909260008051602062003767833981519152602060026001851615610100026000190190941693909304601f0192909204820192909190620000dc565b82800160010185558215620000dc579182015b82811115620000dc578251825591602001919060010190620000bf565b5b50620001009291505b80821115620000fc5760008155600101620000e6565b5090565b5050600e8054600360ff199182168117909255604080518082019091528281527f2e2e2e00000000000000000000000000000000000000000000000000000000006020918201908152600f80546000829052825160069516949094178155937f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80260026101006001871615026000190190951694909404601f019290920483019290620001d7565b82800160010185558215620001d7579182015b82811115620001d7578251825591602001919060010190620001ba565b5b50620001fb9291505b80821115620000fc5760008155600101620000e6565b5090565b50506010805460ff19166001179055346200000057604051620037873803806200378783398101604090815281516020830151918301516060840151919390810191015b5b5b60068054600160a060020a0319166c01000000000000000000000000338102041790558151600d80546000829052909160008051602062003767833981519152602060026101006001861615026000190190941693909304601f908101849004820193870190839010620002c157805160ff1916838001178555620002f1565b82800160010185558215620002f1579182015b82811115620002f1578251825591602001919060010190620002d4565b5b50620003159291505b80821115620000fc5760008155600101620000e6565b5090565b505080600f9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200036557805160ff191683800117855562000395565b8280016001018555821562000395579182015b828111156200039557825182559160200191906001019062000378565b5b50620003b99291505b80821115620000fc5760008155600101620000e6565b5090565b5050600980546c01000000000000000000000000808602819004600160a060020a0319928316179092556007805487840293909304929091169190911790555b505050505b613359806200040e6000396000f300606060405236156102035760e060020a600035046306fdde0381146103ba578063095ea7b3146104355780630b0b6d5b1461045c5780631b1ccc471461046b57806320e87093146104e657806323b872dd1461050557806325b29d841461052f578063271879911461054e578063277ccde2146105605780632e1fbfcd1461057f578063308b2fdc146105a1578063313ce567146105c357806338cc4831146105e657806340eddc4e1461060f57806341f4793a1461062e578063467ed2611461064d578063471ad9631461066c5780634e860ebb1461067e5780634efbe9331461068d57806354786b4e146106b157806354e35ba21461072c57806358793ad4146107415780635abedab2146107ae5780635af2f821146107bd57806360483a3f146107dc57806360d12fa014610849578063698f2e84146108725780636a749986146108845780636d5f6639146108995780636e9c3683146108ab57806370a08231146108cd5780637a290fe5146108ef5780637e754146146108fe57806394c41bdb1461097957806395d89b4114610998578063962a64cd14610a13578063a0b6533214610a78578063a9059cbb14610a9a578063ab62438f14610ac1578063b63ca98114610b18578063b7c54c6f14610b2a578063c4e41b2214610b49578063ca7c4dba14610b68578063cb79e31b14610b87578063dd62ed3e14610ba9575b6103b85b60006000600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061027b57610000565b600c54151561028957610000565b600354600c54670de0b6b3a764000091349091020204915060009050816001600030600160a060020a0316815260200190815260200160002054101561033357600160a060020a033016600090815260016020526040902054600c54909250828115610000570466038d7ea4c68000023403905033600160a060020a03166108fc829081150290604051809050600060405180830381858888f19350505050151561033357610000565b5b600160a060020a03338116600081815260016020908152604080832080548801905530909416825283822080548790039055601380543487900301908190559154600c548551908152918201879052845190949293927f5a0391f2a67f11ed0034b68f8cf14e7e41d6f86e0a7622f2af5ea8f07b488396928290030190a45b5b5050565b005b34610000576103c7610bce565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610448600435602435610c5c565b604080519115158252519081900360200190f35b34610000576103b8610cc7565b005b34610000576103c7610e2b565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576104f3610ec9565b60408051918252519081900360200190f35b3461000057610448600435602435604435610f68565b604080519115158252519081900360200190f35b34610000576104f361105f565b60408051918252519081900360200190f35b34610000576103b860043561106e565b005b34610000576104f3611137565b60408051918252519081900360200190f35b34610000576104f360043561113e565b60408051918252519081900360200190f35b34610000576104f360043561116a565b60408051918252519081900360200190f35b34610000576105d0611196565b6040805160ff9092168252519081900360200190f35b34610000576105f361119f565b60408051600160a060020a039092168252519081900360200190f35b34610000576104f36111a4565b60408051918252519081900360200190f35b34610000576104f36111ab565b60408051918252519081900360200190f35b34610000576104f36111b2565b60408051918252519081900360200190f35b34610000576103b8600435611251565b005b34610000576103b86114b0565b005b3461000057610448600435611502565b604080519115158252519081900360200190f35b34610000576103c7611644565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576103b86004356024356116e2565b005b346100005760408051602060046024803582810135601f810185900485028601850190965285855261079595833595939460449493929092019181908401838280828437509496506117ea95505050505050565b6040805192835290151560208301528051918290030190f35b34610000576103b8611e87565b005b34610000576104f3611fba565b60408051918252519081900360200190f35b346100005760408051602060046024803582810135601f81018590048502860185019096528585526107959583359593946044949392909201918190840183828082843750949650611fc195505050505050565b6040805192835290151560208301528051918290030190f35b34610000576105f36125f6565b60408051600160a060020a039092168252519081900360200190f35b34610000576103b8600435612606565b005b34610000576103b860043560243561263a565b005b34610000576103b8600435612822565b005b34610000576104f3600435612c34565b60408051918252519081900360200190f35b34610000576104f3600435612c80565b60408051918252519081900360200190f35b34610000576103b8612c9f565b005b34610000576103c7612d06565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576104f3612da4565b60408051918252519081900360200190f35b34610000576103c7612dab565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576104f3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650612e3995505050505050565b60408051918252519081900360200190f35b34610000576104f3600435612e56565b60408051918252519081900360200190f35b3461000057610448600435602435612e7f565b604080519115158252519081900360200190f35b34610000576103b8600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496505093359350612f2f92505050565b005b34610000576103b860043561322b565b005b34610000576104f3613283565b60408051918252519081900360200190f35b34610000576104f36132ff565b60408051918252519081900360200190f35b34610000576104f3613306565b60408051918252519081900360200190f35b34610000576104f360043561330d565b60408051918252519081900360200190f35b34610000576104f360043560243561332c565b60408051918252519081900360200190f35b600d805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b601a54600090600160a060020a03161515610ce157610000565b600160a060020a0333166000908152600a60205260409020541515610d0557610000565b600160a060020a0333166000908152601d602052604090205460ff1615610d2b57610000565b601b54426212750090910111610d4057610000565b600160a060020a0333166000818152601d60209081526040808320805460ff19166001179055600a8252918290208054601c805490910190555482519384529083015280517f475c7605c08471fdc551a58d2c318b163628c5852f69323a1b91c34eb0bb09339281900390910190a150601154601c54606490910490604682029010610e2757601a5460068054600160a060020a031916606060020a600160a060020a0393841681020417908190556040805191909216815290517f6b8184e23a898262087be50aa3ea5de648451e63f94413e810586c25282d58c2916020908290030190a15b5b50565b604080516020808201835260008252600d8054845160026001831615610100026000190190921691909104601f810184900484028201840190955284815292939091830182828015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b505050505090505b90565b600f805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093610f629391929091830182828015610f585780601f10610f2d57610100808354040283529160200191610f58565b820191906000526020600020905b815481529060010190602001808311610f3b57829003601f168201915b5050505050612e39565b90505b90565b600160a060020a038316600090815260016020526040812054829010801590610fb85750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b8015610fc45750600082115b1561105357600160a060020a03808516600081815260016020908152604080832080548890039055878516808452818420889055848452600283528184203390961684529482529182902080548790039055815186815291517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600161105756611057565b5060005b5b9392505050565b600160a060020a033016315b90565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515142101590506110de57610000565b60065433600160a060020a039081169116146110f957610000565b600c8190556040805182815290517f0bbd501ef336990995d82b5e3fd82a15abe1ff10c982757a1698ac5d1c3e79579181900360200190a15b5b5b50565b600b545b90565b6000601882815481101561000057906000526020600020906007020160005b506004015490505b919050565b6000601882815481101561000057906000526020600020906007020160005b506001015490505b919050565b600e5460ff1681565b305b90565b6013545b90565b601c545b90565b600d805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093610f629391929091830182828015610f585780601f10610f2d57610100808354040283529160200191610f58565b820191906000526020600020905b815481529060010190602001808311610f3b57829003601f168201915b5050505050612e39565b90505b90565b600654600090819033600160a060020a0390811691161461127157610000565b600083815260146020526040902054151561128b57610000565b60008381526014602052604090206005015433600160a060020a039081169116146112b557610000565b6000838152601460205260409020600301544210156112d357610000565b60008381526014602052604090206005015460a060020a900460ff16156112f957610000565b601154600084815260146020526040902060040154606490910460370292508290111561132557610000565b60008381526014602052604081206005015460a860020a900460ff16600181116100005714156113e657600954600084815260146020908152604080832060058101546001909101548251840185905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b156100005760325a03f1156100005750611484915050565b60008381526014602052604080822060058101546001909101549151600160a060020a039091169282156108fc02929190818181858888f160008881526014602090815260409182902060058101546001909101548351600160a060020a0390921682529181019190915281519297507f2648a7e2f9c34700b91370233666e5118fa8be3e0c21fed4f7402b941df8efdd9650829003019350915050a15b6000838152601460205260409020600501805460a060020a60ff02191660a060020a1790555b5b505050565b60065433600160a060020a039081169116146114cb57610000565b6010805460ff191690556040517fb48c7f694f0a3b9b22d7e61c60ff8aebbb107314b6b698fc489ff3f017cb57e090600090a15b5b565b600060006000600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051514210905061157757610000565b60085433600160a060020a0390811691161461159257610000565b5050600b54600160a060020a03328181166000908152600a6020526040902080549386029384019055601180548401905560128054860190556008549092916115de9130911683610f68565b506115e98282612e7f565b50600054601154600b5460408051918252602082018590528051600160a060020a038716927fb4d6befef2def3d17bcb13c2b882ec4fa047f33157446d3e0e6094b2a21609ac92908290030190a4600192505b5b5050919050565b604080516020808201835260008252600f8054845160026001831615610100026000190190921691909104601f810184900484028201840190955284815292939091830182828015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b505050505090505b90565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061175257610000565b60065433600160a060020a0390811691161461176d57610000565b60105460ff16151561177e57610000565b600160a060020a0330166000908152600160209081526040808320805485019055600c859055825484019283905580518481529051839286927f10cb430288a1696de11938bc5362c6f8c60e58808237bce4436b93a8573e00c3929081900390910190a45b5b5b5b5050565b6000600060006000600061010060405190810160405280600081526020016000815260200160206040519081016040528060008152602001508152602001600081526020016000815260200160008152602001600081526020016000815260200150600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515142101590506118bc57610000565b60065433600160a060020a039081169116146118d757610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051516249d40001421015905061194c57610000565b601754621275000142101561196057610000565b60115460649004935060056016541115801561197f5750836005540288115b1561198957610000565b611991613283565b8811156119a3576119a0613283565b97505b60003642604051808484808284378201915050828152602001935050505060405180910390209250600454420191506101006040519081016040528084815260200189815260200188815260200183815260200160008152602001338152602001600081526020016000815260200150905080601460008560001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a9357805160ff1916838001178555611ac0565b82800160010185558215611ac0579182015b82811115611ac0578251825591602001919060010190611aa5565b5b50611ae19291505b80821115611add5760008155600101611ac9565b5090565b5050606082015160038201556080820151600482015560a08201516005909101805460c084015160e09094015160f860020a90810281900460a860020a0260a860020a60ff02199582029190910460a060020a0260a060020a60ff0219606060020a95860295909504600160a060020a03199093169290921793909316179290921617905560188054600181018083558281838015829011611c3c57600702816007028360005260206000209182019101611c3c91905b80821115611add5760006000820160009055600182016000905560028201805460018160011615610100020316600290046000825580601f10611bdb5750611c0d565b601f016020900490600052602060002090810190611c0d91905b80821115611add5760008155600101611ac9565b5090565b5b50506000600382018190556004820155600581018054600160b060020a0319169055600701611b98565b5090565b5b505050916000526020600020906007020160005b83909190915060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611cbd57805160ff1916838001178555611cea565b82800160010185558215611cea579182015b82811115611cea578251825591602001919060010190611ccf565b5b50611d0b9291505b80821115611add5760008155600101611ac9565b5090565b5050606082015181600301556080820151816004015560a08201518160050160006101000a815481600160a060020a030219169083606060020a90810204021790555060c08201518160050160146101000a81548160ff021916908360f860020a90810204021790555060e08201518160050160156101000a81548160ff021916908360f860020a90810204021790555050505060166000815460010191905081905550426017819055507f1a1eea7d2a0f099c2f19efb4e101fcf220558c9f4fbc6961b33fbe02d3a7be908389848a3360405180866000191681526020018581526020018481526020018060200183600160a060020a031681526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015611e615780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1826001955095505b5b5b505050509250929050565b60065460009033600160a060020a03908116911614611ea557610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515162dd7c00014210159050611f1a57610000565b604051600160a060020a0333811691309091163180156108fc02916000818181858888f1600954909550600160a060020a0316935063a9059cbb9250339150611f639050613283565b6000604051602001526040518360e060020a0281526004018083600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050505b5b50565b6016545b90565b6000600060006000600061010060405190810160405280600081526020016000815260200160206040519081016040528060008152602001508152602001600081526020016000815260200160008152602001600081526020016000815260200150600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061209357610000565b60065433600160a060020a039081169116146120ae57610000565b60105460ff16156120be57610000565b60006120c930612c80565b11156120d457610000565b60175462127500014210156120e857610000565b601354606490049350836005540288111561210257610000565b30600160a060020a0316318811156121225730600160a060020a03163197505b60003642604051808484808284378201915050828152602001935050505060405180910390209250600454420191506101006040519081016040528084815260200189815260200188815260200183815260200160008152602001338152602001600081526020016001815260200150905080601460008560001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061221257805160ff191683800117855561223f565b8280016001018555821561223f579182015b8281111561223f578251825591602001919060010190612224565b5b506122609291505b80821115611add5760008155600101611ac9565b5090565b5050606082015160038201556080820151600482015560a08201516005909101805460c084015160e09094015160f860020a90810281900460a860020a0260a860020a60ff02199582029190910460a060020a0260a060020a60ff0219606060020a95860295909504600160a060020a031990931692909217939093161792909216179055601880546001810180835582818380158290116123bb576007028160070283600052602060002091820191016123bb91905b80821115611add5760006000820160009055600182016000905560028201805460018160011615610100020316600290046000825580601f1061235a575061238c565b601f01602090049060005260206000209081019061238c91905b80821115611add5760008155600101611ac9565b5090565b5b50506000600382018190556004820155600581018054600160b060020a0319169055600701612317565b5090565b5b505050916000526020600020906007020160005b83909190915060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061243c57805160ff1916838001178555612469565b82800160010185558215612469579182015b8281111561246957825182559160200191906001019061244e565b5b5061248a9291505b80821115611add5760008155600101611ac9565b5090565b5050606082015181600301556080820151816004015560a08201518160050160006101000a815481600160a060020a030219169083606060020a90810204021790555060c08201518160050160146101000a81548160ff021916908360f860020a90810204021790555060e08201518160050160156101000a81548160ff021916908360f860020a908102040217905550505050426017819055507f1a1eea7d2a0f099c2f19efb4e101fcf220558c9f4fbc6961b33fbe02d3a7be908389848a3360405180866000191681526020018581526020018481526020018060200183600160a060020a031681526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015611e615780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1826001955095505b5b5b505050509250929050565b600654600160a060020a03165b90565b600854600160a060020a03161561261c57610000565b60088054600160a060020a031916606060020a838102041790555b50565b60065433600160a060020a0390811691161461265557610000565b60105460ff16151561266657610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421090506126d557610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663cdd933326000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061274557610000565b600854600160a060020a0316151561275c57610000565b6000805482018155600160a060020a03308116808352600160209081526040808520805487019055600b8790556002825280852060088054861687529083529481902080548701905593548451868152945193169391927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600054601154600b546040805185815290517f10cb430288a1696de11938bc5362c6f8c60e58808237bce4436b93a8573e00c39181900360200190a45b5b5b5b5b5050565b604080516101008082018352600080835260208084018290528451808201865282815284860152606084018290526080840182905260a0840182905260c0840182905260e0840182905285825260148152848220855180850187528154815260018083015482850152600280840180548a51600019948216159099029390930190921604601f8101859004850287018501895280875296979496879692959394938601938301828280156129175780601f106128ec57610100808354040283529160200191612917565b820191906000526020600020905b8154815290600101906020018083116128fa57829003601f168201915b505050918352505060038201546020820152600482015460408201526005820154600160a060020a038116606083015260ff60a060020a820481161515608084015260a09092019160a860020a909104166001811161000057905250600085815260146020526040902054909350151561299057610000565b60008481526014602052604090206005015460a060020a900460ff16156129b657610000565b60008481526014602052604090206003015442106129d357610000565b6000848152601460209081526040808320600160a060020a033316845260060190915290205460ff1615612a0657610000565b600160a060020a0333166000818152600a6020908152604080832054888452601483528184206004810180548301905594845260069094019091529020805460ff191660011790559150612a5984612c34565b6000858152601460205260409020601880549293509091839081101561000057906000526020600020906007020160005b50600082015481600001556001820154816001015560028201816002019080546001816001161561010002031660029004828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612af45780548555612b30565b82800160010185558215612b3057600052602060002091601f016020900482015b82811115612b30578254825591600101919060010190612b15565b5b50612b519291505b80821115611add5760008155600101611ac9565b5090565b5050600382810154908201556004808301549082015560059182018054929091018054600160a060020a031916606060020a600160a060020a0394851681020417808255825460a060020a60ff021990911660f860020a60a060020a9283900460ff908116820282900490930291909117808455935460a860020a60ff021990941660a860020a9485900490921681020490920291909117905560408051868152339092166020830152818101849052517f8f8bbb8c1937f844f6a094cd4c6eeab8ed5e36f83952e6306ffb2c11fffe5bce916060908290030190a15b50505050565b6000805b601854811015612c7957601881815481101561000057906000526020600020906007020160005b5054831415612c7057809150612c79565b5b600101612c38565b5b50919050565b600160a060020a0381166000908152600160205260409020545b919050565b60065433600160a060020a03908116911614612cba57610000565b600160a060020a03301660009081526001602052604080822080548354038355829055517fe0987873419fe09d3c9a3e0267f4daf163e812d512f867abaf6bf9822f141a8b9190a15b5b565b60408051602080820183526000825260198054845160026001831615610100026000190190921691909104601f810184900484028201840190955284815292939091830182828015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b505050505090505b90565b6011545b90565b600f805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b505050505081565b6000602082511115612e4a57610000565b5060208101515b919050565b6000601882815481101561000057906000526020600020906007020160005b505490505b919050565b600160a060020a033316600090815260016020526040812054829010801590612ea85750600082115b15612f2057600160a060020a03338116600081815260016020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610cc156610cc1565b506000610cc1565b5b92915050565b600160a060020a0333166000908152600a60205260409020541515612f5357610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151626ebe00014210159050612fc857610000565b601b5415801590612fe25750426019600201546212750001115b15612fec57610000565b6040805160808101825283815260208082018490524262127500018284015233600160a060020a03166000908152600a8252928320546060830152815180516019805495819052939484937f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c969560026001841615610100026000190190931692909204601f9081018290048301949091019083901061309557805160ff19168380011785556130c2565b828001600101855582156130c2579182015b828111156130c25782518255916020019190600101906130a7565b5b506130e39291505b80821115611add5760008155600101611ac9565b5090565b505060208201518160010160006101000a815481600160a060020a030219169083606060020a908102040217905550604082015181600201556060820151816003015590505060016019600401600033600160a060020a0316815260200190815260200160002060006101000a81548160ff021916908360f860020a9081020402179055507f854a9cc4d907d23cd8dcc72af48dc0e6a87e6f76376a309a0ffa3231ce8e13363383426212750001846040518085600160a060020a031681526020018060200184815260200183600160a060020a031681526020018281038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156132165780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a15b5050565b60065433600160a060020a0390811691161461324657610000565b600b819055600080546011546040519192909184917f17a7f53ef43da32c3936b4ac2b060caff5c4b03cd24b1c8e96a191eb1ec48d1591a45b5b50565b6000600960009054906101000a9004600160a060020a0316600160a060020a03166370a08231306000604051602001526040518260e060020a0281526004018082600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b90565b6000545b90565b600c545b90565b600160a060020a0381166000908152600a60205260409020545b919050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b9291505056d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5
Deployed Bytecode
0x606060405236156102035760e060020a600035046306fdde0381146103ba578063095ea7b3146104355780630b0b6d5b1461045c5780631b1ccc471461046b57806320e87093146104e657806323b872dd1461050557806325b29d841461052f578063271879911461054e578063277ccde2146105605780632e1fbfcd1461057f578063308b2fdc146105a1578063313ce567146105c357806338cc4831146105e657806340eddc4e1461060f57806341f4793a1461062e578063467ed2611461064d578063471ad9631461066c5780634e860ebb1461067e5780634efbe9331461068d57806354786b4e146106b157806354e35ba21461072c57806358793ad4146107415780635abedab2146107ae5780635af2f821146107bd57806360483a3f146107dc57806360d12fa014610849578063698f2e84146108725780636a749986146108845780636d5f6639146108995780636e9c3683146108ab57806370a08231146108cd5780637a290fe5146108ef5780637e754146146108fe57806394c41bdb1461097957806395d89b4114610998578063962a64cd14610a13578063a0b6533214610a78578063a9059cbb14610a9a578063ab62438f14610ac1578063b63ca98114610b18578063b7c54c6f14610b2a578063c4e41b2214610b49578063ca7c4dba14610b68578063cb79e31b14610b87578063dd62ed3e14610ba9575b6103b85b60006000600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061027b57610000565b600c54151561028957610000565b600354600c54670de0b6b3a764000091349091020204915060009050816001600030600160a060020a0316815260200190815260200160002054101561033357600160a060020a033016600090815260016020526040902054600c54909250828115610000570466038d7ea4c68000023403905033600160a060020a03166108fc829081150290604051809050600060405180830381858888f19350505050151561033357610000565b5b600160a060020a03338116600081815260016020908152604080832080548801905530909416825283822080548790039055601380543487900301908190559154600c548551908152918201879052845190949293927f5a0391f2a67f11ed0034b68f8cf14e7e41d6f86e0a7622f2af5ea8f07b488396928290030190a45b5b5050565b005b34610000576103c7610bce565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610448600435602435610c5c565b604080519115158252519081900360200190f35b34610000576103b8610cc7565b005b34610000576103c7610e2b565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576104f3610ec9565b60408051918252519081900360200190f35b3461000057610448600435602435604435610f68565b604080519115158252519081900360200190f35b34610000576104f361105f565b60408051918252519081900360200190f35b34610000576103b860043561106e565b005b34610000576104f3611137565b60408051918252519081900360200190f35b34610000576104f360043561113e565b60408051918252519081900360200190f35b34610000576104f360043561116a565b60408051918252519081900360200190f35b34610000576105d0611196565b6040805160ff9092168252519081900360200190f35b34610000576105f361119f565b60408051600160a060020a039092168252519081900360200190f35b34610000576104f36111a4565b60408051918252519081900360200190f35b34610000576104f36111ab565b60408051918252519081900360200190f35b34610000576104f36111b2565b60408051918252519081900360200190f35b34610000576103b8600435611251565b005b34610000576103b86114b0565b005b3461000057610448600435611502565b604080519115158252519081900360200190f35b34610000576103c7611644565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576103b86004356024356116e2565b005b346100005760408051602060046024803582810135601f810185900485028601850190965285855261079595833595939460449493929092019181908401838280828437509496506117ea95505050505050565b6040805192835290151560208301528051918290030190f35b34610000576103b8611e87565b005b34610000576104f3611fba565b60408051918252519081900360200190f35b346100005760408051602060046024803582810135601f81018590048502860185019096528585526107959583359593946044949392909201918190840183828082843750949650611fc195505050505050565b6040805192835290151560208301528051918290030190f35b34610000576105f36125f6565b60408051600160a060020a039092168252519081900360200190f35b34610000576103b8600435612606565b005b34610000576103b860043560243561263a565b005b34610000576103b8600435612822565b005b34610000576104f3600435612c34565b60408051918252519081900360200190f35b34610000576104f3600435612c80565b60408051918252519081900360200190f35b34610000576103b8612c9f565b005b34610000576103c7612d06565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576104f3612da4565b60408051918252519081900360200190f35b34610000576103c7612dab565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156104275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576104f3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650612e3995505050505050565b60408051918252519081900360200190f35b34610000576104f3600435612e56565b60408051918252519081900360200190f35b3461000057610448600435602435612e7f565b604080519115158252519081900360200190f35b34610000576103b8600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496505093359350612f2f92505050565b005b34610000576103b860043561322b565b005b34610000576104f3613283565b60408051918252519081900360200190f35b34610000576104f36132ff565b60408051918252519081900360200190f35b34610000576104f3613306565b60408051918252519081900360200190f35b34610000576104f360043561330d565b60408051918252519081900360200190f35b34610000576104f360043560243561332c565b60408051918252519081900360200190f35b600d805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b601a54600090600160a060020a03161515610ce157610000565b600160a060020a0333166000908152600a60205260409020541515610d0557610000565b600160a060020a0333166000908152601d602052604090205460ff1615610d2b57610000565b601b54426212750090910111610d4057610000565b600160a060020a0333166000818152601d60209081526040808320805460ff19166001179055600a8252918290208054601c805490910190555482519384529083015280517f475c7605c08471fdc551a58d2c318b163628c5852f69323a1b91c34eb0bb09339281900390910190a150601154601c54606490910490604682029010610e2757601a5460068054600160a060020a031916606060020a600160a060020a0393841681020417908190556040805191909216815290517f6b8184e23a898262087be50aa3ea5de648451e63f94413e810586c25282d58c2916020908290030190a15b5b50565b604080516020808201835260008252600d8054845160026001831615610100026000190190921691909104601f810184900484028201840190955284815292939091830182828015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b505050505090505b90565b600f805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093610f629391929091830182828015610f585780601f10610f2d57610100808354040283529160200191610f58565b820191906000526020600020905b815481529060010190602001808311610f3b57829003601f168201915b5050505050612e39565b90505b90565b600160a060020a038316600090815260016020526040812054829010801590610fb85750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b8015610fc45750600082115b1561105357600160a060020a03808516600081815260016020908152604080832080548890039055878516808452818420889055848452600283528184203390961684529482529182902080548790039055815186815291517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600161105756611057565b5060005b5b9392505050565b600160a060020a033016315b90565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515142101590506110de57610000565b60065433600160a060020a039081169116146110f957610000565b600c8190556040805182815290517f0bbd501ef336990995d82b5e3fd82a15abe1ff10c982757a1698ac5d1c3e79579181900360200190a15b5b5b50565b600b545b90565b6000601882815481101561000057906000526020600020906007020160005b506004015490505b919050565b6000601882815481101561000057906000526020600020906007020160005b506001015490505b919050565b600e5460ff1681565b305b90565b6013545b90565b601c545b90565b600d805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093610f629391929091830182828015610f585780601f10610f2d57610100808354040283529160200191610f58565b820191906000526020600020905b815481529060010190602001808311610f3b57829003601f168201915b5050505050612e39565b90505b90565b600654600090819033600160a060020a0390811691161461127157610000565b600083815260146020526040902054151561128b57610000565b60008381526014602052604090206005015433600160a060020a039081169116146112b557610000565b6000838152601460205260409020600301544210156112d357610000565b60008381526014602052604090206005015460a060020a900460ff16156112f957610000565b601154600084815260146020526040902060040154606490910460370292508290111561132557610000565b60008381526014602052604081206005015460a860020a900460ff16600181116100005714156113e657600954600084815260146020908152604080832060058101546001909101548251840185905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810191909152915194169363a9059cbb93604480840194938390030190829087803b156100005760325a03f1156100005750611484915050565b60008381526014602052604080822060058101546001909101549151600160a060020a039091169282156108fc02929190818181858888f160008881526014602090815260409182902060058101546001909101548351600160a060020a0390921682529181019190915281519297507f2648a7e2f9c34700b91370233666e5118fa8be3e0c21fed4f7402b941df8efdd9650829003019350915050a15b6000838152601460205260409020600501805460a060020a60ff02191660a060020a1790555b5b505050565b60065433600160a060020a039081169116146114cb57610000565b6010805460ff191690556040517fb48c7f694f0a3b9b22d7e61c60ff8aebbb107314b6b698fc489ff3f017cb57e090600090a15b5b565b600060006000600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051514210905061157757610000565b60085433600160a060020a0390811691161461159257610000565b5050600b54600160a060020a03328181166000908152600a6020526040902080549386029384019055601180548401905560128054860190556008549092916115de9130911683610f68565b506115e98282612e7f565b50600054601154600b5460408051918252602082018590528051600160a060020a038716927fb4d6befef2def3d17bcb13c2b882ec4fa047f33157446d3e0e6094b2a21609ac92908290030190a4600192505b5b5050919050565b604080516020808201835260008252600f8054845160026001831615610100026000190190921691909104601f810184900484028201840190955284815292939091830182828015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b505050505090505b90565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061175257610000565b60065433600160a060020a0390811691161461176d57610000565b60105460ff16151561177e57610000565b600160a060020a0330166000908152600160209081526040808320805485019055600c859055825484019283905580518481529051839286927f10cb430288a1696de11938bc5362c6f8c60e58808237bce4436b93a8573e00c3929081900390910190a45b5b5b5b5050565b6000600060006000600061010060405190810160405280600081526020016000815260200160206040519081016040528060008152602001508152602001600081526020016000815260200160008152602001600081526020016000815260200150600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515142101590506118bc57610000565b60065433600160a060020a039081169116146118d757610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051516249d40001421015905061194c57610000565b601754621275000142101561196057610000565b60115460649004935060056016541115801561197f5750836005540288115b1561198957610000565b611991613283565b8811156119a3576119a0613283565b97505b60003642604051808484808284378201915050828152602001935050505060405180910390209250600454420191506101006040519081016040528084815260200189815260200188815260200183815260200160008152602001338152602001600081526020016000815260200150905080601460008560001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a9357805160ff1916838001178555611ac0565b82800160010185558215611ac0579182015b82811115611ac0578251825591602001919060010190611aa5565b5b50611ae19291505b80821115611add5760008155600101611ac9565b5090565b5050606082015160038201556080820151600482015560a08201516005909101805460c084015160e09094015160f860020a90810281900460a860020a0260a860020a60ff02199582029190910460a060020a0260a060020a60ff0219606060020a95860295909504600160a060020a03199093169290921793909316179290921617905560188054600181018083558281838015829011611c3c57600702816007028360005260206000209182019101611c3c91905b80821115611add5760006000820160009055600182016000905560028201805460018160011615610100020316600290046000825580601f10611bdb5750611c0d565b601f016020900490600052602060002090810190611c0d91905b80821115611add5760008155600101611ac9565b5090565b5b50506000600382018190556004820155600581018054600160b060020a0319169055600701611b98565b5090565b5b505050916000526020600020906007020160005b83909190915060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611cbd57805160ff1916838001178555611cea565b82800160010185558215611cea579182015b82811115611cea578251825591602001919060010190611ccf565b5b50611d0b9291505b80821115611add5760008155600101611ac9565b5090565b5050606082015181600301556080820151816004015560a08201518160050160006101000a815481600160a060020a030219169083606060020a90810204021790555060c08201518160050160146101000a81548160ff021916908360f860020a90810204021790555060e08201518160050160156101000a81548160ff021916908360f860020a90810204021790555050505060166000815460010191905081905550426017819055507f1a1eea7d2a0f099c2f19efb4e101fcf220558c9f4fbc6961b33fbe02d3a7be908389848a3360405180866000191681526020018581526020018481526020018060200183600160a060020a031681526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015611e615780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1826001955095505b5b5b505050509250929050565b60065460009033600160a060020a03908116911614611ea557610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515162dd7c00014210159050611f1a57610000565b604051600160a060020a0333811691309091163180156108fc02916000818181858888f1600954909550600160a060020a0316935063a9059cbb9250339150611f639050613283565b6000604051602001526040518360e060020a0281526004018083600160a060020a0316815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050505b5b50565b6016545b90565b6000600060006000600061010060405190810160405280600081526020016000815260200160206040519081016040528060008152602001508152602001600081526020016000815260200160008152602001600081526020016000815260200150600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061209357610000565b60065433600160a060020a039081169116146120ae57610000565b60105460ff16156120be57610000565b60006120c930612c80565b11156120d457610000565b60175462127500014210156120e857610000565b601354606490049350836005540288111561210257610000565b30600160a060020a0316318811156121225730600160a060020a03163197505b60003642604051808484808284378201915050828152602001935050505060405180910390209250600454420191506101006040519081016040528084815260200189815260200188815260200183815260200160008152602001338152602001600081526020016001815260200150905080601460008560001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061221257805160ff191683800117855561223f565b8280016001018555821561223f579182015b8281111561223f578251825591602001919060010190612224565b5b506122609291505b80821115611add5760008155600101611ac9565b5090565b5050606082015160038201556080820151600482015560a08201516005909101805460c084015160e09094015160f860020a90810281900460a860020a0260a860020a60ff02199582029190910460a060020a0260a060020a60ff0219606060020a95860295909504600160a060020a031990931692909217939093161792909216179055601880546001810180835582818380158290116123bb576007028160070283600052602060002091820191016123bb91905b80821115611add5760006000820160009055600182016000905560028201805460018160011615610100020316600290046000825580601f1061235a575061238c565b601f01602090049060005260206000209081019061238c91905b80821115611add5760008155600101611ac9565b5090565b5b50506000600382018190556004820155600581018054600160b060020a0319169055600701612317565b5090565b5b505050916000526020600020906007020160005b83909190915060008201518160000155602082015181600101556040820151816002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061243c57805160ff1916838001178555612469565b82800160010185558215612469579182015b8281111561246957825182559160200191906001019061244e565b5b5061248a9291505b80821115611add5760008155600101611ac9565b5090565b5050606082015181600301556080820151816004015560a08201518160050160006101000a815481600160a060020a030219169083606060020a90810204021790555060c08201518160050160146101000a81548160ff021916908360f860020a90810204021790555060e08201518160050160156101000a81548160ff021916908360f860020a908102040217905550505050426017819055507f1a1eea7d2a0f099c2f19efb4e101fcf220558c9f4fbc6961b33fbe02d3a7be908389848a3360405180866000191681526020018581526020018481526020018060200183600160a060020a031681526020018281038252848181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f168015611e615780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1826001955095505b5b5b505050509250929050565b600654600160a060020a03165b90565b600854600160a060020a03161561261c57610000565b60088054600160a060020a031916606060020a838102041790555b50565b60065433600160a060020a0390811691161461265557610000565b60105460ff16151561266657610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421090506126d557610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663cdd933326000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151421015905061274557610000565b600854600160a060020a0316151561275c57610000565b6000805482018155600160a060020a03308116808352600160209081526040808520805487019055600b8790556002825280852060088054861687529083529481902080548701905593548451868152945193169391927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600054601154600b546040805185815290517f10cb430288a1696de11938bc5362c6f8c60e58808237bce4436b93a8573e00c39181900360200190a45b5b5b5b5b5050565b604080516101008082018352600080835260208084018290528451808201865282815284860152606084018290526080840182905260a0840182905260c0840182905260e0840182905285825260148152848220855180850187528154815260018083015482850152600280840180548a51600019948216159099029390930190921604601f8101859004850287018501895280875296979496879692959394938601938301828280156129175780601f106128ec57610100808354040283529160200191612917565b820191906000526020600020905b8154815290600101906020018083116128fa57829003601f168201915b505050918352505060038201546020820152600482015460408201526005820154600160a060020a038116606083015260ff60a060020a820481161515608084015260a09092019160a860020a909104166001811161000057905250600085815260146020526040902054909350151561299057610000565b60008481526014602052604090206005015460a060020a900460ff16156129b657610000565b60008481526014602052604090206003015442106129d357610000565b6000848152601460209081526040808320600160a060020a033316845260060190915290205460ff1615612a0657610000565b600160a060020a0333166000818152600a6020908152604080832054888452601483528184206004810180548301905594845260069094019091529020805460ff191660011790559150612a5984612c34565b6000858152601460205260409020601880549293509091839081101561000057906000526020600020906007020160005b50600082015481600001556001820154816001015560028201816002019080546001816001161561010002031660029004828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612af45780548555612b30565b82800160010185558215612b3057600052602060002091601f016020900482015b82811115612b30578254825591600101919060010190612b15565b5b50612b519291505b80821115611add5760008155600101611ac9565b5090565b5050600382810154908201556004808301549082015560059182018054929091018054600160a060020a031916606060020a600160a060020a0394851681020417808255825460a060020a60ff021990911660f860020a60a060020a9283900460ff908116820282900490930291909117808455935460a860020a60ff021990941660a860020a9485900490921681020490920291909117905560408051868152339092166020830152818101849052517f8f8bbb8c1937f844f6a094cd4c6eeab8ed5e36f83952e6306ffb2c11fffe5bce916060908290030190a15b50505050565b6000805b601854811015612c7957601881815481101561000057906000526020600020906007020160005b5054831415612c7057809150612c79565b5b600101612c38565b5b50919050565b600160a060020a0381166000908152600160205260409020545b919050565b60065433600160a060020a03908116911614612cba57610000565b600160a060020a03301660009081526001602052604080822080548354038355829055517fe0987873419fe09d3c9a3e0267f4daf163e812d512f867abaf6bf9822f141a8b9190a15b5b565b60408051602080820183526000825260198054845160026001831615610100026000190190921691909104601f810184900484028201840190955284815292939091830182828015610ebe5780601f10610e9357610100808354040283529160200191610ebe565b820191906000526020600020905b815481529060010190602001808311610ea157829003601f168201915b505050505090505b90565b6011545b90565b600f805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b505050505081565b6000602082511115612e4a57610000565b5060208101515b919050565b6000601882815481101561000057906000526020600020906007020160005b505490505b919050565b600160a060020a033316600090815260016020526040812054829010801590612ea85750600082115b15612f2057600160a060020a03338116600081815260016020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610cc156610cc1565b506000610cc1565b5b92915050565b600160a060020a0333166000908152600a60205260409020541515612f5357610000565b600760009054906101000a9004600160a060020a0316600160a060020a031663d4884b566000604051602001526040518160e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151626ebe00014210159050612fc857610000565b601b5415801590612fe25750426019600201546212750001115b15612fec57610000565b6040805160808101825283815260208082018490524262127500018284015233600160a060020a03166000908152600a8252928320546060830152815180516019805495819052939484937f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c969560026001841615610100026000190190931692909204601f9081018290048301949091019083901061309557805160ff19168380011785556130c2565b828001600101855582156130c2579182015b828111156130c25782518255916020019190600101906130a7565b5b506130e39291505b80821115611add5760008155600101611ac9565b5090565b505060208201518160010160006101000a815481600160a060020a030219169083606060020a908102040217905550604082015181600201556060820151816003015590505060016019600401600033600160a060020a0316815260200190815260200160002060006101000a81548160ff021916908360f860020a9081020402179055507f854a9cc4d907d23cd8dcc72af48dc0e6a87e6f76376a309a0ffa3231ce8e13363383426212750001846040518085600160a060020a031681526020018060200184815260200183600160a060020a031681526020018281038252858181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156132165780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a15b5050565b60065433600160a060020a0390811691161461324657610000565b600b819055600080546011546040519192909184917f17a7f53ef43da32c3936b4ac2b060caff5c4b03cd24b1c8e96a191eb1ec48d1591a45b5b50565b6000600960009054906101000a9004600160a060020a0316600160a060020a03166370a08231306000604051602001526040518260e060020a0281526004018082600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b90565b6000545b90565b600c545b90565b600160a060020a0381166000908152600a60205260409020545b919050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b9291505056
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001c3c643f49be262c3040e917e7d2299b9bc081a1000000000000000000000000b582baaf5e749d6aa98a22355a9d08b4c4d013c8000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000008657468657269736300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035253430000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : eventInfoAddr (address): 0x1c3c643F49BE262c3040E917E7D2299b9bc081A1
Arg [1] : hackerGoldAddr (address): 0xb582baaF5e749d6aA98A22355A9d08B4c4d013C8
Arg [2] : dstName (string): etherisc
Arg [3] : dstSymbol (string): RSC
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000001c3c643f49be262c3040e917e7d2299b9bc081a1
Arg [1] : 000000000000000000000000b582baaf5e749d6aa98a22355a9d08b4c4d013c8
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 6574686572697363000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 5253430000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.580768 | 7.7117 | $4.48 |
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.