More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 7,989 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20430934 | 103 days ago | IN | 0 ETH | 0.0002586 | ||||
Transfer | 20430926 | 104 days ago | IN | 0 ETH | 0.0012518 | ||||
Approve | 19892594 | 179 days ago | IN | 0 ETH | 0.00014276 | ||||
Approve | 19842485 | 186 days ago | IN | 0 ETH | 0.00027396 | ||||
Approve | 19351539 | 255 days ago | IN | 0 ETH | 0.00198814 | ||||
Approve | 18710884 | 344 days ago | IN | 0 ETH | 0.00091456 | ||||
Approve | 18117861 | 427 days ago | IN | 0 ETH | 0.00043749 | ||||
Approve | 17878740 | 461 days ago | IN | 0 ETH | 0.00210784 | ||||
Approve | 17857310 | 464 days ago | IN | 0 ETH | 0.0008671 | ||||
Approve | 17526914 | 510 days ago | IN | 0 ETH | 0.00070459 | ||||
Approve | 17445810 | 522 days ago | IN | 0 ETH | 0.0009136 | ||||
Approve | 17076844 | 574 days ago | IN | 0 ETH | 0.00309436 | ||||
Transfer | 17048638 | 578 days ago | IN | 0 ETH | 0.00494648 | ||||
Approve | 15574782 | 784 days ago | IN | 0 ETH | 0.00031108 | ||||
Transfer | 15574723 | 784 days ago | IN | 0 ETH | 0.00177751 | ||||
Transfer | 14922678 | 889 days ago | IN | 0 ETH | 0.01381458 | ||||
Transfer | 14684109 | 927 days ago | IN | 0 ETH | 0.00707818 | ||||
Approve | 14638713 | 934 days ago | IN | 0 ETH | 0.00175492 | ||||
Transfer | 14635096 | 935 days ago | IN | 0 ETH | 0.00326216 | ||||
Transfer | 14532204 | 951 days ago | IN | 0 ETH | 0.00582311 | ||||
Approve | 14519143 | 953 days ago | IN | 0 ETH | 0.00227673 | ||||
Approve | 14519025 | 953 days ago | IN | 0 ETH | 0.00160148 | ||||
Transfer | 14359287 | 978 days ago | IN | 0 ETH | 0.00960237 | ||||
Transfer | 14359267 | 978 days ago | IN | 0 ETH | 0.00901784 | ||||
Approve | 14209308 | 1001 days ago | IN | 0 ETH | 0.00212467 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
AICoin
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-09-05 */ pragma solidity ^0.4.11; /******************************************************************************* * ERC Token Standard #20 Interface * https://github.com/ethereum/EIPs/issues/20 *******************************************************************************/ contract ERC20Interface { // Get the total token supply function totalSupply() constant returns (uint256 totalSupply); // Get the account balance of another account with address _owner function balanceOf(address _owner) constant returns (uint256 balance); // Send _value amount of tokens to address _to function transfer(address _to, uint256 _value) returns (bool success); // Send _value amount of tokens from address _from to address _to function transferFrom(address _from, address _to, uint256 _value) returns (bool success); // Allow _spender to withdraw from your account, multiple times, up to the _value amount. // If this function is called again it overwrites the current allowance with _value. // this function is required for some DEX functionality. function approve(address _spender, uint256 _value) returns (bool success); // Returns the amount which _spender is still allowed to withdraw from _owner function allowance(address _owner, address _spender) constant returns (uint256 remaining); // Triggered when tokens are transferred. event Transfer(address indexed _from, address indexed _to, uint256 _value); // Triggered whenever approve(address _spender, uint256 _value) is called. event Approval(address indexed _owner, address indexed _spender, uint256 _value); } /******************************************************************************* * AICoin - Smart Contract with token and ballot handling *******************************************************************************/ contract AICoin is ERC20Interface { /* ****************************** * COIN data / functions * ******************************/ /* Token constants */ string public constant name = 'AICoin'; string public constant symbol = 'XAI'; uint8 public constant decimals = 8; string public constant smallestUnit = 'Hofstadter'; /* Token internal data */ address m_administrator; uint256 m_totalSupply; /* Current balances for each account */ mapping(address => uint256) balances; /* Account holder approves the transfer of an amount to another account */ mapping(address => mapping (address => uint256)) allowed; /* One-time create function: initialize the supply and set the admin address */ function AICoin (uint256 _initialSupply) { m_administrator = msg.sender; m_totalSupply = _initialSupply; balances[msg.sender] = _initialSupply; } /* Get the admin address */ function administrator() constant returns (address adminAddress) { return m_administrator; } /* Get the total coin supply */ function totalSupply() constant returns (uint256 totalSupply) { return m_totalSupply; } /* Get the balance of a specific account by its address */ function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } /* Transfer an amount from the owner's account to an indicated account */ function transfer(address _to, uint256 _amount) returns (bool success) { if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to] && (! accountHasCurrentVote(msg.sender))) { balances[msg.sender] -= _amount; balances[_to] += _amount; Transfer(msg.sender, _to, _amount); return true; } else { return false; } } /* Send _value amount of tokens from address _from to address _to * The transferFrom method is used for a withdraw workflow, allowing contracts to send * tokens on your behalf, for example to "deposit" to a contract address and/or to charge * fees in sub-currencies; the command should fail unless the _from account has * deliberately authorized the sender of the message via some mechanism; we propose * these standardized APIs for approval: */ function transferFrom(address _from, address _to, uint256 _amount) returns (bool success) { if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to] && (! accountHasCurrentVote(_from))) { balances[_from] -= _amount; allowed[_from][msg.sender] -= _amount; balances[_to] += _amount; Transfer(_from, _to, _amount); return true; } else { return false; } } /* Pre-authorize an address to withdraw from your account, up to the _value amount. * Doing so (using transferFrom) reduces the remaining authorized amount, * as well as the actual account balance) * Subsequent calls to this function overwrite any existing authorized amount. * Therefore, to cancel an authorization, simply write a zero amount. */ function approve(address _spender, uint256 _amount) returns (bool success) { allowed[msg.sender][_spender] = _amount; Approval(msg.sender, _spender, _amount); return true; } /* Get the currently authorized that can be withdrawn by account _spender from account _owner */ function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } /* ****************************** * BALLOT data / functions * ******************************/ /* Dev Note: creating a struct that contained a string, uint values and * an array of option structs, etc, would consistently fail. * So the ballot details are held in separate mappings with a common integer * key for each ballot. The IDs are 1-indexed, sequential and contiguous. */ /* Basic ballot details: time frame and number of options */ struct BallotDetails { uint256 start; uint256 end; uint32 numOptions; // 1-indexed for readability bool sealed; } uint32 public numBallots = 0; // 1-indexed for readability mapping (uint32 => string) public ballotNames; mapping (uint32 => BallotDetails) public ballotDetails; mapping (uint32 => mapping (uint32 => string) ) public ballotOptions; /* Create a new ballot and set the basic details (proposal description, dates) * The ballot still need to have options added and then to be sealed */ function adminAddBallot(string _proposal, uint256 _start, uint256 _end) { /* Admin functions must be called by the contract creator. */ require(msg.sender == m_administrator); /* Create and store the new ballot objects */ numBallots++; uint32 ballotId = numBallots; ballotNames[ballotId] = _proposal; ballotDetails[ballotId] = BallotDetails(_start, _end, 0, false); } /* Create a new ballot and set the basic details (proposal description, dates) * The ballot still need to have options added and then to be sealed */ function adminAmendBallot(uint32 _ballotId, string _proposal, uint256 _start, uint256 _end) { /* Admin functions must be called by the contract creator. */ require(msg.sender == m_administrator); /* verify that the ballot exists */ require(_ballotId > 0 && _ballotId <= numBallots); /* update the ballot object */ ballotNames[_ballotId] = _proposal; ballotDetails[_ballotId].start = _start; ballotDetails[_ballotId].end = _end; } /* Add an option to an existing Ballot */ function adminAddBallotOption(uint32 _ballotId, string _option) { /* Admin functions must be called by the contract creator. */ require(msg.sender == m_administrator); /* verify that the ballot exists */ require(_ballotId > 0 && _ballotId <= numBallots); /* cannot change a ballot once it is sealed */ if(isBallotSealed(_ballotId)) { revert(); } /* store the new ballot option */ ballotDetails[_ballotId].numOptions += 1; uint32 optionId = ballotDetails[_ballotId].numOptions; ballotOptions[_ballotId][optionId] = _option; } /* Amend and option in an existing Ballot */ function adminEditBallotOption(uint32 _ballotId, uint32 _optionId, string _option) { /* Admin functions must be called by the contract creator. */ require(msg.sender == m_administrator); /* verify that the ballot exists */ require(_ballotId > 0 && _ballotId <= numBallots); /* cannot change a ballot once it is sealed */ if(isBallotSealed(_ballotId)) { revert(); } /* validate the ballot option */ require(_optionId > 0 && _optionId <= ballotDetails[_ballotId].numOptions); /* update the ballot option */ ballotOptions[_ballotId][_optionId] = _option; } /* Seal a ballot - after this the ballot is official and no changes can be made. */ function adminSealBallot(uint32 _ballotId) { /* Admin functions must be called by the contract creator. */ require(msg.sender == m_administrator); /* verify that the ballot exists */ require(_ballotId > 0 && _ballotId <= numBallots); /* cannot change a ballot once it is sealed */ if(isBallotSealed(_ballotId)) { revert(); } /* set the ballot seal flag */ ballotDetails[_ballotId].sealed = true; } /* Function to determine if a ballot is currently in progress, based on its * start and end dates, and that it has been sealed. */ function isBallotInProgress(uint32 _ballotId) private constant returns (bool) { return (isBallotSealed(_ballotId) && ballotDetails[_ballotId].start <= now && ballotDetails[_ballotId].end >= now); } /* Function to determine if a ballot has ended, based on its end date */ function hasBallotEnded(uint32 _ballotId) private constant returns (bool) { return (ballotDetails[_ballotId].end < now); } /* Function to determine if a ballot has been sealed, which means it has been * authorized by the administrator and can no longer be changed. */ function isBallotSealed(uint32 _ballotId) private returns (bool) { return ballotDetails[_ballotId].sealed; } /* ****************************** * VOTING data / functions * ******************************/ mapping (uint32 => mapping (address => uint256) ) public ballotVoters; mapping (uint32 => mapping (uint32 => uint256) ) public ballotVoteCount; /* function to allow a coin holder add to the vote count of an option in an * active ballot. The votes added equals the balance of the account. Once this is called successfully * the coins cannot be transferred out of the account until the end of the ballot. * * NB: The timing of the start and end of the voting period is determined by * the timestamp of the block in which the transaction is included. As given by * the current Ethereum standard this is *NOT* guaranteed to be accurate to any * given external time source. Therefore, votes should be placed well in advance * of the UTC end time of the Ballot. */ function vote(uint32 _ballotId, uint32 _selectedOptionId) { /* verify that the ballot exists */ require(_ballotId > 0 && _ballotId <= numBallots); /* Ballot must be in progress in order to vote */ require(isBallotInProgress(_ballotId)); /* Calculate the balance which which the coin holder has not yet voted, which is the difference between * the current balance for the senders address and the amount they already voted in this ballot. * If the difference is zero, this attempt to vote will fail. */ uint256 votableBalance = balanceOf(msg.sender) - ballotVoters[_ballotId][msg.sender]; require(votableBalance > 0); /* validate the ballot option */ require(_selectedOptionId > 0 && _selectedOptionId <= ballotDetails[_ballotId].numOptions); /* update the vote count and record the voter */ ballotVoteCount[_ballotId][_selectedOptionId] += votableBalance; ballotVoters[_ballotId][msg.sender] += votableBalance; } /* function to determine if an address has already voted in a given ballot */ function hasAddressVotedInBallot(uint32 _ballotId, address _voter) constant returns (bool hasVoted) { return ballotVoters[_ballotId][_voter] > 0; } /* function to determine if an account has voted in any current ballot */ function accountHasCurrentVote(address _voter) constant returns (bool) { for(uint32 id = 1; id <= numBallots; id++) { if (isBallotInProgress(id) && hasAddressVotedInBallot(id, _voter)) { return true; } } return false; } }
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":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"}],"name":"adminSealBallot","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numBallots","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"address"}],"name":"ballotVoters","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_proposal","type":"string"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"adminAddBallot","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_optionId","type":"uint32"},{"name":"_option","type":"string"}],"name":"adminEditBallotOption","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"smallestUnit","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"ballotNames","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"accountHasCurrentVote","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_option","type":"string"}],"name":"adminAddBallotOption","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"name":"ballotOptions","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_voter","type":"address"}],"name":"hasAddressVotedInBallot","outputs":[{"name":"hasVoted","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"ballotDetails","outputs":[{"name":"start","type":"uint256"},{"name":"end","type":"uint256"},{"name":"numOptions","type":"uint32"},{"name":"sealed","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_selectedOptionId","type":"uint32"}],"name":"vote","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ballotId","type":"uint32"},{"name":"_proposal","type":"string"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"adminAmendBallot","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"name":"ballotVoteCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"administrator","outputs":[{"name":"adminAddress","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"}],"payable":false,"type":"constructor"},{"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
60606040526000600460006101000a81548163ffffffff021916908363ffffffff160217905550341561002e57fe5b6040516020806120bb833981016040528080519060200190919050505b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060018190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b611fd2806100e96000396000f30060606040523615610147576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610149578063095ea7b3146101e257806318160ddd1461023957806323b872dd1461025f5780632db78d88146102d5578063313ce567146102fb5780634beb031b1461032757806351b9a2f81461035957806362ec8e53146103b257806364445d9e1461041e57806370a08231146104965780637c858e02146104e057806380f89a31146105795780638e4fa7881461062657806395d89b4114610674578063a9059cbb1461070d578063a95bfd3614610764578063b5e989c7146107cd578063ba9a4d6e14610889578063cdc62d39146108e6578063cff9293a14610945578063dd62ed3e1461097a578063dda0c1d6146109e3578063e927ea7a14610a5e578063f53d0a8e14610aa7575bfe5b341561015157fe5b610159610af9565b60405180806020018281038252838181518152602001915080519060200190808383600083146101a8575b8051825260208311156101a857602082019150602081019050602083039250610184565b505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ea57fe5b61021f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b33565b604051808215151515815260200191505060405180910390f35b341561024157fe5b610249610c26565b6040518082815260200191505060405180910390f35b341561026757fe5b6102bb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c31565b604051808215151515815260200191505060405180910390f35b34156102dd57fe5b6102f9600480803563ffffffff16906020019091905050610f4f565b005b341561030357fe5b61030b61103f565b604051808260ff1660ff16815260200191505060405180910390f35b341561032f57fe5b610337611044565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561036157fe5b61039c600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061105a565b6040518082815260200191505060405180910390f35b34156103ba57fe5b61041c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190505061107f565b005b341561042657fe5b610494600480803563ffffffff1690602001909190803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611212565b005b341561049e57fe5b6104ca600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061137a565b6040518082815260200191505060405180910390f35b34156104e857fe5b6104f06113c4565b604051808060200182810382528381815181526020019150805190602001908083836000831461053f575b80518252602083111561053f5760208201915060208101905060208303925061051b565b505050905090810190601f16801561056b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058157fe5b61059d600480803563ffffffff169060200190919050506113fe565b60405180806020018281038252838181518152602001915080519060200190808383600083146105ec575b8051825260208311156105ec576020820191506020810190506020830392506105c8565b505050905090810190601f1680156106185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062e57fe5b61065a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114ae565b604051808215151515815260200191505060405180910390f35b341561067c57fe5b610684611520565b60405180806020018281038252838181518152602001915080519060200190808383600083146106d3575b8051825260208311156106d3576020820191506020810190506020830392506106af565b505050905090810190601f1680156106ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561071557fe5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061155a565b604051808215151515815260200191505060405180910390f35b341561076c57fe5b6107cb600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611765565b005b34156107d557fe5b610800600480803563ffffffff1690602001909190803563ffffffff169060200190919050506118fb565b604051808060200182810382528381815181526020019150805190602001908083836000831461084f575b80518252602083111561084f5760208201915060208101905060208303925061082b565b505050905090810190601f16801561087b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561089157fe5b6108cc600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119b8565b604051808215151515815260200191505060405180910390f35b34156108ee57fe5b61090a600480803563ffffffff16906020019091905050611a23565b604051808581526020018481526020018363ffffffff1663ffffffff1681526020018215151515815260200194505050505060405180910390f35b341561094d57fe5b610978600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611a70565b005b341561098257fe5b6109cd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c5a565b6040518082815260200191505060405180910390f35b34156109eb57fe5b610a5c600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091905050611ce2565b005b3415610a6657fe5b610a91600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611e08565b6040518082815260200191505060405180910390f35b3415610aaf57fe5b610ab7611e2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b604060405190810160405280600681526020017f4149436f696e000000000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600060015490505b90565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610cfe575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610d0a5750600082115b8015610d955750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b8015610da75750610da5846114ae565b155b15610f3e5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610f48565b60009050610f48565b5b9392505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fac5760006000fd5b60008163ffffffff16118015610fe05750600460009054906101000a900463ffffffff1663ffffffff168163ffffffff1611155b1515610fec5760006000fd5b610ff581611e58565b156110005760006000fd5b6001600660008363ffffffff1663ffffffff16815260200190815260200160002060020160046101000a81548160ff0219169083151502179055505b50565b600881565b600460009054906101000a900463ffffffff1681565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110de5760006000fd5b6004600081819054906101000a900463ffffffff168092919060010191906101000a81548163ffffffff021916908363ffffffff16021790555050600460009054906101000a900463ffffffff16905083600560008363ffffffff1663ffffffff1681526020019081526020016000209080519060200190611161929190611f01565b50608060405190810160405280848152602001838152602001600063ffffffff16815260200160001515815250600660008363ffffffff1663ffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020160046101000a81548160ff0219169083151502179055509050505b50505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126f5760006000fd5b60008363ffffffff161180156112a35750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156112af5760006000fd5b6112b883611e58565b156112c35760006000fd5b60008263ffffffff161180156113175750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b15156113235760006000fd5b80600760008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000209080519060200190611373929190611f01565b505b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b604060405190810160405280600a81526020017f486f66737461647465720000000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a65780601f1061147b576101008083540402835291602001916114a6565b820191906000526020600020905b81548152906001019060200180831161148957829003601f168201915b505050505081565b60006000600190505b600460009054906101000a900463ffffffff1663ffffffff168163ffffffff16111515611515576114e781611e92565b80156114f957506114f881846119b8565b5b15611507576001915061151a565b5b80806001019150506114b7565b600091505b50919050565b604060405190810160405280600381526020017f584149000000000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156115ab5750600082115b80156116365750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b80156116485750611646336114ae565b155b156117555781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061175f565b6000905061175f565b5b92915050565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c45760006000fd5b60008363ffffffff161180156117f85750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156118045760006000fd5b61180d83611e58565b156118185760006000fd5b6001600660008563ffffffff1663ffffffff16815260200190815260200160002060020160008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff160217905550600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff16905081600760008563ffffffff1663ffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002090805190602001906118f4929190611f01565b505b505050565b6007602052816000526040600020602052806000526040600020600091509150508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b05780601f10611985576101008083540402835291602001916119b0565b820191906000526020600020905b81548152906001019060200180831161199357829003601f168201915b505050505081565b60006000600860008563ffffffff1663ffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541190505b92915050565b60066020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900463ffffffff16908060020160049054906101000a900460ff16905084565b600060008363ffffffff16118015611aa65750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b1515611ab25760006000fd5b611abb83611e92565b1515611ac75760006000fd5b600860008463ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2d3361137a565b039050600081111515611b405760006000fd5b60008263ffffffff16118015611b945750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b1515611ba05760006000fd5b80600960008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000206000828254019250508190555080600860008563ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d3f5760006000fd5b60008463ffffffff16118015611d735750600460009054906101000a900463ffffffff1663ffffffff168463ffffffff1611155b1515611d7f5760006000fd5b82600560008663ffffffff1663ffffffff1681526020019081526020016000209080519060200190611db2929190611f01565b5081600660008663ffffffff1663ffffffff1681526020019081526020016000206000018190555080600660008663ffffffff1663ffffffff168152602001908152602001600020600101819055505b50505050565b6009602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b6000600660008363ffffffff1663ffffffff16815260200190815260200160002060020160049054906101000a900460ff1690505b919050565b6000611e9d82611e58565b8015611ecb575042600660008463ffffffff1663ffffffff1681526020019081526020016000206000015411155b8015611ef9575042600660008463ffffffff1663ffffffff1681526020019081526020016000206001015410155b90505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f4257805160ff1916838001178555611f70565b82800160010185558215611f70579182015b82811115611f6f578251825591602001919060010190611f54565b5b509050611f7d9190611f81565b5090565b611fa391905b80821115611f9f576000816000905550600101611f87565b5090565b905600a165627a7a723058202ddfb56690bcb419a0e6e5929f5558b1cdc4df000de325a956fa787217bb60630029000000000000000000000000000000000000000000000000001b751d3558960c
Deployed Bytecode
0x60606040523615610147576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610149578063095ea7b3146101e257806318160ddd1461023957806323b872dd1461025f5780632db78d88146102d5578063313ce567146102fb5780634beb031b1461032757806351b9a2f81461035957806362ec8e53146103b257806364445d9e1461041e57806370a08231146104965780637c858e02146104e057806380f89a31146105795780638e4fa7881461062657806395d89b4114610674578063a9059cbb1461070d578063a95bfd3614610764578063b5e989c7146107cd578063ba9a4d6e14610889578063cdc62d39146108e6578063cff9293a14610945578063dd62ed3e1461097a578063dda0c1d6146109e3578063e927ea7a14610a5e578063f53d0a8e14610aa7575bfe5b341561015157fe5b610159610af9565b60405180806020018281038252838181518152602001915080519060200190808383600083146101a8575b8051825260208311156101a857602082019150602081019050602083039250610184565b505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ea57fe5b61021f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b33565b604051808215151515815260200191505060405180910390f35b341561024157fe5b610249610c26565b6040518082815260200191505060405180910390f35b341561026757fe5b6102bb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c31565b604051808215151515815260200191505060405180910390f35b34156102dd57fe5b6102f9600480803563ffffffff16906020019091905050610f4f565b005b341561030357fe5b61030b61103f565b604051808260ff1660ff16815260200191505060405180910390f35b341561032f57fe5b610337611044565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561036157fe5b61039c600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061105a565b6040518082815260200191505060405180910390f35b34156103ba57fe5b61041c600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190505061107f565b005b341561042657fe5b610494600480803563ffffffff1690602001909190803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611212565b005b341561049e57fe5b6104ca600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061137a565b6040518082815260200191505060405180910390f35b34156104e857fe5b6104f06113c4565b604051808060200182810382528381815181526020019150805190602001908083836000831461053f575b80518252602083111561053f5760208201915060208101905060208303925061051b565b505050905090810190601f16801561056b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058157fe5b61059d600480803563ffffffff169060200190919050506113fe565b60405180806020018281038252838181518152602001915080519060200190808383600083146105ec575b8051825260208311156105ec576020820191506020810190506020830392506105c8565b505050905090810190601f1680156106185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062e57fe5b61065a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114ae565b604051808215151515815260200191505060405180910390f35b341561067c57fe5b610684611520565b60405180806020018281038252838181518152602001915080519060200190808383600083146106d3575b8051825260208311156106d3576020820191506020810190506020830392506106af565b505050905090810190601f1680156106ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561071557fe5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061155a565b604051808215151515815260200191505060405180910390f35b341561076c57fe5b6107cb600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611765565b005b34156107d557fe5b610800600480803563ffffffff1690602001909190803563ffffffff169060200190919050506118fb565b604051808060200182810382528381815181526020019150805190602001908083836000831461084f575b80518252602083111561084f5760208201915060208101905060208303925061082b565b505050905090810190601f16801561087b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561089157fe5b6108cc600480803563ffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119b8565b604051808215151515815260200191505060405180910390f35b34156108ee57fe5b61090a600480803563ffffffff16906020019091905050611a23565b604051808581526020018481526020018363ffffffff1663ffffffff1681526020018215151515815260200194505050505060405180910390f35b341561094d57fe5b610978600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611a70565b005b341561098257fe5b6109cd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c5a565b6040518082815260200191505060405180910390f35b34156109eb57fe5b610a5c600480803563ffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091905050611ce2565b005b3415610a6657fe5b610a91600480803563ffffffff1690602001909190803563ffffffff16906020019091905050611e08565b6040518082815260200191505060405180910390f35b3415610aaf57fe5b610ab7611e2d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b604060405190810160405280600681526020017f4149436f696e000000000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600060015490505b90565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610cfe575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610d0a5750600082115b8015610d955750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b8015610da75750610da5846114ae565b155b15610f3e5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610f48565b60009050610f48565b5b9392505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fac5760006000fd5b60008163ffffffff16118015610fe05750600460009054906101000a900463ffffffff1663ffffffff168163ffffffff1611155b1515610fec5760006000fd5b610ff581611e58565b156110005760006000fd5b6001600660008363ffffffff1663ffffffff16815260200190815260200160002060020160046101000a81548160ff0219169083151502179055505b50565b600881565b600460009054906101000a900463ffffffff1681565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110de5760006000fd5b6004600081819054906101000a900463ffffffff168092919060010191906101000a81548163ffffffff021916908363ffffffff16021790555050600460009054906101000a900463ffffffff16905083600560008363ffffffff1663ffffffff1681526020019081526020016000209080519060200190611161929190611f01565b50608060405190810160405280848152602001838152602001600063ffffffff16815260200160001515815250600660008363ffffffff1663ffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020160046101000a81548160ff0219169083151502179055509050505b50505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126f5760006000fd5b60008363ffffffff161180156112a35750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156112af5760006000fd5b6112b883611e58565b156112c35760006000fd5b60008263ffffffff161180156113175750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b15156113235760006000fd5b80600760008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000209080519060200190611373929190611f01565b505b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b604060405190810160405280600a81526020017f486f66737461647465720000000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a65780601f1061147b576101008083540402835291602001916114a6565b820191906000526020600020905b81548152906001019060200180831161148957829003601f168201915b505050505081565b60006000600190505b600460009054906101000a900463ffffffff1663ffffffff168163ffffffff16111515611515576114e781611e92565b80156114f957506114f881846119b8565b5b15611507576001915061151a565b5b80806001019150506114b7565b600091505b50919050565b604060405190810160405280600381526020017f584149000000000000000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156115ab5750600082115b80156116365750600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b80156116485750611646336114ae565b155b156117555781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061175f565b6000905061175f565b5b92915050565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c45760006000fd5b60008363ffffffff161180156117f85750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b15156118045760006000fd5b61180d83611e58565b156118185760006000fd5b6001600660008563ffffffff1663ffffffff16815260200190815260200160002060020160008282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff160217905550600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff16905081600760008563ffffffff1663ffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002090805190602001906118f4929190611f01565b505b505050565b6007602052816000526040600020602052806000526040600020600091509150508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b05780601f10611985576101008083540402835291602001916119b0565b820191906000526020600020905b81548152906001019060200180831161199357829003601f168201915b505050505081565b60006000600860008563ffffffff1663ffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541190505b92915050565b60066020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900463ffffffff16908060020160049054906101000a900460ff16905084565b600060008363ffffffff16118015611aa65750600460009054906101000a900463ffffffff1663ffffffff168363ffffffff1611155b1515611ab25760006000fd5b611abb83611e92565b1515611ac75760006000fd5b600860008463ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2d3361137a565b039050600081111515611b405760006000fd5b60008263ffffffff16118015611b945750600660008463ffffffff1663ffffffff16815260200190815260200160002060020160009054906101000a900463ffffffff1663ffffffff168263ffffffff1611155b1515611ba05760006000fd5b80600960008563ffffffff1663ffffffff16815260200190815260200160002060008463ffffffff1663ffffffff1681526020019081526020016000206000828254019250508190555080600860008563ffffffff1663ffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d3f5760006000fd5b60008463ffffffff16118015611d735750600460009054906101000a900463ffffffff1663ffffffff168463ffffffff1611155b1515611d7f5760006000fd5b82600560008663ffffffff1663ffffffff1681526020019081526020016000209080519060200190611db2929190611f01565b5081600660008663ffffffff1663ffffffff1681526020019081526020016000206000018190555080600660008663ffffffff1663ffffffff168152602001908152602001600020600101819055505b50505050565b6009602052816000526040600020602052806000526040600020600091509150505481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b6000600660008363ffffffff1663ffffffff16815260200190815260200160002060020160049054906101000a900460ff1690505b919050565b6000611e9d82611e58565b8015611ecb575042600660008463ffffffff1663ffffffff1681526020019081526020016000206000015411155b8015611ef9575042600660008463ffffffff1663ffffffff1681526020019081526020016000206001015410155b90505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f4257805160ff1916838001178555611f70565b82800160010185558215611f70579182015b82811115611f6f578251825591602001919060010190611f54565b5b509050611f7d9190611f81565b5090565b611fa391905b80821115611f9f576000816000905550600101611f87565b5090565b905600a165627a7a723058202ddfb56690bcb419a0e6e5929f5558b1cdc4df000de325a956fa787217bb60630029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000001b751d3558960c
-----Decoded View---------------
Arg [0] : _initialSupply (uint256): 7728592680687116
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000001b751d3558960c
Swarm Source
bzzr://2ddfb56690bcb419a0e6e5929f5558b1cdc4df000de325a956fa787217bb6063
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.