Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 4848351 | 2986 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Crowdsale
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-01-03
*/
/**
* Developer Team:
* Hira Siddiqui
* connect on: https://www.linkedin.com/in/hira-siddiqui-96b60a74/
*
* Mujtaba Idrees
* connect on: https://www.linkedin.com/in/mujtabaidrees94/
**/
pragma solidity ^0.4.11;
/**
* @title Crowdsale
* @dev Crowdsale is a base contract for managing a token crowdsale.
* Crowdsales have a start and end timestamps, where investors can make
* token purchases and the crowdsale will assign them tokens based
* on a token per ETH rate. Funds collected are forwarded to a wallet
* as they arrive.
*/
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b > 0); // Solidity automatically throws when dividing by 0
uint256 c = a / b;
assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) onlyOwner public {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/179
*/
contract ERC20Basic {
uint256 public totalSupply;
function balanceOf(address who) constant internal returns (uint256);
function transfer(address to, uint256 value) internal returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
*/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) tokenBalances;
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(address _to, uint256 _value) internal returns (bool) {
require(tokenBalances[msg.sender]>=_value);
tokenBalances[msg.sender] = tokenBalances[msg.sender].sub(_value);
tokenBalances[_to] = tokenBalances[_to].add(_value);
Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
*/
function balanceOf(address _owner) constant internal returns (uint256 balance) {
return tokenBalances[_owner];
}
}
contract EtheeraToken is BasicToken,Ownable {
using SafeMath for uint256;
//TODO: Change the name and the symbol
string public constant name = "ETHEERA";
string public constant symbol = "ETA";
uint256 public constant decimals = 18;
uint256 public constant INITIAL_SUPPLY = 300000000;
event Debug(string message, address addr, uint256 number);
/**
* @dev Contructor that gives msg.sender all of existing tokens.
*/
function EtheeraToken(address wallet) public {
owner = msg.sender;
totalSupply = INITIAL_SUPPLY;
tokenBalances[wallet] = INITIAL_SUPPLY * 10 ** 18; //Since we divided the token into 10^18 parts
}
function mint(address wallet, address buyer, uint256 tokenAmount) public onlyOwner {
require(tokenBalances[wallet] >= tokenAmount); // checks if it has enough to sell
tokenBalances[buyer] = tokenBalances[buyer].add(tokenAmount); // adds the amount to buyer's balance
tokenBalances[wallet] = tokenBalances[wallet].sub(tokenAmount); // subtracts amount from seller's balance
Transfer(wallet, buyer, tokenAmount);
}
function showMyTokenBalance(address addr) public view onlyOwner returns (uint tokenBalance) {
tokenBalance = tokenBalances[addr];
return tokenBalance;
}
function showMyEtherBalance(address addr) public view onlyOwner returns (uint etherBalance) {
etherBalance = addr.balance;
}
}
contract Crowdsale {
using SafeMath for uint256;
// The token being sold
EtheeraToken public token;
// start and end timestamps where investments are allowed (both inclusive)
uint256 public startTime;
uint256 public endTime;
// address where funds are collected
// address where tokens are deposited and from where we send tokens to buyers
address public wallet;
// how many token units a buyer gets per wei
uint256 public ratePerWei = 2000;
// amount of raised money in wei
uint256 public weiRaised;
// flags to show whether soft cap / hard cap is reached
bool public isSoftCapReached = false;
bool public isHardCapReached = false;
//this flag is set to true when ICO duration is over and soft cap is not reached
bool public refundToBuyers = false;
// Soft cap of the ICO in ethers
uint256 public softCap = 6000;
//Hard cap of the ICO in ethers
uint256 public hardCap = 100000;
//total tokens that have been sold
uint256 tokens_sold = 0;
//total tokens that are to be sold - this is 70% of the total supply i.e. 300000000
uint maxTokensForSale = 210000000;
//tokens that are reserved for the etheera team - this is 30% of the total supply
uint256 tokensForReservedFund = 0;
uint256 tokensForAdvisors = 0;
uint256 tokensForFoundersAndTeam = 0;
uint256 tokensForMarketing = 0;
uint256 tokensForTournament = 0;
bool ethersSentForRefund = false;
uint256 public amountForRefundIfSoftCapNotReached = 0;
// whitelisted addresses are those that have registered on the website
mapping(address=>bool) whiteListedAddresses;
// the buyers of tokens and the amount of ethers they sent in
mapping(address=>uint) usersThatBoughtETA;
/**
* event for token purchase logging
* @param purchaser who paid for the tokens
* @param beneficiary who got the tokens
* @param value weis paid for purchase
* @param amount amount of tokens purchased
*/
event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);
function Crowdsale(uint256 _startTime, address _wallet) public {
require(_startTime >= now);
startTime = _startTime;
endTime = startTime + 60 days;
require(endTime >= startTime);
require(_wallet != 0x0);
wallet = _wallet;
token = createTokenContract(wallet);
}
function createTokenContract(address wall) internal returns (EtheeraToken) {
return new EtheeraToken(wall);
}
// fallback function can be used to buy tokens
function () public payable {
buyTokens(msg.sender);
}
//determine the bonus with respect to time elapsed
function determineBonus(uint tokens) internal view returns (uint256 bonus) {
uint256 timeElapsed = now - startTime;
uint256 timeElapsedInWeeks = timeElapsed.div(7 days);
if (timeElapsedInWeeks <=1)
{
//early sale
//valid for 7 days (1st week)
//30000+ TOKEN PURCHASE AMOUNT / 33% BONUS
if (tokens>30000 * 10 ** 18)
{
//33% bonus
bonus = tokens.mul(33);
bonus = bonus.div(100);
}
//10000+ TOKEN PURCHASE AMOUNT / 26% BONUS
else if (tokens>10000 *10 ** 18 && tokens<= 30000 * 10 ** 18)
{
//26% bonus
bonus = tokens.mul(26);
bonus = bonus.div(100);
}
//3000+ TOKEN PURCHASE AMOUNT / 23% BONUS
else if (tokens>3000 *10 ** 18 && tokens<= 10000 * 10 ** 18)
{
//23% bonus
bonus = tokens.mul(23);
bonus = bonus.div(100);
}
//75+ TOKEN PURCHASE AMOUNT / 20% BONUS
else if (tokens>=75 *10 ** 18 && tokens<= 3000 * 10 ** 18)
{
//20% bonus
bonus = tokens.mul(20);
bonus = bonus.div(100);
}
}
else if (timeElapsedInWeeks>1 && timeElapsedInWeeks <=6)
{
//sale
//from 7th day till 49th day (total 42 days or 6 weeks)
//30000+ TOKEN PURCHASE AMOUNT / 15% BONUS
if (tokens>30000 * 10 ** 18)
{
//15% bonus
bonus = tokens.mul(15);
bonus = bonus.div(100);
}
//10000+ TOKEN PURCHASE AMOUNT / 10% BONUS
else if (tokens>10000 *10 ** 18 && tokens<= 30000 * 10 ** 18)
{
//10% bonus
bonus = tokens.mul(10);
bonus = bonus.div(100);
}
//3000+ TOKEN PURCHASE AMOUNT / 5% BONUS
else if (tokens>3000 *10 ** 18 && tokens<= 10000 * 10 ** 18)
{
//5% bonus
bonus = tokens.mul(5);
bonus = bonus.div(100);
}
//75+ TOKEN PURCHASE AMOUNT / 3% BONUS
else if (tokens>=75 *10 ** 18 && tokens<= 3000 * 10 ** 18)
{
//3% bonus
bonus = tokens.mul(3);
bonus = bonus.div(100);
}
}
else if (timeElapsedInWeeks>6)
{
//no bonuses after 7th week i.e. 49 days
bonus = 0;
}
}
// low level token purchase function
// Minimum purchase can be of 1 ETH
function buyTokens(address beneficiary) public payable {
//tokens not to be sent to 0x0
require(beneficiary != 0x0);
bool hasICOended = hasEnded();
if(hasICOended && weiRaised < softCap * 10 ** 18)
refundToBuyers = true;
if(hasICOended && weiRaised < hardCap * 10 ** 18)
{
burnRemainingTokens();
beneficiary.transfer(msg.value);
}
else
{
//the purchase should be within duration and non zero
require(validPurchase());
//the ICO is over if hard cap has been reached even if time is still left
require(isHardCapReached == false);
// amount sent by the user
uint256 weiAmount = msg.value;
// calculate token amount to be sold
uint256 tokens = weiAmount.mul(ratePerWei);
//Determine bonus
uint bonus = determineBonus(tokens);
tokens = tokens.add(bonus);
require (tokens>=75 * 10 ** 18);
//can't sale tokens more than 21000000000
require(tokens_sold + tokens <= maxTokensForSale * 10 ** 18);
//30% of the tokens being sold are being accumulated for the etheera team
updateTokensForEtheeraTeam(tokens);
// update state
require(weiRaised.add(weiAmount) <= hardCap * 10 ** 18);
weiRaised = weiRaised.add(weiAmount);
amountForRefundIfSoftCapNotReached = amountForRefundIfSoftCapNotReached.add(weiAmount);
if (weiRaised >= softCap * 10 ** 18)
{
isSoftCapReached = true;
amountForRefundIfSoftCapNotReached = 0;
}
if (weiRaised == hardCap * 10 ** 18)
isHardCapReached = true;
token.mint(wallet, beneficiary, tokens);
usersThatBoughtETA[beneficiary] = weiAmount;
TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);
tokens_sold = tokens_sold.add(tokens);
forwardFunds();
}
}
// send ether to the fund collection wallet
// override to create custom fund forwarding mechanisms
function forwardFunds() internal {
wallet.transfer(msg.value);
}
// @return true if the transaction can buy tokens
function validPurchase() internal returns (bool) {
bool withinPeriod = now >= startTime && now <= endTime;
bool nonZeroPurchase = msg.value != 0;
return withinPeriod && nonZeroPurchase;
}
// @return true if crowdsale event has ended
function hasEnded() public constant returns (bool) {
return now > endTime;
}
function showMyTokenBalance() public constant returns (uint256 tokenBalance) {
tokenBalance = token.showMyTokenBalance(msg.sender);
}
function showMyEtherBalance() public constant returns (uint256 etherBalance) {
etherBalance = token.showMyEtherBalance(msg.sender);
}
function burnRemainingTokens() internal
{
//burn all the unsold tokens as soon as the ICO is ended
uint balance = token.showMyTokenBalance(wallet);
uint tokensIssued = tokensForReservedFund + tokensForFoundersAndTeam + tokensForAdvisors +tokensForMarketing + tokensForTournament;
uint tokensToBurn = balance.sub(tokensIssued);
require (balance >=tokensToBurn);
address burnAddress = 0x0;
token.mint(wallet,burnAddress,tokensToBurn);
}
function addAddressToWhiteList(address whitelistaddress) public
{
require(msg.sender == wallet);
whiteListedAddresses[whitelistaddress] = true;
}
function getRefund() public
{
require(refundToBuyers == true && ethersSentForRefund == true);
require(usersThatBoughtETA[msg.sender]>0);
uint256 ethersSent = usersThatBoughtETA[msg.sender];
require (wallet.balance >= ethersSent);
msg.sender.transfer(ethersSent);
}
function debitAmountToRefund() public payable {
require(hasEnded()==true);
require(msg.sender == wallet);
require(msg.value >=amountForRefundIfSoftCapNotReached);
ethersSentForRefund = true;
}
function updateTokensForEtheeraTeam(uint256 tokens) internal {
uint256 reservedFundTokens;
uint256 foundersAndTeamTokens;
uint256 advisorsTokens;
uint256 marketingTokens;
uint256 tournamentTokens;
//10% of tokens for reserved fund
reservedFundTokens = tokens.mul(10);
reservedFundTokens = reservedFundTokens.div(100);
tokensForReservedFund = tokensForReservedFund.add(reservedFundTokens);
//15% of tokens for founders and team
foundersAndTeamTokens=tokens.mul(15);
foundersAndTeamTokens= foundersAndTeamTokens.div(100);
tokensForFoundersAndTeam = tokensForFoundersAndTeam.add(foundersAndTeamTokens);
//3% of tokens for advisors
advisorsTokens=tokens.mul(3);
advisorsTokens= advisorsTokens.div(100);
tokensForAdvisors= tokensForAdvisors.add(advisorsTokens);
//1% of tokens for marketing
marketingTokens = tokens.mul(1);
marketingTokens= marketingTokens.div(100);
tokensForMarketing= tokensForMarketing.add(marketingTokens);
//1% of tokens for tournament
tournamentTokens=tokens.mul(1);
tournamentTokens= tournamentTokens.div(100);
tokensForTournament= tokensForTournament.add(tournamentTokens);
}
function withdrawTokensForEtheeraTeam(uint256 whoseTokensToWithdraw,address[] whereToSendTokens) public {
//1 reserved fund, 2 for founders and team, 3 for advisors, 4 for marketing, 5 for tournament
require(msg.sender == wallet);
require(now>=endTime);
uint256 lockPeriod = 0;
uint256 timePassed = now - endTime;
uint256 tokensToSend = 0;
uint256 i = 0;
if (whoseTokensToWithdraw == 1)
{
//15 months lockup period
lockPeriod = 15 days * 30;
require(timePassed >= lockPeriod);
//allow withdrawal
tokensToSend = tokensForReservedFund.div(whereToSendTokens.length);
for (i=0;i<whereToSendTokens.length;i++)
{
token.mint(wallet,whereToSendTokens[i],tokensToSend);
}
tokensForReservedFund = 0;
}
else if (whoseTokensToWithdraw == 2)
{
//10 months lockup period
lockPeriod = 10 days * 30;
require(timePassed >= lockPeriod);
//allow withdrawal
tokensToSend = tokensForFoundersAndTeam.div(whereToSendTokens.length);
for (i=0;i<whereToSendTokens.length;i++)
{
token.mint(wallet,whereToSendTokens[i],tokensToSend);
}
tokensForFoundersAndTeam = 0;
}
else if (whoseTokensToWithdraw == 3)
{
//allow withdrawal
tokensToSend = tokensForAdvisors.div(whereToSendTokens.length);
for (i=0;i<whereToSendTokens.length;i++)
{
token.mint(wallet,whereToSendTokens[i],tokensToSend);
}
tokensForAdvisors = 0;
}
else if (whoseTokensToWithdraw == 4)
{
//allow withdrawal
tokensToSend = tokensForMarketing.div(whereToSendTokens.length);
for (i=0;i<whereToSendTokens.length;i++)
{
token.mint(wallet,whereToSendTokens[i],tokensToSend);
}
tokensForMarketing = 0;
}
else if (whoseTokensToWithdraw == 5)
{
//allow withdrawal
tokensToSend = tokensForTournament.div(whereToSendTokens.length);
for (i=0;i<whereToSendTokens.length;i++)
{
token.mint(wallet,whereToSendTokens[i],tokensToSend);
}
tokensForTournament = 0;
}
else
{
//wrong input
require (1!=1);
}
}
/**
* function to set the new price
* can only be called from owner wallet
**/
function setPriceRate(uint256 newPrice) public returns (bool) {
ratePerWei = newPrice;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"amountForRefundIfSoftCapNotReached","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"whoseTokensToWithdraw","type":"uint256"},{"name":"whereToSendTokens","type":"address[]"}],"name":"withdrawTokensForEtheeraTeam","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"showMyEtherBalance","outputs":[{"name":"etherBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"debitAmountToRefund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newPrice","type":"uint256"}],"name":"setPriceRate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isHardCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isSoftCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"whitelistaddress","type":"address"}],"name":"addAddressToWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ratePerWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"refundToBuyers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"showMyTokenBalance","outputs":[{"name":"tokenBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"}]Contract Creation Code
60606040526107d06004556006805462ffffff19169055611770600755620186a060085560006009819055630c845880600a55600b819055600c819055600d819055600e819055600f8190556010805460ff19169055601155341561006357600080fd5b60405160408062001ff983398101604052808051919060200180519150504282101561008e57600080fd5b6001829055624f1a0082016002819055829010156100ab57600080fd5b600160a060020a03811615156100c057600080fd5b60038054600160a060020a031916600160a060020a0383811691909117918290556100f8911664010000000061012081026112c81704565b60008054600160a060020a031916600160a060020a0392909216919091179055506101689050565b60008161012b610157565b600160a060020a039091168152602001604051809103906000f080151561015157600080fd5b92915050565b6040516105a38062001a5683390190565b6118de80620001786000396000f3006060604052600436106101035763ffffffff60e060020a600035041663013953a6811461010e5780633197cbb6146101335780633a579abc146101465780634042b66f1461019a57806342a37176146101ad578063521eb273146101c057806360721b7c146101ef5780636786ed0e146101f7578063688d39221461022157806378e979251461023457806380d32f8514610247578063906a26e01461025a5780639244f4961461026d578063b2d5ae441461028c578063bc7c322c1461029f578063e1e87c28146102b2578063ea91f8c7146102c5578063ec8ac4d8146102d8578063ecb70fb7146102ec578063fb86a404146102ff578063fc0c546a14610312575b61010c33610325565b005b341561011957600080fd5b61012161061f565b60405190815260200160405180910390f35b341561013e57600080fd5b610121610625565b341561015157600080fd5b61010c6004803590604460248035908101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061062b95505050505050565b34156101a557600080fd5b610121610abc565b34156101b857600080fd5b610121610ac2565b34156101cb57600080fd5b6101d3610b3a565b604051600160a060020a03909116815260200160405180910390f35b61010c610b49565b341561020257600080fd5b61020d600435610b98565b604051901515815260200160405180910390f35b341561022c57600080fd5b61020d610ba0565b341561023f57600080fd5b610121610bae565b341561025257600080fd5b61020d610bb4565b341561026557600080fd5b610121610bbd565b341561027857600080fd5b61010c600160a060020a0360043516610bc3565b341561029757600080fd5b61010c610c02565b34156102aa57600080fd5b610121610cba565b34156102bd57600080fd5b61020d610cc0565b34156102d057600080fd5b610121610ccf565b61010c600160a060020a0360043516610325565b34156102f757600080fd5b61020d610d28565b341561030a57600080fd5b610121610d30565b341561031d57600080fd5b6101d3610d36565b6000808080600160a060020a038516151561033f57600080fd5b610347610d28565b93508380156103635750600754670de0b6b3a764000002600554105b1561037a576006805462ff00001916620100001790555b8380156103945750600854670de0b6b3a764000002600554105b156103d8576103a1610d45565b600160a060020a0385163480156108fc0290604051600060405180830381858888f1935050505015156103d357600080fd5b610618565b6103e0610e85565b15156103eb57600080fd5b600654610100900460ff161561040057600080fd5b60045434935061041790849063ffffffff610eb516565b915061042282610ee0565b9050610434828263ffffffff6110fe16565b9150680410d586a20a4c000082101561044c57600080fd5b600a54670de0b6b3a76400000282600954011115151561046b57600080fd5b6104748261110d565b600854670de0b6b3a764000002610496846005546110fe90919063ffffffff16565b11156104a157600080fd5b6005546104b4908463ffffffff6110fe16565b6005556011546104ca908463ffffffff6110fe16565b601155600754600554670de0b6b3a764000090910290106104f8576006805460ff1916600117905560006011555b600854670de0b6b3a764000002600554141561051e576006805461ff0019166101001790555b600054600354600160a060020a039182169163c6c3bbe69116878560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b151561058857600080fd5b6102c65a03f1151561059957600080fd5b505050600160a060020a038086166000818152601360205260409081902086905590913316907f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad1890869086905191825260208201526040908101905180910390a360095461060d908363ffffffff6110fe16565b60095561061861124c565b5050505050565b60115481565b60025481565b60035460009081908190819033600160a060020a0390811691161461064f57600080fd5b60025442101561065e57600080fd5b505060025460009250420390508180600186141561075357630251430093508383101561068a57600080fd5b61069e8551600b549063ffffffff61128216565b9150600090505b845181101561074957600054600354600160a060020a039182169163c6c3bbe691168784815181106106d357fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b151561072d57600080fd5b6102c65a03f1151561073e57600080fd5b5050506001016106a5565b6000600b55610ab4565b85600214156108395763018b820093508383101561077057600080fd5b6107848551600d549063ffffffff61128216565b9150600090505b845181101561082f57600054600354600160a060020a039182169163c6c3bbe691168784815181106107b957fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b151561081357600080fd5b6102c65a03f1151561082457600080fd5b50505060010161078b565b6000600d55610ab4565b856003141561090b576108568551600c549063ffffffff61128216565b9150600090505b845181101561090157600054600354600160a060020a039182169163c6c3bbe6911687848151811061088b57fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b15156108e557600080fd5b6102c65a03f115156108f657600080fd5b50505060010161085d565b6000600c55610ab4565b85600414156109dd576109288551600e549063ffffffff61128216565b9150600090505b84518110156109d357600054600354600160a060020a039182169163c6c3bbe6911687848151811061095d57fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b15156109b757600080fd5b6102c65a03f115156109c857600080fd5b50505060010161092f565b6000600e55610ab4565b8560051415610aaf576109fa8551600f549063ffffffff61128216565b9150600090505b8451811015610aa557600054600354600160a060020a039182169163c6c3bbe69116878481518110610a2f57fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b1515610a8957600080fd5b6102c65a03f11515610a9a57600080fd5b505050600101610a01565b6000600f55610ab4565b600080fd5b505050505050565b60055481565b60008054600160a060020a031663bd51654b33836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1b57600080fd5b6102c65a03f11515610b2c57600080fd5b505050604051805192915050565b600354600160a060020a031681565b610b51610d28565b1515600114610b5f57600080fd5b60035433600160a060020a03908116911614610b7a57600080fd5b601154341015610b8957600080fd5b6010805460ff19166001179055565b600455600090565b600654610100900460ff1681565b60015481565b60065460ff1681565b60075481565b60035433600160a060020a03908116911614610bde57600080fd5b600160a060020a03166000908152601260205260409020805460ff19166001179055565b60065460009062010000900460ff1615156001148015610c29575060105460ff1615156001145b1515610c3457600080fd5b600160a060020a03331660009081526013602052604081205411610c5757600080fd5b50600160a060020a033381166000908152601360205260409020546003549091163181901015610c8657600080fd5b600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610cb757600080fd5b50565b60045481565b60065462010000900460ff1681565b60008054600160a060020a0316638fe4762533836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1b57600080fd5b600254421190565b60085481565b600054600160a060020a031681565b60008054600354829182918291600160a060020a0390811691638fe476259116836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610dab57600080fd5b6102c65a03f11515610dbc57600080fd5b505050604051805190509350600f54600e54600c54600d54600b54010101019250610df083856112b690919063ffffffff16565b915081841015610dff57600080fd5b5060008054600354600160a060020a039182169163c6c3bbe69116838560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b1515610e6b57600080fd5b6102c65a03f11515610e7c57600080fd5b50505050505050565b60008060006001544210158015610e9e57506002544211155b915050341515818015610eae5750805b9250505090565b6000828202831580610ed15750828482811515610ece57fe5b04145b1515610ed957fe5b9392505050565b600154600090420381610efc8262093a8063ffffffff61128216565b9050600181116110075769065a4da25d3016c00000841115610f4357610f2984602163ffffffff610eb516565b9250610f3c83606463ffffffff61128216565b9250611002565b69021e19e0c9bab240000084118015610f66575069065a4da25d3016c000008411155b15610f7c57610f2984601a63ffffffff610eb516565b68a2a15d09519be0000084118015610f9e575069021e19e0c9bab24000008411155b15610fb457610f2984601763ffffffff610eb516565b680410d586a20a4c00008410158015610fd6575068a2a15d09519be000008411155b1561100257610fec84601463ffffffff610eb516565b9250610fff83606463ffffffff61128216565b92505b6110f7565b600181118015611018575060068111155b156110e95769065a4da25d3016c0000084111561104057610f2984600f63ffffffff610eb516565b69021e19e0c9bab240000084118015611063575069065a4da25d3016c000008411155b1561107957610f2984600a63ffffffff610eb516565b68a2a15d09519be000008411801561109b575069021e19e0c9bab24000008411155b156110b157610f2984600563ffffffff610eb516565b680410d586a20a4c000084101580156110d3575068a2a15d09519be000008411155b1561100257610fec84600363ffffffff610eb516565b60068111156110f757600092505b5050919050565b600082820183811015610ed957fe5b60008080808061112486600a63ffffffff610eb516565b945061113785606463ffffffff61128216565b600b5490955061114d908663ffffffff6110fe16565b600b5561116186600f63ffffffff610eb516565b935061117484606463ffffffff61128216565b600d5490945061118a908563ffffffff6110fe16565b600d5561119e86600363ffffffff610eb516565b92506111b183606463ffffffff61128216565b600c549093506111c7908463ffffffff6110fe16565b600c556111db86600163ffffffff610eb516565b91506111ee82606463ffffffff61128216565b600e54909250611204908363ffffffff6110fe16565b600e5561121886600163ffffffff610eb516565b905061122b81606463ffffffff61128216565b600f54909150611241908263ffffffff6110fe16565b600f55505050505050565b600354600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561128057600080fd5b565b60008080831161128e57fe5b828481151561129957fe5b04905082848115156112a757fe5b068184020184141515610ed957fe5b6000828211156112c257fe5b50900390565b6000816112d36112ff565b600160a060020a039091168152602001604051809103906000f08015156112f957600080fd5b92915050565b6040516105a3806113108339019056006060604052341561000f57600080fd5b6040516020806105a38339810160405280805160028054600160a060020a03338116600160a060020a031992831681179092169091179091556311e1a3006000908155911681526001602052604090206af8277896582678ac000000905550506105258061007e6000396000f3006060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a857806318160ddd146101325780632ff2e9dc14610157578063313ce5671461016a5780638da5cb5b1461017d5780638fe47625146101ac57806395d89b41146101cb578063bd51654b146101de578063c6c3bbe6146101fd578063f2fde38b14610227575b600080fd5b34156100b357600080fd5b6100bb610246565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b61014561027d565b60405190815260200160405180910390f35b341561016257600080fd5b610145610283565b341561017557600080fd5b61014561028b565b341561018857600080fd5b610190610290565b604051600160a060020a03909116815260200160405180910390f35b34156101b757600080fd5b610145600160a060020a036004351661029f565b34156101d657600080fd5b6100bb6102d9565b34156101e957600080fd5b610145600160a060020a0360043516610310565b341561020857600080fd5b610225600160a060020a036004358116906024351660443561033c565b005b341561023257600080fd5b610225600160a060020a0360043516610436565b60408051908101604052600781527f4554484545524100000000000000000000000000000000000000000000000000602082015281565b60005481565b6311e1a30081565b601281565b600254600160a060020a031681565b60025460009033600160a060020a039081169116146102bd57600080fd5b50600160a060020a031660009081526001602052604090205490565b60408051908101604052600381527f4554410000000000000000000000000000000000000000000000000000000000602082015281565b60025460009033600160a060020a0390811691161461032e57600080fd5b50600160a060020a03163190565b60025433600160a060020a0390811691161461035757600080fd5b600160a060020a0383166000908152600160205260409020548190101561037d57600080fd5b600160a060020a0382166000908152600160205260409020546103a6908263ffffffff6104d116565b600160a060020a0380841660009081526001602052604080822093909355908516815220546103db908263ffffffff6104e716565b600160a060020a038085166000818152600160205260409081902093909355908416917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60025433600160a060020a0390811691161461045157600080fd5b600160a060020a038116151561046657600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156104e057fe5b9392505050565b6000828211156104f357fe5b509003905600a165627a7a72305820b64d97dd4e7b82a3b59ecba2bb476f310bc8cba54903addccefff874c796d8860029a165627a7a72305820619a34d4beb874b3e169ad050fb053289c4573a707875f927bb9fa5a6e2c5e1a00296060604052341561000f57600080fd5b6040516020806105a38339810160405280805160028054600160a060020a03338116600160a060020a031992831681179092169091179091556311e1a3006000908155911681526001602052604090206af8277896582678ac000000905550506105258061007e6000396000f3006060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a857806318160ddd146101325780632ff2e9dc14610157578063313ce5671461016a5780638da5cb5b1461017d5780638fe47625146101ac57806395d89b41146101cb578063bd51654b146101de578063c6c3bbe6146101fd578063f2fde38b14610227575b600080fd5b34156100b357600080fd5b6100bb610246565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b61014561027d565b60405190815260200160405180910390f35b341561016257600080fd5b610145610283565b341561017557600080fd5b61014561028b565b341561018857600080fd5b610190610290565b604051600160a060020a03909116815260200160405180910390f35b34156101b757600080fd5b610145600160a060020a036004351661029f565b34156101d657600080fd5b6100bb6102d9565b34156101e957600080fd5b610145600160a060020a0360043516610310565b341561020857600080fd5b610225600160a060020a036004358116906024351660443561033c565b005b341561023257600080fd5b610225600160a060020a0360043516610436565b60408051908101604052600781527f4554484545524100000000000000000000000000000000000000000000000000602082015281565b60005481565b6311e1a30081565b601281565b600254600160a060020a031681565b60025460009033600160a060020a039081169116146102bd57600080fd5b50600160a060020a031660009081526001602052604090205490565b60408051908101604052600381527f4554410000000000000000000000000000000000000000000000000000000000602082015281565b60025460009033600160a060020a0390811691161461032e57600080fd5b50600160a060020a03163190565b60025433600160a060020a0390811691161461035757600080fd5b600160a060020a0383166000908152600160205260409020548190101561037d57600080fd5b600160a060020a0382166000908152600160205260409020546103a6908263ffffffff6104d116565b600160a060020a0380841660009081526001602052604080822093909355908516815220546103db908263ffffffff6104e716565b600160a060020a038085166000818152600160205260409081902093909355908416917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60025433600160a060020a0390811691161461045157600080fd5b600160a060020a038116151561046657600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156104e057fe5b9392505050565b6000828211156104f357fe5b509003905600a165627a7a72305820b64d97dd4e7b82a3b59ecba2bb476f310bc8cba54903addccefff874c796d8860029000000000000000000000000000000000000000000000000000000005a5dbf10000000000000000000000000de54d403b16a3ebc9ed7860e3af94417889e19d7
Deployed Bytecode
0x6060604052600436106101035763ffffffff60e060020a600035041663013953a6811461010e5780633197cbb6146101335780633a579abc146101465780634042b66f1461019a57806342a37176146101ad578063521eb273146101c057806360721b7c146101ef5780636786ed0e146101f7578063688d39221461022157806378e979251461023457806380d32f8514610247578063906a26e01461025a5780639244f4961461026d578063b2d5ae441461028c578063bc7c322c1461029f578063e1e87c28146102b2578063ea91f8c7146102c5578063ec8ac4d8146102d8578063ecb70fb7146102ec578063fb86a404146102ff578063fc0c546a14610312575b61010c33610325565b005b341561011957600080fd5b61012161061f565b60405190815260200160405180910390f35b341561013e57600080fd5b610121610625565b341561015157600080fd5b61010c6004803590604460248035908101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061062b95505050505050565b34156101a557600080fd5b610121610abc565b34156101b857600080fd5b610121610ac2565b34156101cb57600080fd5b6101d3610b3a565b604051600160a060020a03909116815260200160405180910390f35b61010c610b49565b341561020257600080fd5b61020d600435610b98565b604051901515815260200160405180910390f35b341561022c57600080fd5b61020d610ba0565b341561023f57600080fd5b610121610bae565b341561025257600080fd5b61020d610bb4565b341561026557600080fd5b610121610bbd565b341561027857600080fd5b61010c600160a060020a0360043516610bc3565b341561029757600080fd5b61010c610c02565b34156102aa57600080fd5b610121610cba565b34156102bd57600080fd5b61020d610cc0565b34156102d057600080fd5b610121610ccf565b61010c600160a060020a0360043516610325565b34156102f757600080fd5b61020d610d28565b341561030a57600080fd5b610121610d30565b341561031d57600080fd5b6101d3610d36565b6000808080600160a060020a038516151561033f57600080fd5b610347610d28565b93508380156103635750600754670de0b6b3a764000002600554105b1561037a576006805462ff00001916620100001790555b8380156103945750600854670de0b6b3a764000002600554105b156103d8576103a1610d45565b600160a060020a0385163480156108fc0290604051600060405180830381858888f1935050505015156103d357600080fd5b610618565b6103e0610e85565b15156103eb57600080fd5b600654610100900460ff161561040057600080fd5b60045434935061041790849063ffffffff610eb516565b915061042282610ee0565b9050610434828263ffffffff6110fe16565b9150680410d586a20a4c000082101561044c57600080fd5b600a54670de0b6b3a76400000282600954011115151561046b57600080fd5b6104748261110d565b600854670de0b6b3a764000002610496846005546110fe90919063ffffffff16565b11156104a157600080fd5b6005546104b4908463ffffffff6110fe16565b6005556011546104ca908463ffffffff6110fe16565b601155600754600554670de0b6b3a764000090910290106104f8576006805460ff1916600117905560006011555b600854670de0b6b3a764000002600554141561051e576006805461ff0019166101001790555b600054600354600160a060020a039182169163c6c3bbe69116878560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b151561058857600080fd5b6102c65a03f1151561059957600080fd5b505050600160a060020a038086166000818152601360205260409081902086905590913316907f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad1890869086905191825260208201526040908101905180910390a360095461060d908363ffffffff6110fe16565b60095561061861124c565b5050505050565b60115481565b60025481565b60035460009081908190819033600160a060020a0390811691161461064f57600080fd5b60025442101561065e57600080fd5b505060025460009250420390508180600186141561075357630251430093508383101561068a57600080fd5b61069e8551600b549063ffffffff61128216565b9150600090505b845181101561074957600054600354600160a060020a039182169163c6c3bbe691168784815181106106d357fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b151561072d57600080fd5b6102c65a03f1151561073e57600080fd5b5050506001016106a5565b6000600b55610ab4565b85600214156108395763018b820093508383101561077057600080fd5b6107848551600d549063ffffffff61128216565b9150600090505b845181101561082f57600054600354600160a060020a039182169163c6c3bbe691168784815181106107b957fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b151561081357600080fd5b6102c65a03f1151561082457600080fd5b50505060010161078b565b6000600d55610ab4565b856003141561090b576108568551600c549063ffffffff61128216565b9150600090505b845181101561090157600054600354600160a060020a039182169163c6c3bbe6911687848151811061088b57fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b15156108e557600080fd5b6102c65a03f115156108f657600080fd5b50505060010161085d565b6000600c55610ab4565b85600414156109dd576109288551600e549063ffffffff61128216565b9150600090505b84518110156109d357600054600354600160a060020a039182169163c6c3bbe6911687848151811061095d57fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b15156109b757600080fd5b6102c65a03f115156109c857600080fd5b50505060010161092f565b6000600e55610ab4565b8560051415610aaf576109fa8551600f549063ffffffff61128216565b9150600090505b8451811015610aa557600054600354600160a060020a039182169163c6c3bbe69116878481518110610a2f57fe5b906020019060200201518560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b1515610a8957600080fd5b6102c65a03f11515610a9a57600080fd5b505050600101610a01565b6000600f55610ab4565b600080fd5b505050505050565b60055481565b60008054600160a060020a031663bd51654b33836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1b57600080fd5b6102c65a03f11515610b2c57600080fd5b505050604051805192915050565b600354600160a060020a031681565b610b51610d28565b1515600114610b5f57600080fd5b60035433600160a060020a03908116911614610b7a57600080fd5b601154341015610b8957600080fd5b6010805460ff19166001179055565b600455600090565b600654610100900460ff1681565b60015481565b60065460ff1681565b60075481565b60035433600160a060020a03908116911614610bde57600080fd5b600160a060020a03166000908152601260205260409020805460ff19166001179055565b60065460009062010000900460ff1615156001148015610c29575060105460ff1615156001145b1515610c3457600080fd5b600160a060020a03331660009081526013602052604081205411610c5757600080fd5b50600160a060020a033381166000908152601360205260409020546003549091163181901015610c8657600080fd5b600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610cb757600080fd5b50565b60045481565b60065462010000900460ff1681565b60008054600160a060020a0316638fe4762533836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1b57600080fd5b600254421190565b60085481565b600054600160a060020a031681565b60008054600354829182918291600160a060020a0390811691638fe476259116836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610dab57600080fd5b6102c65a03f11515610dbc57600080fd5b505050604051805190509350600f54600e54600c54600d54600b54010101019250610df083856112b690919063ffffffff16565b915081841015610dff57600080fd5b5060008054600354600160a060020a039182169163c6c3bbe69116838560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b1515610e6b57600080fd5b6102c65a03f11515610e7c57600080fd5b50505050505050565b60008060006001544210158015610e9e57506002544211155b915050341515818015610eae5750805b9250505090565b6000828202831580610ed15750828482811515610ece57fe5b04145b1515610ed957fe5b9392505050565b600154600090420381610efc8262093a8063ffffffff61128216565b9050600181116110075769065a4da25d3016c00000841115610f4357610f2984602163ffffffff610eb516565b9250610f3c83606463ffffffff61128216565b9250611002565b69021e19e0c9bab240000084118015610f66575069065a4da25d3016c000008411155b15610f7c57610f2984601a63ffffffff610eb516565b68a2a15d09519be0000084118015610f9e575069021e19e0c9bab24000008411155b15610fb457610f2984601763ffffffff610eb516565b680410d586a20a4c00008410158015610fd6575068a2a15d09519be000008411155b1561100257610fec84601463ffffffff610eb516565b9250610fff83606463ffffffff61128216565b92505b6110f7565b600181118015611018575060068111155b156110e95769065a4da25d3016c0000084111561104057610f2984600f63ffffffff610eb516565b69021e19e0c9bab240000084118015611063575069065a4da25d3016c000008411155b1561107957610f2984600a63ffffffff610eb516565b68a2a15d09519be000008411801561109b575069021e19e0c9bab24000008411155b156110b157610f2984600563ffffffff610eb516565b680410d586a20a4c000084101580156110d3575068a2a15d09519be000008411155b1561100257610fec84600363ffffffff610eb516565b60068111156110f757600092505b5050919050565b600082820183811015610ed957fe5b60008080808061112486600a63ffffffff610eb516565b945061113785606463ffffffff61128216565b600b5490955061114d908663ffffffff6110fe16565b600b5561116186600f63ffffffff610eb516565b935061117484606463ffffffff61128216565b600d5490945061118a908563ffffffff6110fe16565b600d5561119e86600363ffffffff610eb516565b92506111b183606463ffffffff61128216565b600c549093506111c7908463ffffffff6110fe16565b600c556111db86600163ffffffff610eb516565b91506111ee82606463ffffffff61128216565b600e54909250611204908363ffffffff6110fe16565b600e5561121886600163ffffffff610eb516565b905061122b81606463ffffffff61128216565b600f54909150611241908263ffffffff6110fe16565b600f55505050505050565b600354600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561128057600080fd5b565b60008080831161128e57fe5b828481151561129957fe5b04905082848115156112a757fe5b068184020184141515610ed957fe5b6000828211156112c257fe5b50900390565b6000816112d36112ff565b600160a060020a039091168152602001604051809103906000f08015156112f957600080fd5b92915050565b6040516105a3806113108339019056006060604052341561000f57600080fd5b6040516020806105a38339810160405280805160028054600160a060020a03338116600160a060020a031992831681179092169091179091556311e1a3006000908155911681526001602052604090206af8277896582678ac000000905550506105258061007e6000396000f3006060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100a857806318160ddd146101325780632ff2e9dc14610157578063313ce5671461016a5780638da5cb5b1461017d5780638fe47625146101ac57806395d89b41146101cb578063bd51654b146101de578063c6c3bbe6146101fd578063f2fde38b14610227575b600080fd5b34156100b357600080fd5b6100bb610246565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100f75780820151838201526020016100df565b50505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013d57600080fd5b61014561027d565b60405190815260200160405180910390f35b341561016257600080fd5b610145610283565b341561017557600080fd5b61014561028b565b341561018857600080fd5b610190610290565b604051600160a060020a03909116815260200160405180910390f35b34156101b757600080fd5b610145600160a060020a036004351661029f565b34156101d657600080fd5b6100bb6102d9565b34156101e957600080fd5b610145600160a060020a0360043516610310565b341561020857600080fd5b610225600160a060020a036004358116906024351660443561033c565b005b341561023257600080fd5b610225600160a060020a0360043516610436565b60408051908101604052600781527f4554484545524100000000000000000000000000000000000000000000000000602082015281565b60005481565b6311e1a30081565b601281565b600254600160a060020a031681565b60025460009033600160a060020a039081169116146102bd57600080fd5b50600160a060020a031660009081526001602052604090205490565b60408051908101604052600381527f4554410000000000000000000000000000000000000000000000000000000000602082015281565b60025460009033600160a060020a0390811691161461032e57600080fd5b50600160a060020a03163190565b60025433600160a060020a0390811691161461035757600080fd5b600160a060020a0383166000908152600160205260409020548190101561037d57600080fd5b600160a060020a0382166000908152600160205260409020546103a6908263ffffffff6104d116565b600160a060020a0380841660009081526001602052604080822093909355908516815220546103db908263ffffffff6104e716565b600160a060020a038085166000818152600160205260409081902093909355908416917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a3505050565b60025433600160a060020a0390811691161461045157600080fd5b600160a060020a038116151561046657600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828201838110156104e057fe5b9392505050565b6000828211156104f357fe5b509003905600a165627a7a72305820b64d97dd4e7b82a3b59ecba2bb476f310bc8cba54903addccefff874c796d8860029a165627a7a72305820619a34d4beb874b3e169ad050fb053289c4573a707875f927bb9fa5a6e2c5e1a0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000005a5dbf10000000000000000000000000de54d403b16a3ebc9ed7860e3af94417889e19d7
-----Decoded View---------------
Arg [0] : _startTime (uint256): 1516093200
Arg [1] : _wallet (address): 0xde54d403B16a3EBC9Ed7860E3AF94417889E19D7
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005a5dbf10
Arg [1] : 000000000000000000000000de54d403b16a3ebc9ed7860e3af94417889e19d7
Swarm Source
bzzr://b64d97dd4e7b82a3b59ecba2bb476f310bc8cba54903addccefff874c796d886
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.