Source Code
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
XDMCCrowdsale
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-07-16
*/
pragma solidity ^0.4.23;
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
if (a == 0) {
return 0;
}
c = a * b;
assert(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
*/
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 a / b;
}
/**
* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
/**
* @dev Adds two numbers, throws on overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title ERC20Basic
* @dev Simpler version of ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/179
*/
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
*/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender)
public view returns (uint256);
function transferFrom(address from, address to, uint256 value)
public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
contract Ownable {
address public owner;
event OwnershipRenounced(address indexed previousOwner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor() 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) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipRenounced(owner);
owner = address(0);
}
}
/**
* @title Crowdsale
* @dev Crowdsale is a base contract for managing a token crowdsale,
* allowing investors to purchase tokens with ether. This contract implements
* such functionality in its most fundamental form and can be extended to provide additional
* functionality and/or custom behavior.
* The external interface represents the basic interface for purchasing tokens, and conform
* the base architecture for crowdsales. They are *not* intended to be modified / overriden.
* The internal interface conforms the extensible and modifiable surface of crowdsales. Override
* the methods to add functionality. Consider using 'super' where appropiate to concatenate
* behavior.
*/
contract XDMCCrowdsale is Ownable {
using SafeMath for uint256;
event Log(string _a, uint256 _b);
// The token being sold
ERC20 public token;
address wallet; //address for contribution receiving
uint256 public icoRate = 0; // will be set manually when ico starts
uint256 public icoOver1 = 0; // will be set manually when ico starts
uint256 public icoBonus1 = 0; // will be set manually when ico starts
uint256 public icoOver2 = 0; // will be set manually when ico starts
uint256 public icoBonus2 = 0; // will be set manually when ico starts
uint256 public icoOver3 = 0; // will be set manually when ico starts
uint256 public icoBonus3 = 0; // will be set manually when ico starts
uint256 public icoOver4 = 0; // will be set manually when ico starts
uint256 public icoBonus4 = 0; // will be set manually when ico starts
uint256 public icoOver5 = 0; // will be set manually when ico starts
uint256 public icoBonus5 = 0; // will be set manually when ico starts
uint256 public ico1cap = uint256(224502081).mul(1 ether);
uint256 public ico2cap = uint256(190996929).mul(1 ether);
uint256 public ico3cap = uint256(127331286).mul(1 ether);
enum Stages {Pause, Ico1, Ico1End, Ico2, Ico2End, Ico3, Ico3End}
Stages currentStage;
address public teamAddress = 0x4B58EBeEb96b7551Bb752Ea9512771615C554De3;
uint256 public vestingStartTime = 0;
uint256 public vestingPeriod = 15552000; // 180 days
uint256 public teamTokens = uint256(198639670).mul(1 ether);
uint256 public teamTokensPerPeriod = uint256(33768743).mul(1 ether);
uint256 public teamTokensReleased = 0;
uint256 public devTokensIco1 = uint256(52060948).mul(1 ether);
uint256 public devTokensIco2 = uint256(52060948).mul(1 ether);
uint256 public devTokensIco3 = uint256(53638554).mul(1 ether);
uint256 public ico1endTime = 0;
uint256 public ico2endTime = 0;
uint256 public ico3endTime = 0;
uint256 public getUnsoldPeriod = 8640000; // 100 days
uint256 public ico1total = 0;
uint256 public ico2total = 0;
uint256 public ico3total = 0;
uint256 public ico1receivedTotal = 0;
uint256 public ico2receivedTotal = 0;
uint256 public ico3receivedTotal = 0;
mapping(address => uint256) ico1amount;
mapping(address => uint256) ico2amount;
mapping(address => uint256) ico3amount;
mapping(address => uint256) ico1received;
mapping(address => uint256) ico2received;
mapping(address => uint256) ico3received;
// Amount of wei raised
uint256 public weiRaised;
/**
* 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
);
event TokenPriceDescription(
uint256 basePrice,
uint256 bonus,
uint256 tokens
);
/**
*
* @param _owner Address where collected funds will be forwarded to
* @param _token Address of the token being sold
*/
constructor(address _owner, address _wallet, ERC20 _token) public {
require(_owner != address(0));
require(_wallet != address(0));
require(_token != address(0));
currentStage = Stages.Pause;
vestingStartTime = now;
owner = _owner;
token = _token;
wallet = _wallet;
teamTokensReleased = teamTokensReleased.add(teamTokensPerPeriod);
}
// -----------------------------------------
// Crowdsale external interface
// -----------------------------------------
/**
* @dev fallback function ***DO NOT OVERRIDE***
*/
function () external payable {
buyTokens(msg.sender);
}
function startIco1(
uint256 _rate,
uint256 _over1,
uint256 _bonus1,
uint256 _over2,
uint256 _bonus2,
uint256 _over3,
uint256 _bonus3,
uint256 _over4,
uint256 _bonus4,
uint256 _over5,
uint256 _bonus5
) public onlyOwner returns (bool) {
require(currentStage == Stages.Pause);
require(token.balanceOf(address(this)) >= uint256(865461673).mul(1 ether));
require(_rate > 0);
currentStage = Stages.Ico1;
icoRate = _rate;
icoOver1 = _over1.mul(1 ether);
icoBonus1 = _bonus1;
icoOver2 = _over2.mul(1 ether);
icoBonus2 = _bonus2;
icoOver3 = _over3.mul(1 ether);
icoBonus3 = _bonus3;
icoOver4 = _over4.mul(1 ether);
icoBonus4 = _bonus4;
icoOver5 = _over5.mul(1 ether);
icoBonus5 = _bonus5;
require(token.transfer(owner, devTokensIco1));
return true;
}
function endIco1() public onlyOwner returns (bool) {
require(currentStage == Stages.Ico1);
currentStage = Stages.Ico1End;
ico1endTime = now;
return true;
}
function startIco2(
uint256 _rate,
uint256 _over1,
uint256 _bonus1,
uint256 _over2,
uint256 _bonus2,
uint256 _over3,
uint256 _bonus3,
uint256 _over4,
uint256 _bonus4,
uint256 _over5,
uint256 _bonus5
) public onlyOwner returns (bool) {
require(currentStage == Stages.Ico1End);
currentStage = Stages.Ico2;
if (_rate > 0) icoRate = _rate;
icoOver1 = _over1.mul(1 ether);
icoBonus1 = _bonus1;
icoOver2 = _over2.mul(1 ether);
icoBonus2 = _bonus2;
icoOver3 = _over3.mul(1 ether);
icoBonus3 = _bonus3;
icoOver4 = _over4.mul(1 ether);
icoBonus4 = _bonus4;
icoOver5 = _over5.mul(1 ether);
icoBonus5 = _bonus5;
require(token.transfer(owner, devTokensIco2));
return true;
}
function endIco2() public onlyOwner returns (bool) {
require(currentStage == Stages.Ico2);
currentStage = Stages.Ico2End;
ico2endTime = now;
return true;
}
function startIco3(
uint256 _rate,
uint256 _over1,
uint256 _bonus1,
uint256 _over2,
uint256 _bonus2,
uint256 _over3,
uint256 _bonus3,
uint256 _over4,
uint256 _bonus4,
uint256 _over5,
uint256 _bonus5
) public onlyOwner returns (bool) {
require(currentStage == Stages.Ico2End);
currentStage = Stages.Ico3;
if (_rate > 0) icoRate = _rate;
icoOver1 = _over1.mul(1 ether);
icoBonus1 = _bonus1;
icoOver2 = _over2.mul(1 ether);
icoBonus2 = _bonus2;
icoOver3 = _over3.mul(1 ether);
icoBonus3 = _bonus3;
icoOver4 = _over4.mul(1 ether);
icoBonus4 = _bonus4;
icoOver5 = _over5.mul(1 ether);
icoBonus5 = _bonus5;
require(token.transfer(owner, devTokensIco3));
return true;
}
function endIco3() public onlyOwner returns (bool) {
require(currentStage == Stages.Ico3);
currentStage = Stages.Ico3End;
ico3endTime = now;
return true;
}
function getUnsoldReceived(uint256 _stage, address _address) public view returns (uint256) {
if (_stage == 1) return ico1received[_address];
else if (_stage == 2) return ico2received[_address];
else if (_stage == 3) return ico3received[_address];
else return 0;
}
function getStageAmount(uint256 _stage, address _address) public view returns (uint256) {
if (_stage == 1) return ico1amount[_address];
else if (_stage == 2) return ico2amount[_address];
else if (_stage == 3) return ico3amount[_address];
else return 0;
}
function getStageName() public view returns (string) {
if (currentStage == Stages.Pause) return 'ICO is not started yet';
else if (currentStage == Stages.Ico1) return 'ICO 1';
else if (currentStage == Stages.Ico1End) return 'ICO 1 end';
else if (currentStage == Stages.Ico2) return 'ICO 2';
else if (currentStage == Stages.Ico2End) return 'ICO 2 end';
else if (currentStage == Stages.Ico3) return 'ICO 3';
else if (currentStage == Stages.Ico3End) return 'ICO 3 end';
return 'Undefined';
}
function getPrice() public view returns (uint256) {
if (currentStage == Stages.Ico1) return icoRate;
else if (currentStage == Stages.Ico2) return icoRate;
else if (currentStage == Stages.Ico3) return icoRate;
return 0;
}
function getBonus(uint256 _ether) public view returns (uint256) {
return _getBonus(_ether.mul(1 ether));
}
function _getBonus(uint256 _wei) internal view returns (uint256) {
if (
currentStage == Stages.Ico1 ||
currentStage == Stages.Ico2 ||
currentStage == Stages.Ico3
) {
if (_wei >= icoOver1) return icoBonus1;
else if (_wei >= icoOver2) return icoBonus2;
else if (_wei >= icoOver3) return icoBonus3;
else if (_wei >= icoOver4) return icoBonus4;
else if (_wei >= icoOver5) return icoBonus5;
return 0;
}
return 0;
}
function getVestingPeriodNumber() public view returns (uint256) {
if (vestingStartTime == 0) return 0;
return now.sub(vestingStartTime).div(vestingPeriod).add(1);
}
function getTeamToken() public {
uint256 vestingPeriodNumber = getVestingPeriodNumber();
require(vestingPeriodNumber > 1);
require(teamTokensReleased < teamTokens);
uint256 toRelease;
if (vestingPeriodNumber >= 6) toRelease = teamTokens;
else toRelease = vestingPeriodNumber.mul(teamTokensPerPeriod);
if (toRelease > teamTokens) toRelease = teamTokens;
toRelease = toRelease.sub(teamTokensReleased);
require(toRelease > 0);
teamTokensReleased = teamTokensReleased.add(toRelease);
require(token.transfer(teamAddress, toRelease));
}
/**
* @dev low level token purchase ***DO NOT OVERRIDE***
* @param _beneficiary Address performing the token purchase
*/
function buyTokens(address _beneficiary) public payable {
uint256 weiAmount = msg.value;
_preValidatePurchase(_beneficiary, weiAmount);
// calculate token amount to be created
uint256 tokens = _getTokenAmount(weiAmount);
_validateTokensAmount(tokens);
if (currentStage == Stages.Ico1) {
ico1amount[msg.sender] = ico1amount[msg.sender].add(tokens);
ico1total = ico1total.add(tokens);
} else if (currentStage == Stages.Ico2) {
ico2amount[msg.sender] = ico2amount[msg.sender].add(tokens);
ico2total = ico2total.add(tokens);
} else if (currentStage == Stages.Ico3) {
ico3amount[msg.sender] = ico3amount[msg.sender].add(tokens);
ico3total = ico3total.add(tokens);
}
weiRaised = weiRaised.add(weiAmount);
_processPurchase(_beneficiary, tokens);
emit TokenPurchase(msg.sender, _beneficiary, weiAmount, tokens);
_forwardFunds(weiAmount);
}
/**
* @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met. Use super to concatenate validations.
* @param _beneficiary Address performing the token purchase
* @param _weiAmount Value in wei involved in the purchase
*/
function _preValidatePurchase(address _beneficiary, uint256 _weiAmount) internal view {
require(_beneficiary != address(0));
require(_weiAmount >= 100 finney);
if (currentStage == Stages.Ico1) require(_weiAmount <= 1000 ether);
else if (currentStage == Stages.Ico2) require(_weiAmount <= 500 ether);
else if (currentStage == Stages.Ico3) require(_weiAmount <= 500 ether);
else revert();
}
function _validateTokensAmount(uint256 _tokens) internal view {
require(_tokens > 0);
if (currentStage == Stages.Ico1) require(_tokens <= ico1cap);
else if (currentStage == Stages.Ico2) require(_tokens <= ico2cap);
else if (currentStage == Stages.Ico3) require(_tokens <= ico3cap);
}
/**
* @dev Source of tokens. Override this method to modify the way in which the crowdsale ultimately gets and sends its tokens.
* @param _beneficiary Address performing the token purchase
* @param _tokenAmount Number of tokens to be emitted
*/
function _deliverTokens(address _beneficiary, uint256 _tokenAmount) internal {
require(token.transfer(_beneficiary, _tokenAmount));
}
/**
* @dev Executed when a purchase has been validated and is ready to be executed. Not necessarily emits/sends tokens.
* @param _beneficiary Address receiving the tokens
* @param _tokenAmount Number of tokens to be purchased
*/
function _processPurchase(address _beneficiary, uint256 _tokenAmount) internal {
_deliverTokens(_beneficiary, _tokenAmount);
}
/**
* @dev Override to extend the way in which ether is converted to tokens.
* @param _weiAmount Value in wei to be converted into tokens
* @return Number of tokens that can be purchased with the specified _weiAmount
*/
function _getTokenAmount(uint256 _weiAmount) internal returns (uint256) {
uint256 basePrice = icoRate;
uint256 tokens = _weiAmount.mul(basePrice);
uint256 bonuses = _getBonus(_weiAmount);
if (bonuses > 0) {
uint256 bonusTokens = tokens.mul(bonuses).div(100);
tokens = tokens.add(bonusTokens);
}
emit TokenPriceDescription(basePrice, bonuses, tokens);
return tokens;
}
/**
* @dev Determines how ETH is stored/forwarded on purchases.
*/
function _forwardFunds(uint256 _weiAmount) internal {
require(wallet != address(0));
wallet.transfer(_weiAmount);
}
function getUnsoldOwner() public onlyOwner returns (bool) {
uint256 unsoldTokensRemains = 0;
uint256 stageRemains;
if (
ico1endTime > 0 &&
now.sub(ico1endTime) > getUnsoldPeriod &&
ico1receivedTotal < ico1cap.sub(ico1total)
) {
stageRemains = ico1cap.sub(ico1total).sub(ico1receivedTotal);
unsoldTokensRemains = unsoldTokensRemains.add(stageRemains);
ico1receivedTotal = ico1cap.sub(ico1total);
}
if (
ico2endTime > 0 &&
now.sub(ico2endTime) > getUnsoldPeriod &&
ico2receivedTotal < ico2cap.sub(ico1total)
) {
stageRemains = ico2cap.sub(ico2total).sub(ico2receivedTotal);
unsoldTokensRemains = unsoldTokensRemains.add(stageRemains);
ico2receivedTotal = ico2cap.sub(ico2total);
}
if (
ico3endTime > 0 &&
now.sub(ico3endTime) > getUnsoldPeriod &&
ico3receivedTotal < ico3cap.sub(ico3total)
) {
stageRemains = ico3cap.sub(ico3total).sub(ico3receivedTotal);
unsoldTokensRemains = unsoldTokensRemains.add(stageRemains);
ico3receivedTotal = ico3cap.sub(ico3total);
}
require(unsoldTokensRemains > 0);
require(token.transfer(owner, unsoldTokensRemains));
return true;
}
function getUnsold() public returns (bool) {
uint256 unsoldTokensShare = 0;
uint256 tokenBalance = token.balanceOf(msg.sender);
uint256 stageShare;
uint256 stageRemains;
if (
ico1endTime > 0 &&
now.sub(ico1endTime) < getUnsoldPeriod &&
ico1received[msg.sender] == 0 &&
tokenBalance >= ico1amount[msg.sender]
) {
tokenBalance = tokenBalance.sub(ico1amount[msg.sender]);
stageRemains = ico1cap.sub(ico1total);
stageShare = stageRemains.mul(ico1amount[msg.sender]).div(ico1total);
unsoldTokensShare = unsoldTokensShare.add(stageShare);
ico1received[msg.sender] = stageShare;
ico1receivedTotal = ico1receivedTotal.add(stageShare);
require(ico1receivedTotal <= ico1cap.sub(ico1total));
}
if (
ico2endTime > 0 &&
now.sub(ico2endTime) < getUnsoldPeriod &&
ico2received[msg.sender] == 0 &&
tokenBalance >= ico2amount[msg.sender]
) {
tokenBalance = tokenBalance.sub(ico2amount[msg.sender]);
stageRemains = ico2cap.sub(ico2total);
stageShare = stageRemains.mul(ico2amount[msg.sender]).div(ico2total);
unsoldTokensShare = unsoldTokensShare.add(stageShare);
ico2received[msg.sender] = stageShare;
ico2receivedTotal = ico2receivedTotal.add(stageShare);
require(ico2receivedTotal <= ico2cap.sub(ico2total));
}
if (
ico3endTime > 0 &&
now.sub(ico3endTime) < getUnsoldPeriod &&
ico3received[msg.sender] == 0 &&
tokenBalance >= ico3amount[msg.sender]
) {
stageRemains = ico3cap.sub(ico3total);
stageShare = stageRemains.mul(ico3amount[msg.sender]).div(ico3total);
unsoldTokensShare = unsoldTokensShare.add(stageShare);
ico3received[msg.sender] = stageShare;
ico3receivedTotal = ico3receivedTotal.add(stageShare);
require(ico3receivedTotal <= ico3cap.sub(ico3total));
}
require(unsoldTokensShare > 0);
require(token.transfer(msg.sender, unsoldTokensShare));
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"ico1total","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoOver4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"devTokensIco1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoOver1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico1receivedTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endIco1","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"},{"name":"_over1","type":"uint256"},{"name":"_bonus1","type":"uint256"},{"name":"_over2","type":"uint256"},{"name":"_bonus2","type":"uint256"},{"name":"_over3","type":"uint256"},{"name":"_bonus3","type":"uint256"},{"name":"_over4","type":"uint256"},{"name":"_bonus4","type":"uint256"},{"name":"_over5","type":"uint256"},{"name":"_bonus5","type":"uint256"}],"name":"startIco1","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoOver3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"endIco3","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"endIco2","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamTokensPerPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getVestingPeriodNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico3cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ether","type":"uint256"}],"name":"getBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoBonus2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getTeamToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"devTokensIco3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getUnsold","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"},{"name":"_over1","type":"uint256"},{"name":"_bonus1","type":"uint256"},{"name":"_over2","type":"uint256"},{"name":"_bonus2","type":"uint256"},{"name":"_over3","type":"uint256"},{"name":"_bonus3","type":"uint256"},{"name":"_over4","type":"uint256"},{"name":"_bonus4","type":"uint256"},{"name":"_over5","type":"uint256"},{"name":"_bonus5","type":"uint256"}],"name":"startIco2","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoOver5","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoBonus5","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico2endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vestingPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico1endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStageName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoBonus4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stage","type":"uint256"},{"name":"_address","type":"address"}],"name":"getStageAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico3endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico2cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stage","type":"uint256"},{"name":"_address","type":"address"}],"name":"getUnsoldReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"},{"name":"_over1","type":"uint256"},{"name":"_bonus1","type":"uint256"},{"name":"_over2","type":"uint256"},{"name":"_bonus2","type":"uint256"},{"name":"_over3","type":"uint256"},{"name":"_bonus3","type":"uint256"},{"name":"_over4","type":"uint256"},{"name":"_bonus4","type":"uint256"},{"name":"_over5","type":"uint256"},{"name":"_bonus5","type":"uint256"}],"name":"startIco3","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vestingStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico2receivedTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"devTokensIco2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico1cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoBonus3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamTokensReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getUnsoldPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoBonus1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoOver2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getUnsoldOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ico3receivedTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ico3total","outputs":[{"name":"","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":"ico2total","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_wallet","type":"address"},{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_a","type":"string"},{"indexed":false,"name":"_b","type":"uint256"}],"name":"Log","type":"event"},{"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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"basePrice","type":"uint256"},{"indexed":false,"name":"bonus","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"TokenPriceDescription","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
608060405260006003556000600455600060055560006006556000600755600060085560006009556000600a556000600b556000600c556000600d556200006a670de0b6b3a7640000630d61a141620002f864010000000002620021f8179091906401000000009004565b600e5562000093630b6261c1670de0b6b3a7640000640100000000620021f8620002f882021704565b600f55620000bc630796ebd6670de0b6b3a7640000640100000000620021f8620002f882021704565b6010556011805461010060a860020a031916744b58ebeeb96b7551bb752ea9512771615c554de300179055600060125562ed4e0060135562000119630bd70036670de0b6b3a7640000640100000000620002f88102620021f81704565b601455620001426302034527670de0b6b3a7640000640100000000620021f8620002f882021704565b60155560006016556200017063031a6314670de0b6b3a7640000640100000000620021f8620002f882021704565b6017556200019963031a6314670de0b6b3a7640000640100000000620021f8620002f882021704565b601855620001c2630332759a670de0b6b3a7640000640100000000620021f8620002f882021704565b6019556000601a556000601b556000601c556283d600601d556000601e556000601f5560006020556000602155600060225560006023553480156200020657600080fd5b50604051606080620026d183398101604090815281516020830151919092015160008054600160a060020a03191633600160a060020a0390811691909117909155831615156200025557600080fd5b600160a060020a03821615156200026b57600080fd5b600160a060020a03811615156200028157600080fd5b6011805460ff191690554260125560008054600160a060020a03858116600160a060020a031992831617909255600180548484169083161790556002805492851692909116919091179055601554601654620002eb91640100000000620021906200032b82021704565b6016555062000339915050565b60008215156200030b5750600062000325565b508181028183828115156200031c57fe5b04146200032557fe5b92915050565b818101828110156200032557fe5b61238880620003496000396000f3006080604052600436106102865763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662d4b959811461029157806304b370ab146102b85780631b476945146102cd5780631c75f085146102e25780632298b9ce1461031357806324c0db841461032857806328d423501461033d5780632d0d482714610366578063300d9e901461039f57806330fbe411146103b4578063341bcbc1146103c957806336a3668a146103de5780634042b66f146103f357806345fa404514610408578063491737f21461041d5780634aa66b28146104325780634aaceed31461044a5780635403a0e51461045f578063581d1d041461047457806363a3c4521461048957806365f970821461049e5780636889cf86146104d75780636c1f27fe146104ec578063713955e814610501578063715018a6146105165780637313ee5a1461052b578063797bfaf31461054057806382f4ef731461055557806387a3e445146105df5780638da5cb5b146105f45780638f7d7384146106095780638fc6bf7f1461062d57806398d5fdca146106425780639bfba3c6146106575780639cc3e4b41461066c5780639e33118814610690578063a8660a78146106c9578063afef07da146106de578063b155c7d6146106f3578063b298485814610708578063b412b4451461071d578063c0b241d714610732578063c3e3c7bc14610747578063cd8817421461075c578063cda3c00114610771578063d531eeaa14610786578063d723879c1461079b578063d7d1bdbd146107b0578063d8e71b35146107c5578063e644d886146107da578063ec8ac4d8146107ef578063f0e5eeac14610803578063f2fde38b14610818578063fc0c546a14610839575b61028f3361084e565b005b34801561029d57600080fd5b506102a6610a52565b60408051918252519081900360200190f35b3480156102c457600080fd5b506102a6610a58565b3480156102d957600080fd5b506102a6610a5e565b3480156102ee57600080fd5b506102f7610a64565b60408051600160a060020a039092168252519081900360200190f35b34801561031f57600080fd5b506102a6610a78565b34801561033457600080fd5b506102a6610a7e565b34801561034957600080fd5b50610352610a84565b604080519115158252519081900360200190f35b34801561037257600080fd5b5061035260043560243560443560643560843560a43560c43560e435610104356101243561014435610ad5565b3480156103ab57600080fd5b506102a6610d2e565b3480156103c057600080fd5b50610352610d34565b3480156103d557600080fd5b50610352610d84565b3480156103ea57600080fd5b506102a6610dd4565b3480156103ff57600080fd5b506102a6610dda565b34801561041457600080fd5b506102a6610de0565b34801561042957600080fd5b506102a6610e32565b34801561043e57600080fd5b506102a6600435610e38565b34801561045657600080fd5b506102a6610e62565b34801561046b57600080fd5b5061028f610e68565b34801561048057600080fd5b506102a6610f9e565b34801561049557600080fd5b50610352610fa4565b3480156104aa57600080fd5b5061035260043560243560443560643560843560a43560c43560e4356101043561012435610144356114b5565b3480156104e357600080fd5b506102a661160d565b3480156104f857600080fd5b506102a6611613565b34801561050d57600080fd5b506102a6611619565b34801561052257600080fd5b5061028f61161f565b34801561053757600080fd5b506102a661168f565b34801561054c57600080fd5b506102a6611695565b34801561056157600080fd5b5061056a61169b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105a457818101518382015260200161058c565b50505050905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105eb57600080fd5b506102a661191a565b34801561060057600080fd5b506102f7611920565b34801561061557600080fd5b506102a6600435600160a060020a036024351661192f565b34801561063957600080fd5b506102a66119b3565b34801561064e57600080fd5b506102a66119b9565b34801561066357600080fd5b506102a6611a27565b34801561067857600080fd5b506102a6600435600160a060020a0360243516611a2d565b34801561069c57600080fd5b5061035260043560243560443560643560843560a43560c43560e435610104356101243561014435611aa7565b3480156106d557600080fd5b506102a6611bff565b3480156106ea57600080fd5b506102a6611c05565b3480156106ff57600080fd5b506102a6611c0b565b34801561071457600080fd5b506102a6611c11565b34801561072957600080fd5b506102a6611c17565b34801561073e57600080fd5b506102a6611c1d565b34801561075357600080fd5b506102a6611c23565b34801561076857600080fd5b506102a6611c29565b34801561077d57600080fd5b506102a6611c2f565b34801561079257600080fd5b506102a6611c35565b3480156107a757600080fd5b506102a6611c3b565b3480156107bc57600080fd5b50610352611c41565b3480156107d157600080fd5b506102a6611ee6565b3480156107e657600080fd5b506102a6611eec565b61028f600160a060020a036004351661084e565b34801561080f57600080fd5b506102a6611ef2565b34801561082457600080fd5b5061028f600160a060020a0360043516611ef8565b34801561084557600080fd5b506102f7611f90565b34600061085b8383611f9f565b61086482612060565b905061086f81612103565b600160115460ff16600681111561088257fe5b14156108e557600160a060020a0333166000908152602460205260409020546108b1908263ffffffff61219016565b600160a060020a033316600090815260246020526040902055601e546108dd908263ffffffff61219016565b601e556109d1565b600360115460ff1660068111156108f857fe5b141561095b57600160a060020a033316600090815260256020526040902054610927908263ffffffff61219016565b600160a060020a033316600090815260256020526040902055601f54610953908263ffffffff61219016565b601f556109d1565b600560115460ff16600681111561096e57fe5b14156109d157600160a060020a03331660009081526026602052604090205461099d908263ffffffff61219016565b600160a060020a033316600090815260266020908152604090912091909155546109cd908263ffffffff61219016565b6020555b602a546109e4908363ffffffff61219016565b602a556109f1838261219d565b82600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3610a4d826121a7565b505050565b601e5481565b600a5481565b60175481565b6011546101009004600160a060020a031681565b60045481565b60215481565b6000805433600160a060020a03908116911614610aa057600080fd5b600160115460ff166006811115610ab357fe5b14610abd57600080fd5b506011805460ff1916600217905542601a5560015b90565b6000805433600160a060020a03908116911614610af157600080fd5b600060115460ff166006811115610b0457fe5b14610b0e57600080fd5b610b2a633395e5a9670de0b6b3a764000063ffffffff6121f816565b600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a033081166004830152915191909216916370a082319160248083019260209291908290030181600087803b158015610b9257600080fd5b505af1158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b50511015610bc957600080fd5b60008c11610bd657600080fd5b6011805460ff1916600117905560038c9055610bfa8b670de0b6b3a76400006121f8565b60045560058a9055610c1a89670de0b6b3a764000063ffffffff6121f816565b6006556007889055610c3a87670de0b6b3a764000063ffffffff6121f816565b6008556009869055610c5a85670de0b6b3a764000063ffffffff6121f816565b600a55600b849055610c7a83670de0b6b3a764000063ffffffff6121f816565b600c55600d829055600154600080546017546040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505050506040513d6020811015610d0f57600080fd5b50511515610d1c57600080fd5b5060019b9a5050505050505050505050565b60085481565b6000805433600160a060020a03908116911614610d5057600080fd5b600560115460ff166006811115610d6357fe5b14610d6d57600080fd5b506011805460ff1916600617905542601c55600190565b6000805433600160a060020a03908116911614610da057600080fd5b600360115460ff166006811115610db357fe5b14610dbd57600080fd5b506011805460ff1916600417905542601b55600190565b60155481565b602a5481565b600060125460001415610df557506000610ad2565b610e2d6001610e21601354610e156012544261222190919063ffffffff16565b9063ffffffff61223316565b9063ffffffff61219016565b905090565b60105481565b6000610e5a610e5583670de0b6b3a764000063ffffffff6121f816565b612248565b90505b919050565b60075481565b600080610e73610de0565b915060018211610e8257600080fd5b60145460165410610e9257600080fd5b60068210610ea35750601454610eba565b601554610eb790839063ffffffff6121f816565b90505b601454811115610ec957506014545b601654610edd90829063ffffffff61222116565b905060008111610eec57600080fd5b601654610eff908263ffffffff61219016565b6016556001546011546040805160e060020a63a9059cbb028152610100909204600160a060020a03908116600484015260248301859052905192169163a9059cbb916044808201926020929091908290030181600087803b158015610f6357600080fd5b505af1158015610f77573d6000803e3d6000fd5b505050506040513d6020811015610f8d57600080fd5b50511515610f9a57600080fd5b5050565b60195481565b600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301529151600093849384938493849392909216916370a082319160248082019260209290919082900301818787803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d602081101561104157600080fd5b5051601a54909350600010801561106c5750601d54601a5461106a90429063ffffffff61222116565b105b801561108e5750600160a060020a033316600090815260276020526040902054155b80156110b25750600160a060020a0333166000908152602460205260409020548310155b1561119757600160a060020a0333166000908152602460205260409020546110e190849063ffffffff61222116565b92506110fa601e54600e5461222190919063ffffffff16565b601e54600160a060020a03331660009081526024602052604090205491925061112e91610e1590849063ffffffff6121f816565b9150611140848363ffffffff61219016565b600160a060020a0333166000908152602760205260409020839055602154909450611171908363ffffffff61219016565b602155601e54600e546111899163ffffffff61222116565b602154111561119757600080fd5b6000601b541180156111bd5750601d54601b546111bb90429063ffffffff61222116565b105b80156111df5750600160a060020a033316600090815260286020526040902054155b80156112035750600160a060020a0333166000908152602560205260409020548310155b156112e857600160a060020a03331660009081526025602052604090205461123290849063ffffffff61222116565b925061124b601f54600f5461222190919063ffffffff16565b601f54600160a060020a03331660009081526025602052604090205491925061127f91610e1590849063ffffffff6121f816565b9150611291848363ffffffff61219016565b600160a060020a03331660009081526028602052604090208390556022549094506112c2908363ffffffff61219016565b602255601f54600f546112da9163ffffffff61222116565b60225411156112e857600080fd5b6000601c5411801561130e5750601d54601c5461130c90429063ffffffff61222116565b105b80156113305750600160a060020a033316600090815260296020526040902054155b80156113545750600160a060020a0333166000908152602660205260409020548310155b1561140d5760205460105461136e9163ffffffff61222116565b60208054600160a060020a033316600090815260269092526040909120549192506113a491610e1590849063ffffffff6121f816565b91506113b6848363ffffffff61219016565b600160a060020a03331660009081526029602052604090208390556023549094506113e7908363ffffffff61219016565b6023556020546010546113ff9163ffffffff61222116565b602354111561140d57600080fd5b6000841161141a57600080fd5b6001546040805160e060020a63a9059cbb028152600160a060020a033381166004830152602482018890529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050506040513d602081101561149d57600080fd5b505115156114aa57600080fd5b600194505050505090565b6000805433600160a060020a039081169116146114d157600080fd5b600260115460ff1660068111156114e457fe5b146114ee57600080fd5b6011805460ff1916600317905560008c111561150a5760038c90555b6115228b670de0b6b3a764000063ffffffff6121f816565b60045560058a905561154289670de0b6b3a764000063ffffffff6121f816565b600655600788905561156287670de0b6b3a764000063ffffffff6121f816565b600855600986905561158285670de0b6b3a764000063ffffffff6121f816565b600a55600b8490556115a283670de0b6b3a764000063ffffffff6121f816565b600c55600d829055600154600080546018546040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ce557600080fd5b600c5481565b600d5481565b601b5481565b60005433600160a060020a0390811691161461163a57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60135481565b601a5481565b6060600060115460ff1660068111156116b057fe5b14156116f0575060408051808201909152601681527f49434f206973206e6f74207374617274656420796574000000000000000000006020820152610ad2565b600160115460ff16600681111561170357fe5b1415611743575060408051808201909152600581527f49434f20310000000000000000000000000000000000000000000000000000006020820152610ad2565b600260115460ff16600681111561175657fe5b1415611796575060408051808201909152600981527f49434f203120656e6400000000000000000000000000000000000000000000006020820152610ad2565b600360115460ff1660068111156117a957fe5b14156117e9575060408051808201909152600581527f49434f20320000000000000000000000000000000000000000000000000000006020820152610ad2565b600460115460ff1660068111156117fc57fe5b141561183c575060408051808201909152600981527f49434f203220656e6400000000000000000000000000000000000000000000006020820152610ad2565b600560115460ff16600681111561184f57fe5b141561188f575060408051808201909152600581527f49434f20330000000000000000000000000000000000000000000000000000006020820152610ad2565b600660115460ff1660068111156118a257fe5b14156118e2575060408051808201909152600981527f49434f203320656e6400000000000000000000000000000000000000000000006020820152610ad2565b5060408051808201909152600981527f556e646566696e65640000000000000000000000000000000000000000000000602082015290565b600b5481565b600054600160a060020a031681565b600082600114156119595750600160a060020a0381166000908152602460205260409020546119ad565b82600214156119815750600160a060020a0381166000908152602560205260409020546119ad565b82600314156119a95750600160a060020a0381166000908152602660205260409020546119ad565b5060005b92915050565b601c5481565b6000600160115460ff1660068111156119ce57fe5b14156119dd5750600354610ad2565b600360115460ff1660068111156119f057fe5b14156119ff5750600354610ad2565b600560115460ff166006811115611a1257fe5b1415611a215750600354610ad2565b50600090565b600f5481565b60008260011415611a575750600160a060020a0381166000908152602760205260409020546119ad565b8260021415611a7f5750600160a060020a0381166000908152602860205260409020546119ad565b82600314156119a95750600160a060020a0381166000908152602960205260409020546119ad565b6000805433600160a060020a03908116911614611ac357600080fd5b600460115460ff166006811115611ad657fe5b14611ae057600080fd5b6011805460ff1916600517905560008c1115611afc5760038c90555b611b148b670de0b6b3a764000063ffffffff6121f816565b60045560058a9055611b3489670de0b6b3a764000063ffffffff6121f816565b6006556007889055611b5487670de0b6b3a764000063ffffffff6121f816565b6008556009869055611b7485670de0b6b3a764000063ffffffff6121f816565b600a55600b849055611b9483670de0b6b3a764000063ffffffff6121f816565b600c55600d829055600154600080546019546040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ce557600080fd5b60125481565b60225481565b60185481565b600e5481565b60095481565b60035481565b60145481565b60165481565b601d5481565b60055481565b60065481565b600080548190819033600160a060020a03908116911614611c6157600080fd5b600091506000601a54118015611c8b5750601d54601a54611c8990429063ffffffff61222116565b115b8015611cac5750601e54600e54611ca79163ffffffff61222116565b602154105b15611d0957611cda602154611cce601e54600e5461222190919063ffffffff16565b9063ffffffff61222116565b9050611cec828263ffffffff61219016565b9150611d05601e54600e5461222190919063ffffffff16565b6021555b6000601b54118015611d2f5750601d54601b54611d2d90429063ffffffff61222116565b115b8015611d505750601e54600f54611d4b9163ffffffff61222116565b602254105b15611da157611d72602254611cce601f54600f5461222190919063ffffffff16565b9050611d84828263ffffffff61219016565b9150611d9d601f54600f5461222190919063ffffffff16565b6022555b6000601c54118015611dc75750601d54601c54611dc590429063ffffffff61222116565b115b8015611de85750602054601054611de39163ffffffff61222116565b602354105b15611e3957611e0a602354611cce60205460105461222190919063ffffffff16565b9050611e1c828263ffffffff61219016565b9150611e3560205460105461222190919063ffffffff16565b6023555b60008211611e4657600080fd5b600154600080546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018790529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b505050506040513d6020811015611ed057600080fd5b50511515611edd57600080fd5b60019250505090565b60235481565b60205481565b601f5481565b60005433600160a060020a03908116911614611f1357600080fd5b600160a060020a0381161515611f2857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b600160a060020a0382161515611fb457600080fd5b67016345785d8a0000811015611fc957600080fd5b600160115460ff166006811115611fdc57fe5b1415611ffd57683635c9adc5dea00000811115611ff857600080fd5b610f9a565b600360115460ff16600681111561201057fe5b141561202c57681b1ae4d6e2ef500000811115611ff857600080fd5b600560115460ff16600681111561203f57fe5b141561205b57681b1ae4d6e2ef500000811115611ff857600080fd5b600080fd5b600354600090818080612079868563ffffffff6121f816565b925061208486612248565b915060008211156120b9576120a46064610e15858563ffffffff6121f816565b90506120b6838263ffffffff61219016565b92505b604080518581526020810184905280820185905290517f7cc8a87f4d102e6dc62e1fee572de75e79185381eba451840e8b026937a869109181900360600190a15090949350505050565b6000811161211057600080fd5b600160115460ff16600681111561212357fe5b141561213d57600e5481111561213857600080fd5b61218d565b600360115460ff16600681111561215057fe5b141561216557600f5481111561213857600080fd5b600560115460ff16600681111561217857fe5b141561218d5760105481111561218d57600080fd5b50565b818101828110156119ad57fe5b610f9a8282612303565b600254600160a060020a031615156121be57600080fd5b600254604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610f9a573d6000803e3d6000fd5b6000821515612209575060006119ad565b5081810281838281151561221957fe5b04146119ad57fe5b60008282111561222d57fe5b50900390565b6000818381151561224057fe5b049392505050565b6000600160115460ff16600681111561225d57fe5b14806122795750600360115460ff16600681111561227757fe5b145b806122945750600560115460ff16600681111561229257fe5b145b156122fb5760045482106122ab5750600554610e5d565b60065482106122bd5750600754610e5d565b60085482106122cf5750600954610e5d565b600a5482106122e15750600b54610e5d565b600c5482106122f35750600d54610e5d565b506000610e5d565b506000919050565b6001546040805160e060020a63a9059cbb028152600160a060020a038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015610f6357600080fd00a165627a7a723058202ae42fbe46c2dd86c3b0483244e1fde335e86888c6773b1532d71d028451e4ec00290000000000000000000000008b906a2dcf3cbc4d3614bcfe9b921ad129c418b6000000000000000000000000f5728d9aba555e4b16e023db42bb8553794720e400000000000000000000000087f0e615ab8e7d5da906036b7efdd5af5ff6a9b7
Deployed Bytecode
0x6080604052600436106102865763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662d4b959811461029157806304b370ab146102b85780631b476945146102cd5780631c75f085146102e25780632298b9ce1461031357806324c0db841461032857806328d423501461033d5780632d0d482714610366578063300d9e901461039f57806330fbe411146103b4578063341bcbc1146103c957806336a3668a146103de5780634042b66f146103f357806345fa404514610408578063491737f21461041d5780634aa66b28146104325780634aaceed31461044a5780635403a0e51461045f578063581d1d041461047457806363a3c4521461048957806365f970821461049e5780636889cf86146104d75780636c1f27fe146104ec578063713955e814610501578063715018a6146105165780637313ee5a1461052b578063797bfaf31461054057806382f4ef731461055557806387a3e445146105df5780638da5cb5b146105f45780638f7d7384146106095780638fc6bf7f1461062d57806398d5fdca146106425780639bfba3c6146106575780639cc3e4b41461066c5780639e33118814610690578063a8660a78146106c9578063afef07da146106de578063b155c7d6146106f3578063b298485814610708578063b412b4451461071d578063c0b241d714610732578063c3e3c7bc14610747578063cd8817421461075c578063cda3c00114610771578063d531eeaa14610786578063d723879c1461079b578063d7d1bdbd146107b0578063d8e71b35146107c5578063e644d886146107da578063ec8ac4d8146107ef578063f0e5eeac14610803578063f2fde38b14610818578063fc0c546a14610839575b61028f3361084e565b005b34801561029d57600080fd5b506102a6610a52565b60408051918252519081900360200190f35b3480156102c457600080fd5b506102a6610a58565b3480156102d957600080fd5b506102a6610a5e565b3480156102ee57600080fd5b506102f7610a64565b60408051600160a060020a039092168252519081900360200190f35b34801561031f57600080fd5b506102a6610a78565b34801561033457600080fd5b506102a6610a7e565b34801561034957600080fd5b50610352610a84565b604080519115158252519081900360200190f35b34801561037257600080fd5b5061035260043560243560443560643560843560a43560c43560e435610104356101243561014435610ad5565b3480156103ab57600080fd5b506102a6610d2e565b3480156103c057600080fd5b50610352610d34565b3480156103d557600080fd5b50610352610d84565b3480156103ea57600080fd5b506102a6610dd4565b3480156103ff57600080fd5b506102a6610dda565b34801561041457600080fd5b506102a6610de0565b34801561042957600080fd5b506102a6610e32565b34801561043e57600080fd5b506102a6600435610e38565b34801561045657600080fd5b506102a6610e62565b34801561046b57600080fd5b5061028f610e68565b34801561048057600080fd5b506102a6610f9e565b34801561049557600080fd5b50610352610fa4565b3480156104aa57600080fd5b5061035260043560243560443560643560843560a43560c43560e4356101043561012435610144356114b5565b3480156104e357600080fd5b506102a661160d565b3480156104f857600080fd5b506102a6611613565b34801561050d57600080fd5b506102a6611619565b34801561052257600080fd5b5061028f61161f565b34801561053757600080fd5b506102a661168f565b34801561054c57600080fd5b506102a6611695565b34801561056157600080fd5b5061056a61169b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105a457818101518382015260200161058c565b50505050905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105eb57600080fd5b506102a661191a565b34801561060057600080fd5b506102f7611920565b34801561061557600080fd5b506102a6600435600160a060020a036024351661192f565b34801561063957600080fd5b506102a66119b3565b34801561064e57600080fd5b506102a66119b9565b34801561066357600080fd5b506102a6611a27565b34801561067857600080fd5b506102a6600435600160a060020a0360243516611a2d565b34801561069c57600080fd5b5061035260043560243560443560643560843560a43560c43560e435610104356101243561014435611aa7565b3480156106d557600080fd5b506102a6611bff565b3480156106ea57600080fd5b506102a6611c05565b3480156106ff57600080fd5b506102a6611c0b565b34801561071457600080fd5b506102a6611c11565b34801561072957600080fd5b506102a6611c17565b34801561073e57600080fd5b506102a6611c1d565b34801561075357600080fd5b506102a6611c23565b34801561076857600080fd5b506102a6611c29565b34801561077d57600080fd5b506102a6611c2f565b34801561079257600080fd5b506102a6611c35565b3480156107a757600080fd5b506102a6611c3b565b3480156107bc57600080fd5b50610352611c41565b3480156107d157600080fd5b506102a6611ee6565b3480156107e657600080fd5b506102a6611eec565b61028f600160a060020a036004351661084e565b34801561080f57600080fd5b506102a6611ef2565b34801561082457600080fd5b5061028f600160a060020a0360043516611ef8565b34801561084557600080fd5b506102f7611f90565b34600061085b8383611f9f565b61086482612060565b905061086f81612103565b600160115460ff16600681111561088257fe5b14156108e557600160a060020a0333166000908152602460205260409020546108b1908263ffffffff61219016565b600160a060020a033316600090815260246020526040902055601e546108dd908263ffffffff61219016565b601e556109d1565b600360115460ff1660068111156108f857fe5b141561095b57600160a060020a033316600090815260256020526040902054610927908263ffffffff61219016565b600160a060020a033316600090815260256020526040902055601f54610953908263ffffffff61219016565b601f556109d1565b600560115460ff16600681111561096e57fe5b14156109d157600160a060020a03331660009081526026602052604090205461099d908263ffffffff61219016565b600160a060020a033316600090815260266020908152604090912091909155546109cd908263ffffffff61219016565b6020555b602a546109e4908363ffffffff61219016565b602a556109f1838261219d565b82600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a3610a4d826121a7565b505050565b601e5481565b600a5481565b60175481565b6011546101009004600160a060020a031681565b60045481565b60215481565b6000805433600160a060020a03908116911614610aa057600080fd5b600160115460ff166006811115610ab357fe5b14610abd57600080fd5b506011805460ff1916600217905542601a5560015b90565b6000805433600160a060020a03908116911614610af157600080fd5b600060115460ff166006811115610b0457fe5b14610b0e57600080fd5b610b2a633395e5a9670de0b6b3a764000063ffffffff6121f816565b600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a033081166004830152915191909216916370a082319160248083019260209291908290030181600087803b158015610b9257600080fd5b505af1158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b50511015610bc957600080fd5b60008c11610bd657600080fd5b6011805460ff1916600117905560038c9055610bfa8b670de0b6b3a76400006121f8565b60045560058a9055610c1a89670de0b6b3a764000063ffffffff6121f816565b6006556007889055610c3a87670de0b6b3a764000063ffffffff6121f816565b6008556009869055610c5a85670de0b6b3a764000063ffffffff6121f816565b600a55600b849055610c7a83670de0b6b3a764000063ffffffff6121f816565b600c55600d829055600154600080546017546040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505050506040513d6020811015610d0f57600080fd5b50511515610d1c57600080fd5b5060019b9a5050505050505050505050565b60085481565b6000805433600160a060020a03908116911614610d5057600080fd5b600560115460ff166006811115610d6357fe5b14610d6d57600080fd5b506011805460ff1916600617905542601c55600190565b6000805433600160a060020a03908116911614610da057600080fd5b600360115460ff166006811115610db357fe5b14610dbd57600080fd5b506011805460ff1916600417905542601b55600190565b60155481565b602a5481565b600060125460001415610df557506000610ad2565b610e2d6001610e21601354610e156012544261222190919063ffffffff16565b9063ffffffff61223316565b9063ffffffff61219016565b905090565b60105481565b6000610e5a610e5583670de0b6b3a764000063ffffffff6121f816565b612248565b90505b919050565b60075481565b600080610e73610de0565b915060018211610e8257600080fd5b60145460165410610e9257600080fd5b60068210610ea35750601454610eba565b601554610eb790839063ffffffff6121f816565b90505b601454811115610ec957506014545b601654610edd90829063ffffffff61222116565b905060008111610eec57600080fd5b601654610eff908263ffffffff61219016565b6016556001546011546040805160e060020a63a9059cbb028152610100909204600160a060020a03908116600484015260248301859052905192169163a9059cbb916044808201926020929091908290030181600087803b158015610f6357600080fd5b505af1158015610f77573d6000803e3d6000fd5b505050506040513d6020811015610f8d57600080fd5b50511515610f9a57600080fd5b5050565b60195481565b600154604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301529151600093849384938493849392909216916370a082319160248082019260209290919082900301818787803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d602081101561104157600080fd5b5051601a54909350600010801561106c5750601d54601a5461106a90429063ffffffff61222116565b105b801561108e5750600160a060020a033316600090815260276020526040902054155b80156110b25750600160a060020a0333166000908152602460205260409020548310155b1561119757600160a060020a0333166000908152602460205260409020546110e190849063ffffffff61222116565b92506110fa601e54600e5461222190919063ffffffff16565b601e54600160a060020a03331660009081526024602052604090205491925061112e91610e1590849063ffffffff6121f816565b9150611140848363ffffffff61219016565b600160a060020a0333166000908152602760205260409020839055602154909450611171908363ffffffff61219016565b602155601e54600e546111899163ffffffff61222116565b602154111561119757600080fd5b6000601b541180156111bd5750601d54601b546111bb90429063ffffffff61222116565b105b80156111df5750600160a060020a033316600090815260286020526040902054155b80156112035750600160a060020a0333166000908152602560205260409020548310155b156112e857600160a060020a03331660009081526025602052604090205461123290849063ffffffff61222116565b925061124b601f54600f5461222190919063ffffffff16565b601f54600160a060020a03331660009081526025602052604090205491925061127f91610e1590849063ffffffff6121f816565b9150611291848363ffffffff61219016565b600160a060020a03331660009081526028602052604090208390556022549094506112c2908363ffffffff61219016565b602255601f54600f546112da9163ffffffff61222116565b60225411156112e857600080fd5b6000601c5411801561130e5750601d54601c5461130c90429063ffffffff61222116565b105b80156113305750600160a060020a033316600090815260296020526040902054155b80156113545750600160a060020a0333166000908152602660205260409020548310155b1561140d5760205460105461136e9163ffffffff61222116565b60208054600160a060020a033316600090815260269092526040909120549192506113a491610e1590849063ffffffff6121f816565b91506113b6848363ffffffff61219016565b600160a060020a03331660009081526029602052604090208390556023549094506113e7908363ffffffff61219016565b6023556020546010546113ff9163ffffffff61222116565b602354111561140d57600080fd5b6000841161141a57600080fd5b6001546040805160e060020a63a9059cbb028152600160a060020a033381166004830152602482018890529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050506040513d602081101561149d57600080fd5b505115156114aa57600080fd5b600194505050505090565b6000805433600160a060020a039081169116146114d157600080fd5b600260115460ff1660068111156114e457fe5b146114ee57600080fd5b6011805460ff1916600317905560008c111561150a5760038c90555b6115228b670de0b6b3a764000063ffffffff6121f816565b60045560058a905561154289670de0b6b3a764000063ffffffff6121f816565b600655600788905561156287670de0b6b3a764000063ffffffff6121f816565b600855600986905561158285670de0b6b3a764000063ffffffff6121f816565b600a55600b8490556115a283670de0b6b3a764000063ffffffff6121f816565b600c55600d829055600154600080546018546040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ce557600080fd5b600c5481565b600d5481565b601b5481565b60005433600160a060020a0390811691161461163a57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60135481565b601a5481565b6060600060115460ff1660068111156116b057fe5b14156116f0575060408051808201909152601681527f49434f206973206e6f74207374617274656420796574000000000000000000006020820152610ad2565b600160115460ff16600681111561170357fe5b1415611743575060408051808201909152600581527f49434f20310000000000000000000000000000000000000000000000000000006020820152610ad2565b600260115460ff16600681111561175657fe5b1415611796575060408051808201909152600981527f49434f203120656e6400000000000000000000000000000000000000000000006020820152610ad2565b600360115460ff1660068111156117a957fe5b14156117e9575060408051808201909152600581527f49434f20320000000000000000000000000000000000000000000000000000006020820152610ad2565b600460115460ff1660068111156117fc57fe5b141561183c575060408051808201909152600981527f49434f203220656e6400000000000000000000000000000000000000000000006020820152610ad2565b600560115460ff16600681111561184f57fe5b141561188f575060408051808201909152600581527f49434f20330000000000000000000000000000000000000000000000000000006020820152610ad2565b600660115460ff1660068111156118a257fe5b14156118e2575060408051808201909152600981527f49434f203320656e6400000000000000000000000000000000000000000000006020820152610ad2565b5060408051808201909152600981527f556e646566696e65640000000000000000000000000000000000000000000000602082015290565b600b5481565b600054600160a060020a031681565b600082600114156119595750600160a060020a0381166000908152602460205260409020546119ad565b82600214156119815750600160a060020a0381166000908152602560205260409020546119ad565b82600314156119a95750600160a060020a0381166000908152602660205260409020546119ad565b5060005b92915050565b601c5481565b6000600160115460ff1660068111156119ce57fe5b14156119dd5750600354610ad2565b600360115460ff1660068111156119f057fe5b14156119ff5750600354610ad2565b600560115460ff166006811115611a1257fe5b1415611a215750600354610ad2565b50600090565b600f5481565b60008260011415611a575750600160a060020a0381166000908152602760205260409020546119ad565b8260021415611a7f5750600160a060020a0381166000908152602860205260409020546119ad565b82600314156119a95750600160a060020a0381166000908152602960205260409020546119ad565b6000805433600160a060020a03908116911614611ac357600080fd5b600460115460ff166006811115611ad657fe5b14611ae057600080fd5b6011805460ff1916600517905560008c1115611afc5760038c90555b611b148b670de0b6b3a764000063ffffffff6121f816565b60045560058a9055611b3489670de0b6b3a764000063ffffffff6121f816565b6006556007889055611b5487670de0b6b3a764000063ffffffff6121f816565b6008556009869055611b7485670de0b6b3a764000063ffffffff6121f816565b600a55600b849055611b9483670de0b6b3a764000063ffffffff6121f816565b600c55600d829055600154600080546019546040805160e060020a63a9059cbb028152600160a060020a039384166004820152602481019290925251919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015610ce557600080fd5b60125481565b60225481565b60185481565b600e5481565b60095481565b60035481565b60145481565b60165481565b601d5481565b60055481565b60065481565b600080548190819033600160a060020a03908116911614611c6157600080fd5b600091506000601a54118015611c8b5750601d54601a54611c8990429063ffffffff61222116565b115b8015611cac5750601e54600e54611ca79163ffffffff61222116565b602154105b15611d0957611cda602154611cce601e54600e5461222190919063ffffffff16565b9063ffffffff61222116565b9050611cec828263ffffffff61219016565b9150611d05601e54600e5461222190919063ffffffff16565b6021555b6000601b54118015611d2f5750601d54601b54611d2d90429063ffffffff61222116565b115b8015611d505750601e54600f54611d4b9163ffffffff61222116565b602254105b15611da157611d72602254611cce601f54600f5461222190919063ffffffff16565b9050611d84828263ffffffff61219016565b9150611d9d601f54600f5461222190919063ffffffff16565b6022555b6000601c54118015611dc75750601d54601c54611dc590429063ffffffff61222116565b115b8015611de85750602054601054611de39163ffffffff61222116565b602354105b15611e3957611e0a602354611cce60205460105461222190919063ffffffff16565b9050611e1c828263ffffffff61219016565b9150611e3560205460105461222190919063ffffffff16565b6023555b60008211611e4657600080fd5b600154600080546040805160e060020a63a9059cbb028152600160a060020a039283166004820152602481018790529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b505050506040513d6020811015611ed057600080fd5b50511515611edd57600080fd5b60019250505090565b60235481565b60205481565b601f5481565b60005433600160a060020a03908116911614611f1357600080fd5b600160a060020a0381161515611f2857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b600160a060020a0382161515611fb457600080fd5b67016345785d8a0000811015611fc957600080fd5b600160115460ff166006811115611fdc57fe5b1415611ffd57683635c9adc5dea00000811115611ff857600080fd5b610f9a565b600360115460ff16600681111561201057fe5b141561202c57681b1ae4d6e2ef500000811115611ff857600080fd5b600560115460ff16600681111561203f57fe5b141561205b57681b1ae4d6e2ef500000811115611ff857600080fd5b600080fd5b600354600090818080612079868563ffffffff6121f816565b925061208486612248565b915060008211156120b9576120a46064610e15858563ffffffff6121f816565b90506120b6838263ffffffff61219016565b92505b604080518581526020810184905280820185905290517f7cc8a87f4d102e6dc62e1fee572de75e79185381eba451840e8b026937a869109181900360600190a15090949350505050565b6000811161211057600080fd5b600160115460ff16600681111561212357fe5b141561213d57600e5481111561213857600080fd5b61218d565b600360115460ff16600681111561215057fe5b141561216557600f5481111561213857600080fd5b600560115460ff16600681111561217857fe5b141561218d5760105481111561218d57600080fd5b50565b818101828110156119ad57fe5b610f9a8282612303565b600254600160a060020a031615156121be57600080fd5b600254604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610f9a573d6000803e3d6000fd5b6000821515612209575060006119ad565b5081810281838281151561221957fe5b04146119ad57fe5b60008282111561222d57fe5b50900390565b6000818381151561224057fe5b049392505050565b6000600160115460ff16600681111561225d57fe5b14806122795750600360115460ff16600681111561227757fe5b145b806122945750600560115460ff16600681111561229257fe5b145b156122fb5760045482106122ab5750600554610e5d565b60065482106122bd5750600754610e5d565b60085482106122cf5750600954610e5d565b600a5482106122e15750600b54610e5d565b600c5482106122f35750600d54610e5d565b506000610e5d565b506000919050565b6001546040805160e060020a63a9059cbb028152600160a060020a038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015610f6357600080fd00a165627a7a723058202ae42fbe46c2dd86c3b0483244e1fde335e86888c6773b1532d71d028451e4ec0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008b906a2dcf3cbc4d3614bcfe9b921ad129c418b6000000000000000000000000f5728d9aba555e4b16e023db42bb8553794720e400000000000000000000000087f0e615ab8e7d5da906036b7efdd5af5ff6a9b7
-----Decoded View---------------
Arg [0] : _owner (address): 0x8b906A2DcF3cBC4d3614bCfE9B921Ad129C418B6
Arg [1] : _wallet (address): 0xf5728D9Aba555e4b16E023db42bb8553794720e4
Arg [2] : _token (address): 0x87F0E615aB8E7D5da906036B7efdd5af5FF6A9b7
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000008b906a2dcf3cbc4d3614bcfe9b921ad129c418b6
Arg [1] : 000000000000000000000000f5728d9aba555e4b16e023db42bb8553794720e4
Arg [2] : 00000000000000000000000087f0e615ab8e7d5da906036b7efdd5af5ff6a9b7
Swarm Source
bzzr://2ae42fbe46c2dd86c3b0483244e1fde335e86888c6773b1532d71d028451e4ec
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
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.