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 | 325 days ago | IN | 0 ETH | 0.00025772 | ||||
| Transfer | 21356924 | 345 days ago | IN | 0 ETH | 0.0017374 | ||||
| Transfer | 21009734 | 393 days ago | IN | 0 ETH | 0.0013717 | ||||
| Transfer | 20453430 | 471 days ago | IN | 0 ETH | 0.0003 | ||||
| Transfer | 20024024 | 531 days ago | IN | 0 ETH | 0.0008863 | ||||
| Approve | 19892424 | 549 days ago | IN | 0 ETH | 0.00008292 | ||||
| Transfer | 19600903 | 590 days ago | IN | 0 ETH | 0.0024 | ||||
| Transfer | 19454382 | 611 days ago | IN | 0 ETH | 0.0048 | ||||
| Transfer | 19454307 | 611 days ago | IN | 0 ETH | 0.00435 | ||||
| Approve | 19217699 | 644 days ago | IN | 0 ETH | 0.00044643 | ||||
| Transfer | 18897131 | 689 days ago | IN | 0 ETH | 0.0034 | ||||
| Transfer | 18763089 | 708 days ago | IN | 0.0308569 ETH | 0.000504 | ||||
| Transfer | 18532267 | 740 days ago | IN | 0 ETH | 0.0056 | ||||
| Approve | 18053165 | 807 days ago | IN | 0 ETH | 0.0002523 | ||||
| Transfer | 17944937 | 822 days ago | IN | 0 ETH | 0.00050633 | ||||
| Burn | 17786367 | 844 days ago | IN | 0 ETH | 0.00205338 | ||||
| Burn | 17786362 | 844 days ago | IN | 0 ETH | 0.00255736 | ||||
| Transfer | 17615160 | 868 days ago | IN | 0 ETH | 0.00207548 | ||||
| Transfer | 17591633 | 872 days ago | IN | 0 ETH | 0.00423565 | ||||
| Transfer | 17506510 | 884 days ago | IN | 0 ETH | 0.00255 | ||||
| Approve | 17111050 | 939 days ago | IN | 0 ETH | 0.00107047 | ||||
| Transfer | 17040498 | 949 days ago | IN | 0 ETH | 0.007 | ||||
| Transfer | 16731350 | 993 days ago | IN | 0 ETH | 0.0038 | ||||
| Approve | 16032340 | 1091 days ago | IN | 0 ETH | 0.00030398 | ||||
| Transfer | 15463689 | 1172 days ago | IN | 0 ETH | 0.00027943 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
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.