KickICO token contract has migrated to a new address.
ERC-20
Old Contract
Overview
Max Total Supply
1,690,791,165.50187152 KICK
Holders
18,665 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
0.00003933 KICKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
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
[{"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
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.