KickICO token contract has migrated to a new address.
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 177,008 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21496413 | 109 days ago | IN | 0 ETH | 0.00025772 | ||||
Transfer | 21356924 | 128 days ago | IN | 0 ETH | 0.0017374 | ||||
Transfer | 21009734 | 177 days ago | IN | 0 ETH | 0.0013717 | ||||
Transfer | 20453430 | 254 days ago | IN | 0 ETH | 0.0003 | ||||
Transfer | 20024024 | 314 days ago | IN | 0 ETH | 0.0008863 | ||||
Approve | 19892424 | 333 days ago | IN | 0 ETH | 0.00008292 | ||||
Transfer | 19600903 | 373 days ago | IN | 0 ETH | 0.0024 | ||||
Transfer | 19454382 | 394 days ago | IN | 0 ETH | 0.0048 | ||||
Transfer | 19454307 | 394 days ago | IN | 0 ETH | 0.00435 | ||||
Approve | 19217699 | 427 days ago | IN | 0 ETH | 0.00044643 | ||||
Transfer | 18897131 | 472 days ago | IN | 0 ETH | 0.0034 | ||||
Transfer | 18763089 | 491 days ago | IN | 0.0308569 ETH | 0.000504 | ||||
Transfer | 18532267 | 523 days ago | IN | 0 ETH | 0.0056 | ||||
Approve | 18053165 | 590 days ago | IN | 0 ETH | 0.0002523 | ||||
Transfer | 17944937 | 606 days ago | IN | 0 ETH | 0.00050633 | ||||
Burn | 17786367 | 628 days ago | IN | 0 ETH | 0.00205338 | ||||
Burn | 17786362 | 628 days ago | IN | 0 ETH | 0.00255736 | ||||
Transfer | 17615160 | 652 days ago | IN | 0 ETH | 0.00207548 | ||||
Transfer | 17591633 | 655 days ago | IN | 0 ETH | 0.00423565 | ||||
Transfer | 17506510 | 667 days ago | IN | 0 ETH | 0.00255 | ||||
Approve | 17111050 | 723 days ago | IN | 0 ETH | 0.00107047 | ||||
Transfer | 17040498 | 733 days ago | IN | 0 ETH | 0.007 | ||||
Transfer | 16731350 | 776 days ago | IN | 0 ETH | 0.0038 | ||||
Approve | 16032340 | 874 days ago | IN | 0 ETH | 0.00030398 | ||||
Transfer | 15463689 | 955 days ago | IN | 0 ETH | 0.00027943 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|---|
Transfer | 15248394 | 989 days ago | 0 ETH | |||||
Transfer | 15248372 | 989 days ago | 0 ETH | |||||
Transfer | 15248165 | 989 days ago | 0 ETH | |||||
Transfer | 15199055 | 997 days ago | 0 ETH | |||||
Transfer | 12613278 | 1404 days ago | 0 ETH | |||||
Transfer | 12345697 | 1445 days ago | 0 ETH | |||||
Transfer From | 11828636 | 1525 days ago | 0 ETH | |||||
Transfer | 11624835 | 1556 days ago | 0 ETH | |||||
Transfer | 11624724 | 1556 days ago | 0 ETH | |||||
Transfer | 11624674 | 1556 days ago | 0 ETH | |||||
Transfer From | 11464371 | 1581 days ago | 0 ETH | |||||
Transfer From | 11464368 | 1581 days ago | 0 ETH | |||||
Transfer From | 11464354 | 1581 days ago | 0 ETH | |||||
Transfer | 11413401 | 1589 days ago | 0 ETH | |||||
Transfer | 11236230 | 1616 days ago | 0 ETH | |||||
Transfer | 11072046 | 1641 days ago | 0 ETH | |||||
Transfer | 11048710 | 1645 days ago | 0 ETH | |||||
Transfer | 11046247 | 1645 days ago | 0 ETH | |||||
Transfer | 11038935 | 1646 days ago | 0 ETH | |||||
Transfer | 10982516 | 1655 days ago | 0 ETH | |||||
Transfer | 10971747 | 1657 days ago | 0 ETH | |||||
Transfer | 10630859 | 1709 days ago | 0 ETH | |||||
Transfer From | 10594538 | 1715 days ago | 0 ETH | |||||
Transfer From | 10513028 | 1727 days ago | 0 ETH | |||||
Transfer From | 10497977 | 1730 days ago | 0 ETH |
Loading...
Loading
Contract Name:
CSToken
Compiler Version
v0.4.16+commit.d7661dd9
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-09-25 */ pragma solidity ^0.4.2; contract owned { address public owner; function owned() { owner = msg.sender; } function changeOwner(address newOwner) onlyOwner { owner = newOwner; } modifier onlyOwner { require(msg.sender == owner); _; } } contract tokenRecipient {function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);} contract Utils { /** constructor */ function Utils() { } // validates an address - currently only checks that it isn't null modifier validAddress(address _address) { require(_address != 0x0); _; } // verifies that the address is different than this contract address modifier notThis(address _address) { require(_address != address(this)); _; } // Overflow protected math functions /** @dev returns the sum of _x and _y, asserts if the calculation overflows @param _x value 1 @param _y value 2 @return sum */ function safeAdd(uint256 _x, uint256 _y) internal returns (uint256) { uint256 z = _x + _y; assert(z >= _x); return z; } /** @dev returns the difference of _x minus _y, asserts if the subtraction results in a negative number @param _x minuend @param _y subtrahend @return difference */ function safeSub(uint256 _x, uint256 _y) internal returns (uint256) { assert(_x >= _y); return _x - _y; } } contract CSToken is owned, Utils { struct Dividend {uint256 time; uint256 tenThousandth; uint256 countComplete;} /* Public variables of the token */ string public standard = 'Token 0.1'; string public name = 'KickCoin'; string public symbol = 'KICK'; uint8 public decimals = 8; uint256 _totalSupply = 0; /* Is allowed to burn tokens */ bool public allowManuallyBurnTokens = true; /* This creates an array with all balances */ mapping (address => uint256) balances; mapping (address => mapping (uint256 => uint256)) public agingBalanceOf; uint[] agingTimes; Dividend[] dividends; mapping (address => mapping (address => uint256)) allowed; /* This generates a public event on the blockchain that will notify clients */ event Transfer(address indexed from, address indexed to, uint256 value); event AgingTransfer(address indexed from, address indexed to, uint256 value, uint256 agingTime); event Approval(address indexed _owner, address indexed _spender, uint256 _value); // triggered when the total supply is increased event Issuance(uint256 _amount); // triggered when the total supply is decreased event Destruction(uint256 _amount); // This notifies clients about the amount burnt event Burn(address indexed from, uint256 value); address[] public addressByIndex; mapping (address => bool) addressAddedToIndex; mapping (address => uint) agingTimesForPools; uint16 currentDividendIndex = 1; mapping (address => uint) calculatedDividendsIndex; bool public transfersEnabled = true; event NewSmartToken(address _token); /* Initializes contract with initial supply tokens to the creator of the contract */ function CSToken() { owner = msg.sender; // So that the index starts with 1 dividends.push(Dividend(0, 0, 0)); // 31.10.2017 09:00:00 dividends.push(Dividend(1509440400, 30, 0)); // 30.11.2017 09:00:00 dividends.push(Dividend(1512032400, 20, 0)); // 31.12.2017 09:00:00 dividends.push(Dividend(1514710800, 10, 0)); // 31.01.2018 09:00:00 dividends.push(Dividend(1517389200, 5, 0)); // 28.02.2018 09:00:00 dividends.push(Dividend(1519808400, 10, 0)); // 31.03.2018 09:00:00 dividends.push(Dividend(1522486800, 20, 0)); // 30.04.2018 09:00:00 dividends.push(Dividend(1525078800, 30, 0)); // 31.05.2018 09:00:00 dividends.push(Dividend(1527757200, 50, 0)); // 30.06.2018 09:00:00 dividends.push(Dividend(1530349200, 30, 0)); // 31.07.2018 09:00:00 dividends.push(Dividend(1533027600, 20, 0)); // 31.08.2018 09:00:00 dividends.push(Dividend(1535706000, 10, 0)); // 30.09.2018 09:00:00 dividends.push(Dividend(1538298000, 5, 0)); // 31.10.2018 09:00:00 dividends.push(Dividend(1540976400, 10, 0)); // 30.11.2018 09:00:00 dividends.push(Dividend(1543568400, 20, 0)); // 31.12.2018 09:00:00 dividends.push(Dividend(1546246800, 30, 0)); // 31.01.2019 09:00:00 dividends.push(Dividend(1548925200, 60, 0)); // 28.02.2019 09:00:00 dividends.push(Dividend(1551344400, 30, 0)); // 31.03.2019 09:00:00 dividends.push(Dividend(1554022800, 20, 0)); // 30.04.2019 09:00:00 dividends.push(Dividend(1556614800, 10, 0)); // 31.05.2019 09:00:00 dividends.push(Dividend(1559307600, 20, 0)); // 30.06.2019 09:00:00 dividends.push(Dividend(1561885200, 30, 0)); // 31.07.2019 09:00:00 dividends.push(Dividend(1564563600, 20, 0)); // 31.08.2019 09:00:00 dividends.push(Dividend(1567242000, 10, 0)); // 30.09.2019 09:00:00 dividends.push(Dividend(1569834000, 5, 0)); NewSmartToken(address(this)); } modifier transfersAllowed { assert(transfersEnabled); _; } function totalSupply() constant returns (uint256 totalSupply) { totalSupply = _totalSupply; } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } bool allAgingTimesHasBeenAdded = false; function addAgingTime(uint256 time) onlyOwner { require(!allAgingTimesHasBeenAdded); agingTimes.push(time); } function allAgingTimesAdded() onlyOwner { allAgingTimesHasBeenAdded = true; } function calculateDividends(uint256 limit) { require(now >= dividends[currentDividendIndex].time); require(limit > 0); limit = safeAdd(dividends[currentDividendIndex].countComplete, limit); if (limit > addressByIndex.length) { limit = addressByIndex.length; } for (uint256 i = dividends[currentDividendIndex].countComplete; i < limit; i++) { _addDividendsForAddress(addressByIndex[i]); } if (limit == addressByIndex.length) { currentDividendIndex++; } else { dividends[currentDividendIndex].countComplete = limit; } } /* User can himself receive dividends without waiting for a global accruals */ function receiveDividends() public { require(now >= dividends[currentDividendIndex].time); assert(_addDividendsForAddress(msg.sender)); } function _addDividendsForAddress(address _address) internal returns (bool success) { // skip calculating dividends, if already calculated for this address if (calculatedDividendsIndex[_address] >= currentDividendIndex) return false; uint256 add = balances[_address] * dividends[currentDividendIndex].tenThousandth / 1000; balances[_address] = safeAdd(balances[_address], add); Transfer(this, _address, add); Issuance(add); _totalSupply = safeAdd(_totalSupply, add); if (agingBalanceOf[_address][0] > 0) { agingBalanceOf[_address][0] = safeAdd(agingBalanceOf[_address][0], agingBalanceOf[_address][0] * dividends[currentDividendIndex].tenThousandth / 1000); for (uint256 k = 0; k < agingTimes.length; k++) { agingBalanceOf[_address][agingTimes[k]] = safeAdd(agingBalanceOf[_address][agingTimes[k]], agingBalanceOf[_address][agingTimes[k]] * dividends[currentDividendIndex].tenThousandth / 1000); } } calculatedDividendsIndex[_address] = currentDividendIndex; return true; } /* Send coins */ function transfer(address _to, uint256 _value) transfersAllowed returns (bool success) { _checkMyAging(msg.sender); if (currentDividendIndex < dividends.length && now >= dividends[currentDividendIndex].time) { _addDividendsForAddress(msg.sender); _addDividendsForAddress(_to); } require(accountBalance(msg.sender) >= _value); // Subtract from the sender balances[msg.sender] = safeSub(balances[msg.sender], _value); if (agingTimesForPools[msg.sender] > 0 && agingTimesForPools[msg.sender] > now) { _addToAging(msg.sender, _to, agingTimesForPools[msg.sender], _value); } balances[_to] = safeAdd(balances[_to], _value); _addIndex(_to); Transfer(msg.sender, _to, _value); return true; } function mintToken(address target, uint256 mintedAmount, uint256 agingTime) onlyOwner { if (agingTime > now) { _addToAging(owner, target, agingTime, mintedAmount); } balances[target] = safeAdd(balances[target], mintedAmount); _totalSupply = safeAdd(_totalSupply, mintedAmount); Issuance(mintedAmount); _addIndex(target); Transfer(this, target, mintedAmount); } function _addIndex(address _address) internal { if (!addressAddedToIndex[_address]) { addressAddedToIndex[_address] = true; addressByIndex.push(_address); } } function _addToAging(address from, address target, uint256 agingTime, uint256 amount) internal { agingBalanceOf[target][0] = safeAdd(agingBalanceOf[target][0], amount); agingBalanceOf[target][agingTime] = safeAdd(agingBalanceOf[target][agingTime], amount); AgingTransfer(from, target, amount, agingTime); } /* Allow another contract to spend some tokens in your behalf */ function approve(address _spender, uint256 _value) returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /* Approve and then communicate the approved contract in a single tx */ function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, this, _extraData); return true; } } /* A contract attempts to get the coins */ function transferFrom(address _from, address _to, uint256 _value) transfersAllowed returns (bool success) { _checkMyAging(_from); if (currentDividendIndex < dividends.length && now >= dividends[currentDividendIndex].time) { _addDividendsForAddress(_from); _addDividendsForAddress(_to); } // Check if the sender has enough require(accountBalance(_from) >= _value); // Check allowed require(_value <= allowed[_from][msg.sender]); // Subtract from the sender balances[_from] = safeSub(balances[_from], _value); // Add the same to the recipient balances[_to] = safeAdd(balances[_to], _value); allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender], _value); if (agingTimesForPools[_from] > 0 && agingTimesForPools[_from] > now) { _addToAging(_from, _to, agingTimesForPools[_from], _value); } _addIndex(_to); Transfer(_from, _to, _value); return true; } /* This unnamed function is called whenever someone tries to send ether to it */ function() { revert(); // Prevents accidental sending of ether } function _checkMyAging(address sender) internal { if (agingBalanceOf[sender][0] == 0) return; for (uint256 k = 0; k < agingTimes.length; k++) { if (agingTimes[k] < now) { agingBalanceOf[sender][0] = safeSub(agingBalanceOf[sender][0], agingBalanceOf[sender][agingTimes[k]]); agingBalanceOf[sender][agingTimes[k]] = 0; } } } function addAgingTimesForPool(address poolAddress, uint256 agingTime) onlyOwner { agingTimesForPools[poolAddress] = agingTime; } function countAddresses() constant returns (uint256 length) { return addressByIndex.length; } function accountBalance(address _address) constant returns (uint256 balance) { return safeSub(balances[_address], agingBalanceOf[_address][0]); } function disableTransfers(bool _disable) public onlyOwner { transfersEnabled = !_disable; } function issue(address _to, uint256 _amount) public onlyOwner validAddress(_to) notThis(_to) { _totalSupply = safeAdd(_totalSupply, _amount); balances[_to] = safeAdd(balances[_to], _amount); _addIndex(_to); Issuance(_amount); Transfer(this, _to, _amount); } /** * Destroy tokens * Remove `_value` tokens from the system irreversibly * @param _value the amount of money to burn */ function burn(uint256 _value) returns (bool success) { destroy(msg.sender, _value); Burn(msg.sender, _value); return true; } /** * Destroy tokens * Remove `_amount` tokens from the system irreversibly * @param _from the address from which tokens will be burnt * @param _amount the amount of money to burn */ function destroy(address _from, uint256 _amount) public { _checkMyAging(_from); // validate input require((msg.sender == _from && allowManuallyBurnTokens) || msg.sender == owner); require(accountBalance(_from) >= _amount); balances[_from] = safeSub(balances[_from], _amount); _totalSupply = safeSub(_totalSupply, _amount); Transfer(_from, this, _amount); Destruction(_amount); } function disableManuallyBurnTokens(bool _disable) public onlyOwner { allowManuallyBurnTokens = !_disable; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[],"name":"allAgingTimesAdded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_disable","type":"bool"}],"name":"disableTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"},{"name":"agingTime","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"limit","type":"uint256"}],"name":"calculateDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allowManuallyBurnTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_disable","type":"bool"}],"name":"disableManuallyBurnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"receiveDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"time","type":"uint256"}],"name":"addAgingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"}],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfersEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"accountBalance","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addressByIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"agingBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"poolAddress","type":"address"},{"name":"agingTime","type":"uint256"}],"name":"addAgingTimesForPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"countAddresses","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"agingTime","type":"uint256"}],"name":"AgingTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Issuance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Destruction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_token","type":"address"}],"name":"NewSmartToken","type":"event"}]
Contract Creation Code
606060405260408051908101604052600981527f546f6b656e20302e310000000000000000000000000000000000000000000000602082015260019080516200004d92916020019062000b6c565b5060408051908101604052600881527f4b69636b436f696e000000000000000000000000000000000000000000000000602082015260029080516200009792916020019062000b6c565b5060408051908101604052600481527f4b49434b0000000000000000000000000000000000000000000000000000000060208201526003908051620000e192916020019062000b6c565b5060048054600860ff199182161790915560006005556006805482166001908117909155600f805461ffff191682179055601180549092161761ff001916905534156200012d57600080fd5b5b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b60008054600160a060020a03191633600160a060020a0316179055600a8054600181016200017c838262000bf2565b916000526020600020906003020160005b6060604051908101604090815260008083526020830181905290820152919050815181556020820151816001015560408201516002909101555050600a805460018101620001dc838262000bf2565b916000526020600020906003020160005b606060405190810160409081526359f83b908252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000240838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a1fc890825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620002a4838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a48a7108252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000308838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a718590825260056020830152600090820152919050815181556020820151816001015560408201516002909101555050600a8054600181016200036c838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a966f908252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620003d0838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635abf4e10825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000434838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635ae6db108252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000498838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b0fb990825260326020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620004fc838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b3746908252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000560838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b602510825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620005c4838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b8903908252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000628838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635bb09090825260056020830152600090820152919050815181556020820151816001015560408201516002909101555050600a8054600181016200068c838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635bd96f108252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620006f0838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c00fc10825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000754838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c29da908252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620007b8838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c52b9108252603c6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a8054600181016200081c838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c77a3108252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000880838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635ca08190825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620008e4838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635cc80e908252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000948838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635cf12550825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620009ac838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d187a108252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000a10838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d415890825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000a74838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d6a37108252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000ad8838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d91c4108252600560208301526000908201529190508151815560208201518160010155604082015181600201555050507ff4cd1f8571e8d9c97ffcb81558807ab73f9803d54de5da6a0420593c82a4a9f030604051600160a060020a03909116815260200160405180910390a15b62000c7c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000baf57805160ff191683800117855562000bdf565b8280016001018555821562000bdf579182015b8281111562000bdf57825182559160200191906001019062000bc2565b5b5062000bee92915062000c27565b5090565b81548183558181151162000c215760030281600302836000526020600020918201910162000c21919062000c4b565b5b505050565b62000c4891905b8082111562000bee576000815560010162000c2e565b5090565b90565b62000c4891905b8082111562000bee57600080825560018201819055600282015560030162000c52565b5090565b90565b611d968062000c8c6000396000f3006060604052361561017d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663037ca6c4811461019057806306fdde03146101a5578063095ea7b3146102305780631608f18f1461026657806318160ddd1461028057806323a36d2b146102a557806323b872dd146102cc5780632cf860061461030857806330762e2e14610320578063313ce5671461034757806342966c68146103705780635a3b7e421461039a57806370a082311461042557806371766ae31461045657806379fc468714610470578063867904b4146104855780638d37f52c146104a95780638da5cb5b146104c157806395d89b41146104f0578063a24835d11461057b578063a6f9dae11461059f578063a9059cbb146105c0578063bef97c87146105f6578063cae9ca511461061d578063d294cb0f14610696578063d8ab9208146106c7578063dd62ed3e146106f9578063e27f023614610730578063ea6ca18214610764578063ec530de614610788575b341561018857600080fd5b5b600080fd5b005b341561019b57600080fd5b61018e6107ad565b005b34156101b057600080fd5b6101b86107db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023b57600080fd5b610252600160a060020a0360043516602435610879565b604051901515815260200160405180910390f35b341561027157600080fd5b61018e60043515156108e6565b005b341561028b57600080fd5b610293610913565b60405190815260200160405180910390f35b34156102b057600080fd5b61018e600160a060020a036004351660243560443561091a565b005b34156102d757600080fd5b610252600160a060020a0360043581169060243516604435610a1a565b604051901515815260200160405180910390f35b341561031357600080fd5b61018e600435610c3c565b005b341561032b57600080fd5b610252610d97565b604051901515815260200160405180910390f35b341561035257600080fd5b61035a610da0565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b610252600435610da9565b604051901515815260200160405180910390f35b34156103a557600080fd5b6101b8610dfb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043057600080fd5b610293600160a060020a0360043516610e99565b60405190815260200160405180910390f35b341561046157600080fd5b61018e6004351515610eb8565b005b341561047b57600080fd5b61018e610ee5565b005b341561049057600080fd5b61018e600160a060020a0360043516602435610f2e565b005b34156104b457600080fd5b61018e600435611047565b005b34156104cc57600080fd5b6104d46110a1565b604051600160a060020a03909116815260200160405180910390f35b34156104fb57600080fd5b6101b86110b0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058657600080fd5b61018e600160a060020a036004351660243561114e565b005b34156105aa57600080fd5b61018e600160a060020a0360043516611266565b005b34156105cb57600080fd5b610252600160a060020a03600435166024356112ae565b604051901515815260200160405180910390f35b341561060157600080fd5b610252611457565b604051901515815260200160405180910390f35b341561062857600080fd5b61025260048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061146095505050505050565b604051901515815260200160405180910390f35b34156106a157600080fd5b610293600160a060020a0360043516611594565b60405190815260200160405180910390f35b34156106d257600080fd5b6104d46004356115d2565b604051600160a060020a03909116815260200160405180910390f35b341561070457600080fd5b610293600160a060020a0360043581169060243516611604565b60405190815260200160405180910390f35b341561073b57600080fd5b610293600160a060020a0360043516602435611631565b60405190815260200160405180910390f35b341561076f57600080fd5b61018e600160a060020a036004351660243561164e565b005b341561079357600080fd5b61029361168a565b60405190815260200160405180910390f35b60005433600160a060020a039081169116146107c857600080fd5b6011805461ff0019166101001790555b5b565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a033381166000818152600b6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005433600160a060020a0390811691161461090157600080fd5b6011805460ff191682151790555b5b50565b6005545b90565b60005433600160a060020a0390811691161461093557600080fd5b428111156109555760005461095590600160a060020a0316848385611691565b5b600160a060020a0383166000908152600760205260409020546109799083611767565b600160a060020a03841660009081526007602052604090205560055461099f9083611767565b6005557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a16109de83611781565b82600160a060020a031630600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35b5b505050565b60115460009060ff161515610a2b57fe5b610a348461180d565b600a54600f5461ffff16108015610a735750600f54600a8054909161ffff16908110610a5c57fe5b906000526020600020906003020160005b50544210155b15610a8d57610a8184611946565b50610a8b83611946565b505b81610a9785611594565b1015610aa257600080fd5b600160a060020a038085166000908152600b602090815260408083203390941683529290522054821115610ad557600080fd5b600160a060020a038416600090815260076020526040902054610af89083611cbe565b600160a060020a038086166000908152600760205260408082209390935590851681522054610b279083611767565b600160a060020a038085166000908152600760209081526040808320949094558783168252600b8152838220339093168252919091522054610b699083611cbe565b600160a060020a038086166000818152600b6020908152604080832033909516835293815283822094909455908152600e909252812054118015610bc55750600160a060020a0384166000908152600e60205260409020544290115b15610bf157600160a060020a0384166000908152600e6020526040902054610bf1908590859085611691565b5b610bfb83611781565b82600160a060020a031684600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b9392505050565b600f54600a805460009261ffff16908110610c5357fe5b906000526020600020906003020160005b5054421015610c7257600080fd5b60008211610c7f57600080fd5b600f54600a8054610cb39261ffff16908110610c9757fe5b906000526020600020906003020160005b506002015483611767565b600c54909250821115610cc657600c5491505b600f54600a8054909161ffff16908110610cdc57fe5b906000526020600020906003020160005b506002015490505b81811015610d3e57610d34600c82815481101515610d0f57fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316611946565b505b600101610cf5565b600c54821415610d6557600f805461ffff8082166001011661ffff19909116179055610d92565b600f54600a8054849261ffff16908110610d7b57fe5b906000526020600020906003020160005b50600201555b5b5050565b60065460ff1681565b60045460ff1681565b6000610db5338361114e565b33600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25060015b919050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a0381166000908152600760205260409020545b919050565b60005433600160a060020a03908116911614610ed357600080fd5b6006805460ff191682151790555b5b50565b600f54600a8054909161ffff16908110610efb57fe5b906000526020600020906003020160005b5054421015610f1a57600080fd5b610f2333611946565b15156107d857fe5b5b565b60005433600160a060020a03908116911614610f4957600080fd5b81600160a060020a0381161515610f5f57600080fd5b8230600160a060020a031681600160a060020a031614151515610f8157600080fd5b610f8d60055484611767565b600555600160a060020a038416600090815260076020526040902054610fb39084611767565b600160a060020a038516600090815260076020526040902055610fd584611781565b7f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38360405190815260200160405180910390a183600160a060020a031630600160a060020a0316600080516020611d4b8339815191528560405190815260200160405180910390a35b5b505b505b5050565b60005433600160a060020a0390811691161461106257600080fd5b601154610100900460ff161561107757600080fd5b60098054600181016110898382611cd5565b916000526020600020900160005b50829055505b5b50565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b6111578261180d565b81600160a060020a031633600160a060020a031614801561117a575060065460ff165b80611193575060005433600160a060020a039081169116145b151561119e57600080fd5b806111a883611594565b10156111b357600080fd5b600160a060020a0382166000908152600760205260409020546111d69082611cbe565b600160a060020a0383166000908152600760205260409020556005546111fc9082611cbe565b600555600160a060020a03308116908316600080516020611d4b8339815191528360405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538160405190815260200160405180910390a15b5050565b60005433600160a060020a0390811691161461128157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60115460009060ff1615156112bf57fe5b6112c83361180d565b600a54600f5461ffff161080156113075750600f54600a8054909161ffff169081106112f057fe5b906000526020600020906003020160005b50544210155b156113215761131533611946565b5061131f83611946565b505b8161132b33611594565b101561133657600080fd5b600160a060020a0333166000908152600760205260409020546113599083611cbe565b600160a060020a033316600090815260076020908152604080832093909355600e9052908120541180156113a55750600160a060020a0333166000908152600e60205260409020544290115b156113d15733600160a060020a0381166000908152600e60205260409020546113d19190859085611691565b5b600160a060020a0383166000908152600760205260409020546113f59083611767565b600160a060020a03841660009081526007602052604090205561141783611781565b82600160a060020a031633600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b92915050565b60115460ff1681565b60008361146d8185610879565b1561158b5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115245780820151818401525b60200161150b565b50505050905090810190601f1680156115515780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561157257600080fd5b6102c65a03f1151561158357600080fd5b505050600191505b5b509392505050565b600160a060020a038116600090815260076020908152604080832054600883528184208480529092528220546115ca9190611cbe565b90505b919050565b600c8054829081106115e057fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600160a060020a038083166000908152600b60209081526040808320938516835292905220545b92915050565b600860209081526000928352604080842090915290825290205481565b60005433600160a060020a0390811691161461166957600080fd5b600160a060020a0382166000908152600e602052604090208190555b5b5050565b600c545b90565b600160a060020a03831660009081526008602090815260408083208380529091529020546116bf9082611767565b600160a060020a03841660009081526008602090815260408083208380529091528082209290925583815220546116f69082611767565b600160a060020a038085166000818152600860209081526040808320888452909152908190209390935591908616907f46a1749a7648b704d1ad3fe33741b13174a4b1641db362e808d00eab7250d10690849086905191825260208201526040908101905180910390a35b50505050565b60008282018381101561177657fe5b8091505b5092915050565b600160a060020a0381166000908152600d602052604090205460ff16151561090f57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c8054909181016117db8382611cd5565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a0381166000908152600860209081526040808320838052909152812054151561183c57610d92565b5060005b600954811015610d92574260098281548110151561185a57fe5b906000526020600020900160005b5054101561193857600160a060020a038216600081815260086020818152604080842084805280835290842054948452919052600980546118d494939190869081106118b057fe5b906000526020600020900160005b5054815260200190815260200160002054611cbe565b600160a060020a038316600081815260086020818152604080842084805280835290842095909555928252909152600980549192918391908590811061191657fe5b906000526020600020900160005b505481526020810191909152604001600020555b5b600101611840565b5b5050565b600f54600160a060020a03821660009081526010602052604081205490918291829161ffff16901061197b5760009250611cb7565b600f54600a80546103e89261ffff1690811061199357fe5b906000526020600020906003020160005b5060010154600160a060020a038616600090815260076020526040902054028115156119cc57fe5b600160a060020a03861660009081526007602052604090205491900492506119f49083611767565b600160a060020a038086166000818152600760205260409081902093909355913090911690600080516020611d4b8339815191529085905190815260200160405180910390a37f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a1611a7960055483611767565b600555600160a060020a03841660009081526008602090815260408083208380529091528120541115611c8e57600160a060020a0384166000908152600860209081526040808320838052909152902054600f54600a8054611b3493926103e8929161ffff909116908110611aea57fe5b906000526020600020906003020160005b5060010154600160a060020a038816600090815260086020908152604080832083805290915290205402811515611b2e57fe5b04611767565b600160a060020a038516600090815260086020908152604080832083805290915281209190915590505b600954811015611c8e57600160a060020a038416600090815260086020526040812060098054611c3b93919085908110611b9457fe5b906000526020600020900160005b50548152602081019190915260400160002054600f54600a80546103e89261ffff16908110611bcd57fe5b906000526020600020906003020160005b5060010154600160a060020a03881660009081526008602052604081206009805491929188908110611c0c57fe5b906000526020600020900160005b505481526020019081526020016000205402811515611b2e57fe5b04611767565b600160a060020a03851660009081526008602052604081206009805491929185908110611c6457fe5b906000526020600020900160005b505481526020810191909152604001600020555b600101611b5e565b5b600f54600160a060020a038516600090815260106020526040902061ffff9091169055600192505b5050919050565b600081831015611cca57fe5b508082035b92915050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b61091791905b80821115611d435760008155600101611d2f565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820126d7a02e20e4d8fd7cebb056e932b30c5973dbea8d0c8f9031aeb5846936a0b0029
Deployed Bytecode
0x6060604052361561017d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663037ca6c4811461019057806306fdde03146101a5578063095ea7b3146102305780631608f18f1461026657806318160ddd1461028057806323a36d2b146102a557806323b872dd146102cc5780632cf860061461030857806330762e2e14610320578063313ce5671461034757806342966c68146103705780635a3b7e421461039a57806370a082311461042557806371766ae31461045657806379fc468714610470578063867904b4146104855780638d37f52c146104a95780638da5cb5b146104c157806395d89b41146104f0578063a24835d11461057b578063a6f9dae11461059f578063a9059cbb146105c0578063bef97c87146105f6578063cae9ca511461061d578063d294cb0f14610696578063d8ab9208146106c7578063dd62ed3e146106f9578063e27f023614610730578063ea6ca18214610764578063ec530de614610788575b341561018857600080fd5b5b600080fd5b005b341561019b57600080fd5b61018e6107ad565b005b34156101b057600080fd5b6101b86107db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023b57600080fd5b610252600160a060020a0360043516602435610879565b604051901515815260200160405180910390f35b341561027157600080fd5b61018e60043515156108e6565b005b341561028b57600080fd5b610293610913565b60405190815260200160405180910390f35b34156102b057600080fd5b61018e600160a060020a036004351660243560443561091a565b005b34156102d757600080fd5b610252600160a060020a0360043581169060243516604435610a1a565b604051901515815260200160405180910390f35b341561031357600080fd5b61018e600435610c3c565b005b341561032b57600080fd5b610252610d97565b604051901515815260200160405180910390f35b341561035257600080fd5b61035a610da0565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b610252600435610da9565b604051901515815260200160405180910390f35b34156103a557600080fd5b6101b8610dfb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043057600080fd5b610293600160a060020a0360043516610e99565b60405190815260200160405180910390f35b341561046157600080fd5b61018e6004351515610eb8565b005b341561047b57600080fd5b61018e610ee5565b005b341561049057600080fd5b61018e600160a060020a0360043516602435610f2e565b005b34156104b457600080fd5b61018e600435611047565b005b34156104cc57600080fd5b6104d46110a1565b604051600160a060020a03909116815260200160405180910390f35b34156104fb57600080fd5b6101b86110b0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058657600080fd5b61018e600160a060020a036004351660243561114e565b005b34156105aa57600080fd5b61018e600160a060020a0360043516611266565b005b34156105cb57600080fd5b610252600160a060020a03600435166024356112ae565b604051901515815260200160405180910390f35b341561060157600080fd5b610252611457565b604051901515815260200160405180910390f35b341561062857600080fd5b61025260048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061146095505050505050565b604051901515815260200160405180910390f35b34156106a157600080fd5b610293600160a060020a0360043516611594565b60405190815260200160405180910390f35b34156106d257600080fd5b6104d46004356115d2565b604051600160a060020a03909116815260200160405180910390f35b341561070457600080fd5b610293600160a060020a0360043581169060243516611604565b60405190815260200160405180910390f35b341561073b57600080fd5b610293600160a060020a0360043516602435611631565b60405190815260200160405180910390f35b341561076f57600080fd5b61018e600160a060020a036004351660243561164e565b005b341561079357600080fd5b61029361168a565b60405190815260200160405180910390f35b60005433600160a060020a039081169116146107c857600080fd5b6011805461ff0019166101001790555b5b565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a033381166000818152600b6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005433600160a060020a0390811691161461090157600080fd5b6011805460ff191682151790555b5b50565b6005545b90565b60005433600160a060020a0390811691161461093557600080fd5b428111156109555760005461095590600160a060020a0316848385611691565b5b600160a060020a0383166000908152600760205260409020546109799083611767565b600160a060020a03841660009081526007602052604090205560055461099f9083611767565b6005557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a16109de83611781565b82600160a060020a031630600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35b5b505050565b60115460009060ff161515610a2b57fe5b610a348461180d565b600a54600f5461ffff16108015610a735750600f54600a8054909161ffff16908110610a5c57fe5b906000526020600020906003020160005b50544210155b15610a8d57610a8184611946565b50610a8b83611946565b505b81610a9785611594565b1015610aa257600080fd5b600160a060020a038085166000908152600b602090815260408083203390941683529290522054821115610ad557600080fd5b600160a060020a038416600090815260076020526040902054610af89083611cbe565b600160a060020a038086166000908152600760205260408082209390935590851681522054610b279083611767565b600160a060020a038085166000908152600760209081526040808320949094558783168252600b8152838220339093168252919091522054610b699083611cbe565b600160a060020a038086166000818152600b6020908152604080832033909516835293815283822094909455908152600e909252812054118015610bc55750600160a060020a0384166000908152600e60205260409020544290115b15610bf157600160a060020a0384166000908152600e6020526040902054610bf1908590859085611691565b5b610bfb83611781565b82600160a060020a031684600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b9392505050565b600f54600a805460009261ffff16908110610c5357fe5b906000526020600020906003020160005b5054421015610c7257600080fd5b60008211610c7f57600080fd5b600f54600a8054610cb39261ffff16908110610c9757fe5b906000526020600020906003020160005b506002015483611767565b600c54909250821115610cc657600c5491505b600f54600a8054909161ffff16908110610cdc57fe5b906000526020600020906003020160005b506002015490505b81811015610d3e57610d34600c82815481101515610d0f57fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316611946565b505b600101610cf5565b600c54821415610d6557600f805461ffff8082166001011661ffff19909116179055610d92565b600f54600a8054849261ffff16908110610d7b57fe5b906000526020600020906003020160005b50600201555b5b5050565b60065460ff1681565b60045460ff1681565b6000610db5338361114e565b33600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25060015b919050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a0381166000908152600760205260409020545b919050565b60005433600160a060020a03908116911614610ed357600080fd5b6006805460ff191682151790555b5b50565b600f54600a8054909161ffff16908110610efb57fe5b906000526020600020906003020160005b5054421015610f1a57600080fd5b610f2333611946565b15156107d857fe5b5b565b60005433600160a060020a03908116911614610f4957600080fd5b81600160a060020a0381161515610f5f57600080fd5b8230600160a060020a031681600160a060020a031614151515610f8157600080fd5b610f8d60055484611767565b600555600160a060020a038416600090815260076020526040902054610fb39084611767565b600160a060020a038516600090815260076020526040902055610fd584611781565b7f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38360405190815260200160405180910390a183600160a060020a031630600160a060020a0316600080516020611d4b8339815191528560405190815260200160405180910390a35b5b505b505b5050565b60005433600160a060020a0390811691161461106257600080fd5b601154610100900460ff161561107757600080fd5b60098054600181016110898382611cd5565b916000526020600020900160005b50829055505b5b50565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b6111578261180d565b81600160a060020a031633600160a060020a031614801561117a575060065460ff165b80611193575060005433600160a060020a039081169116145b151561119e57600080fd5b806111a883611594565b10156111b357600080fd5b600160a060020a0382166000908152600760205260409020546111d69082611cbe565b600160a060020a0383166000908152600760205260409020556005546111fc9082611cbe565b600555600160a060020a03308116908316600080516020611d4b8339815191528360405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538160405190815260200160405180910390a15b5050565b60005433600160a060020a0390811691161461128157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60115460009060ff1615156112bf57fe5b6112c83361180d565b600a54600f5461ffff161080156113075750600f54600a8054909161ffff169081106112f057fe5b906000526020600020906003020160005b50544210155b156113215761131533611946565b5061131f83611946565b505b8161132b33611594565b101561133657600080fd5b600160a060020a0333166000908152600760205260409020546113599083611cbe565b600160a060020a033316600090815260076020908152604080832093909355600e9052908120541180156113a55750600160a060020a0333166000908152600e60205260409020544290115b156113d15733600160a060020a0381166000908152600e60205260409020546113d19190859085611691565b5b600160a060020a0383166000908152600760205260409020546113f59083611767565b600160a060020a03841660009081526007602052604090205561141783611781565b82600160a060020a031633600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b92915050565b60115460ff1681565b60008361146d8185610879565b1561158b5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115245780820151818401525b60200161150b565b50505050905090810190601f1680156115515780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561157257600080fd5b6102c65a03f1151561158357600080fd5b505050600191505b5b509392505050565b600160a060020a038116600090815260076020908152604080832054600883528184208480529092528220546115ca9190611cbe565b90505b919050565b600c8054829081106115e057fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600160a060020a038083166000908152600b60209081526040808320938516835292905220545b92915050565b600860209081526000928352604080842090915290825290205481565b60005433600160a060020a0390811691161461166957600080fd5b600160a060020a0382166000908152600e602052604090208190555b5b5050565b600c545b90565b600160a060020a03831660009081526008602090815260408083208380529091529020546116bf9082611767565b600160a060020a03841660009081526008602090815260408083208380529091528082209290925583815220546116f69082611767565b600160a060020a038085166000818152600860209081526040808320888452909152908190209390935591908616907f46a1749a7648b704d1ad3fe33741b13174a4b1641db362e808d00eab7250d10690849086905191825260208201526040908101905180910390a35b50505050565b60008282018381101561177657fe5b8091505b5092915050565b600160a060020a0381166000908152600d602052604090205460ff16151561090f57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c8054909181016117db8382611cd5565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a0381166000908152600860209081526040808320838052909152812054151561183c57610d92565b5060005b600954811015610d92574260098281548110151561185a57fe5b906000526020600020900160005b5054101561193857600160a060020a038216600081815260086020818152604080842084805280835290842054948452919052600980546118d494939190869081106118b057fe5b906000526020600020900160005b5054815260200190815260200160002054611cbe565b600160a060020a038316600081815260086020818152604080842084805280835290842095909555928252909152600980549192918391908590811061191657fe5b906000526020600020900160005b505481526020810191909152604001600020555b5b600101611840565b5b5050565b600f54600160a060020a03821660009081526010602052604081205490918291829161ffff16901061197b5760009250611cb7565b600f54600a80546103e89261ffff1690811061199357fe5b906000526020600020906003020160005b5060010154600160a060020a038616600090815260076020526040902054028115156119cc57fe5b600160a060020a03861660009081526007602052604090205491900492506119f49083611767565b600160a060020a038086166000818152600760205260409081902093909355913090911690600080516020611d4b8339815191529085905190815260200160405180910390a37f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a1611a7960055483611767565b600555600160a060020a03841660009081526008602090815260408083208380529091528120541115611c8e57600160a060020a0384166000908152600860209081526040808320838052909152902054600f54600a8054611b3493926103e8929161ffff909116908110611aea57fe5b906000526020600020906003020160005b5060010154600160a060020a038816600090815260086020908152604080832083805290915290205402811515611b2e57fe5b04611767565b600160a060020a038516600090815260086020908152604080832083805290915281209190915590505b600954811015611c8e57600160a060020a038416600090815260086020526040812060098054611c3b93919085908110611b9457fe5b906000526020600020900160005b50548152602081019190915260400160002054600f54600a80546103e89261ffff16908110611bcd57fe5b906000526020600020906003020160005b5060010154600160a060020a03881660009081526008602052604081206009805491929188908110611c0c57fe5b906000526020600020900160005b505481526020019081526020016000205402811515611b2e57fe5b04611767565b600160a060020a03851660009081526008602052604081206009805491929185908110611c6457fe5b906000526020600020900160005b505481526020810191909152604001600020555b600101611b5e565b5b600f54600160a060020a038516600090815260106020526040902061ffff9091169055600192505b5050919050565b600081831015611cca57fe5b508082035b92915050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b61091791905b80821115611d435760008155600101611d2f565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820126d7a02e20e4d8fd7cebb056e932b30c5973dbea8d0c8f9031aeb5846936a0b0029
Swarm Source
bzzr://126d7a02e20e4d8fd7cebb056e932b30c5973dbea8d0c8f9031aeb5846936a0b
Loading...
Loading
Loading...
Loading
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.