ERC-20
Overview
Max Total Supply
1,572,755,449.647516 ISC
Holders
533
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ISCoin
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-21 */ pragma solidity ^ 0.4.21; /** * @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 Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; /** * @dev total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @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) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit 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) public view returns (uint256) { return balances[_owner]; } } /** * @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); } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { require((_value != 0) && (allowed[msg.sender][_spender] != 0)); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ 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) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title Claimable * @dev Extension for the Ownable contract, where the ownership needs to be claimed. * This allows the new owner to accept the transfer. */ contract Claimable is Ownable { address public pendingOwner; /** * @dev Modifier throws if called by any account other than the pendingOwner. */ modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } /** * @dev Allows the current owner to set the pendingOwner address. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { pendingOwner = newOwner; } /** * @dev Allows the pendingOwner address to finalize the transfer. */ function claimOwnership() onlyPendingOwner public { emit OwnershipTransferred(owner, pendingOwner); owner = pendingOwner; pendingOwner = address(0); } } /** * @title Mintable token * @dev Simple ERC20 Token example, with mintable token creation * @dev Issue: * https://github.com/OpenZeppelin/openzeppelin-solidity/issues/120 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol */ contract MintableToken is StandardToken, Claimable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) public onlyOwner canMint returns (bool) { return _mint(_to, _amount); } function _mint(address _to, uint256 _amount) internal canMint returns (bool) { totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() public onlyOwner canMint returns (bool) { mintingFinished = true; emit MintFinished(); return true; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Claimable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } /** * @title Pausable token * @dev StandardToken modified with pausable transfers. **/ contract PausableToken is StandardToken, Pausable { function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) { return super.transfer(_to, _value); } function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) { return super.transferFrom(_from, _to, _value); } function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) { return super.approve(_spender, _value); } } /** * @title Burnable Token * @dev Token that can be irreversibly burned (destroyed). */ contract BurnableToken is BasicToken { event Burn(address indexed burner, uint256 value); /** * @dev Burns a specific amount of tokens. * @param _value The amount of token to be burned. */ function burn(uint256 _value) public { _burn(msg.sender, _value); } function _burn(address _who, uint256 _value) internal { require(_value <= balances[_who]); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure balances[_who] = balances[_who].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(_who, _value); emit Transfer(_who, address(0), _value); } } /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { function safeTransfer(ERC20Basic token, address to, uint256 value) internal { assert(token.transfer(to, value)); } function safeTransferFrom( ERC20 token, address from, address to, uint256 value ) internal { assert(token.transferFrom(from, to, value)); } function safeApprove(ERC20 token, address spender, uint256 value) internal { assert(token.approve(spender, value)); } } /** * @title TokenTimelock * @dev TokenTimelock is a token holder contract that will allow a * beneficiary to extract the tokens after a given release time */ contract TokenTimelock { using SafeERC20 for ERC20Basic; // ERC20 basic token contract being held ERC20Basic public token; // beneficiary of tokens after they are released address public beneficiary; // timestamp when token release is enabled uint256 public releaseTime; function TokenTimelock(ERC20Basic _token, address _beneficiary, uint256 _releaseTime) public { // solium-disable-next-line security/no-block-members require(_releaseTime > block.timestamp); token = _token; beneficiary = _beneficiary; releaseTime = _releaseTime; } function canRelease() public view returns (bool){ return block.timestamp >= releaseTime; } /** * @notice Transfers tokens held by timelock to beneficiary. */ function release() public { // solium-disable-next-line security/no-block-members require(canRelease()); uint256 amount = token.balanceOf(this); require(amount > 0); token.safeTransfer(beneficiary, amount); } } /** * @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 Crowdsale{ using SafeMath for uint256; enum TokenLockType { TYPE_NOT_LOCK, TYPE_SEED_INVESTOR, TYPE_PRE_SALE, TYPE_TEAM} uint256 internal constant UINT256_MAX = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; uint8 internal constant SEED_INVESTOR_BONUS_RATE = 50; uint256 internal constant MAX_SALECOUNT_PER_ADDRESS = 30; // Address where funds are collected address public wallet; // How many token units a buyer gets per ether. eg: 1 ETH = 5000 ISC uint256 public rate = 5000; // Amount of wei raised uint256 public weiRaised; Phase[] internal phases; struct Phase { uint256 till; uint256 bonusRate; } uint256 public currentPhase = 0; mapping (address => uint256 ) public saleCount; /** * 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); /** * @param _wallet Address where collected funds will be forwarded to */ function Crowdsale(address _wallet) public { require(_wallet != address(0)); phases.push(Phase({ till: 1527782400, bonusRate: 30 })); // 2018/6/01 00:00 UTC +8 phases.push(Phase({ till: 1531238400, bonusRate: 20 })); // 2018/07/11 00:00 UTC +8 phases.push(Phase({ till: 1533916800, bonusRate: 10 })); // 2018/08/11 00:00 UTC +8 phases.push(Phase({ till: UINT256_MAX, bonusRate: 0 })); // unlimited wallet = _wallet; } // ----------------------------------------- // Crowdsale external interface // ----------------------------------------- /** * @dev fallback function ***DO NOT OVERRIDE*** */ function () external payable { buyTokens(msg.sender); } /** * @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); uint256 nowTime = block.timestamp; // this loop moves phases and insures correct stage according to date while (currentPhase < phases.length && phases[currentPhase].till < nowTime) { currentPhase = currentPhase.add(1); } //check the min ether in pre-sale phase if (currentPhase == 0) { require(weiAmount >= 1 ether); } // calculate token amount to be created uint256 tokens = _getTokenAmount(weiAmount); // calculate token lock type TokenLockType lockType = _getTokenLockType(weiAmount); if (lockType != TokenLockType.TYPE_NOT_LOCK) { require(saleCount[_beneficiary].add(1) <= MAX_SALECOUNT_PER_ADDRESS); saleCount[_beneficiary] = saleCount[_beneficiary].add(1); } // update state weiRaised = weiRaised.add(weiAmount); _deliverTokens(_beneficiary, tokens, lockType); emit TokenPurchase( msg.sender, _beneficiary, weiAmount, tokens ); _forwardFunds(); } // ----------------------------------------- // Internal interface (extensible) // ----------------------------------------- /** * @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 != 0); require(currentPhase < phases.length); } /** * @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, TokenLockType lockType) internal { } /** * @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 view returns (uint256) { uint256 tokens = _weiAmount.mul(rate); uint256 bonusRate = 0; if (_weiAmount >= 1000 ether) { bonusRate = SEED_INVESTOR_BONUS_RATE; } else { bonusRate = phases[currentPhase].bonusRate; } uint256 bonus = tokens.mul(bonusRate).div(uint256(100)); return tokens.add(bonus); } /** * @dev get the token lock type * @param _weiAmount Value in wei to be converted into tokens * @return token lock type */ function _getTokenLockType(uint256 _weiAmount) internal view returns (TokenLockType) { TokenLockType lockType = TokenLockType.TYPE_NOT_LOCK; if (_weiAmount >= 1000 ether) { lockType = TokenLockType.TYPE_SEED_INVESTOR; } else if (currentPhase == 0 ) { lockType = TokenLockType.TYPE_PRE_SALE; } return lockType; } /** * @dev Determines how ETH is stored/forwarded on purchases. */ function _forwardFunds() internal { wallet.transfer(msg.value); } } contract StopableCrowdsale is Crowdsale, Claimable{ bool public crowdsaleStopped = false; /** * @dev Reverts if not in crowdsale time range. */ modifier onlyNotStopped { // solium-disable-next-line security/no-block-members require(!crowdsaleStopped); _; } /** * @dev Extend parent behavior requiring to be within contributing period * @param _beneficiary Token purchaser * @param _weiAmount Amount of wei contributed */ function _preValidatePurchase(address _beneficiary, uint256 _weiAmount) internal view onlyNotStopped { super._preValidatePurchase(_beneficiary, _weiAmount); } function stopCrowdsale() public onlyOwner { require(!crowdsaleStopped); crowdsaleStopped = true; } function startCrowdsale() public onlyOwner { require(crowdsaleStopped); crowdsaleStopped = false; } } /** * @title ISCoin * @dev IS Coin contract */ contract ISCoin is PausableToken, MintableToken, BurnableToken, StopableCrowdsale { using SafeMath for uint256; string public name = "Imperial Star Coin"; string public symbol = "ISC"; uint8 public decimals = 18; mapping (address => address[] ) public balancesLocked; function ISCoin(address _wallet) public Crowdsale(_wallet) {} function setRate(uint256 _rate) public onlyOwner onlyNotStopped { require(_rate > 0); rate = _rate; } function setWallet(address _wallet) public onlyOwner onlyNotStopped { require(_wallet != address(0)); wallet = _wallet; } /** * @dev mint timelocked tokens for owner use */ function mintTimelocked(address _to, uint256 _amount, uint256 _releaseTime) public onlyOwner canMint returns (TokenTimelock) { return _mintTimelocked(_to, _amount, _releaseTime); } /** * @dev Gets the locked balance of the specified address. * @param _owner The address to query the locked balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOfLocked(address _owner) public view returns (uint256) { address[] memory timelockAddrs = balancesLocked[_owner]; uint256 totalLockedBalance = 0; for (uint i = 0; i < timelockAddrs.length; i++) { totalLockedBalance = totalLockedBalance.add(balances[timelockAddrs[i]]); } return totalLockedBalance; } function releaseToken(address _owner) public { address[] memory timelockAddrs = balancesLocked[_owner]; for (uint i = 0; i < timelockAddrs.length; i++) { TokenTimelock timelock = TokenTimelock(timelockAddrs[i]); if (timelock.canRelease() && balances[timelock] > 0) { timelock.release(); } } } /** * @dev mint timelocked tokens */ function _mintTimelocked(address _to, uint256 _amount, uint256 _releaseTime) internal canMint returns (TokenTimelock) { TokenTimelock timelock = new TokenTimelock(this, _to, _releaseTime); balancesLocked[_to].push(timelock); _mint(timelock, _amount); return timelock; } /** * @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, TokenLockType lockType) internal { if (lockType == TokenLockType.TYPE_NOT_LOCK) { _mint(_beneficiary, _tokenAmount); } else if (lockType == TokenLockType.TYPE_SEED_INVESTOR) { //seed insvestor will be locked for 6 months and then unlocked at one time _mintTimelocked(_beneficiary, _tokenAmount, now + 6 * 30 days); } else if (lockType == TokenLockType.TYPE_PRE_SALE) { //Pre-sale will be locked for 6 months and unlocked in 3 times(every 2 months) uint256 amount1 = _tokenAmount.mul(30).div(100); //first unlock 30% uint256 amount2 = _tokenAmount.mul(30).div(100); //second unlock 30% uint256 amount3 = _tokenAmount.sub(amount1).sub(amount2); //third unlock 50% uint256 releaseTime1 = now + 2 * 30 days; uint256 releaseTime2 = now + 4 * 30 days; uint256 releaseTime3 = now + 6 * 30 days; _mintTimelocked(_beneficiary, amount1, releaseTime1); _mintTimelocked(_beneficiary, amount2, releaseTime2); _mintTimelocked(_beneficiary, amount3, releaseTime3); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"currentPhase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_releaseTime","type":"uint256"}],"name":"mintTimelocked","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"saleCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"releaseToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOfLocked","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":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"balancesLocked","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
606060405261138860045560006007556000600a60146101000a81548160ff0219169083151502179055506000600a60156101000a81548160ff0219169083151502179055506000600a60166101000a81548160ff0219169083151502179055506040805190810160405280601281526020017f496d70657269616c205374617220436f696e0000000000000000000000000000815250600b9080519060200190620000ad92919062000395565b506040805190810160405280600381526020017f4953430000000000000000000000000000000000000000000000000000000000815250600c9080519060200190620000fb92919062000395565b506012600d60006101000a81548160ff021916908360ff16021790555034156200012457600080fd5b6040516020806200375b8339810160405280805190602001909190505080600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200017f57600080fd5b600680548060010182816200019591906200041c565b916000526020600020906002020160006040805190810160405280635b101c008152602001601e8152509091909150600082015181600001556020820151816001015550505060068054806001018281620001f191906200041c565b916000526020600020906002020160006040805190810160405280635b44d8008152602001601481525090919091506000820151816000015560208201518160010155505050600680548060010182816200024d91906200041c565b916000526020600020906002020160006040805190810160405280635b6db6808152602001600a8152509091909150600082015181600001556020820151816001015550505060068054806001018281620002a991906200041c565b9160005260206000209060020201600060408051908101604052807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815260200160008152509091909150600082015181600001556020820151816001015550505080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620004ab565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d857805160ff191683800117855562000409565b8280016001018555821562000409579182015b8281111562000408578251825591602001919060010190620003eb565b5b50905062000418919062000451565b5090565b8154818355818115116200044c576002028160020283600052602060002091820191016200044b919062000479565b5b505050565b6200047691905b808211156200047257600081600090555060010162000458565b5090565b90565b620004a891905b80821115620004a45760008082016000905560018201600090555060020162000480565b5090565b90565b6132a080620004bb6000396000f3006060604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063055ad42e146101c257806305d2035b146101eb57806306fdde0314610218578063095ea7b3146102a657806318160ddd1461030057806323b872dd146103295780632c4e722e146103a2578063313ce567146103cb57806334fcf437146103fa5780633f4ba83a1461041d5780634042b66f1461043257806340c10f191461045b57806342966c68146104b55780634e71e0c8146104d8578063507d5954146104ed578063521eb273146105025780635c975abb1461055757806370a08231146105845780637d64bcb4146105d15780638456cb59146105fe5780638da5cb5b1461061357806395d89b4114610668578063a39953b2146106f6578063a9059cbb1461070b578063c14a3b8c14610765578063c302a45b146107f0578063dd62ed3e1461081d578063deaa59df14610889578063e30c3978146108c2578063e3e699bb14610917578063e545f94114610964578063e960bb481461099d578063ec8ac4d8146109ea578063f2fde38b14610a18578063fa9ec13a14610a51575b6101c033610ad3565b005b34156101cd57600080fd5b6101d5610d3b565b6040518082815260200191505060405180910390f35b34156101f657600080fd5b6101fe610d41565b604051808215151515815260200191505060405180910390f35b341561022357600080fd5b61022b610d54565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578082015181840152602081019050610250565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102b157600080fd5b6102e6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610df2565b604051808215151515815260200191505060405180910390f35b341561030b57600080fd5b610313610e22565b6040518082815260200191505060405180910390f35b341561033457600080fd5b610388600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e2c565b604051808215151515815260200191505060405180910390f35b34156103ad57600080fd5b6103b5610e5e565b6040518082815260200191505060405180910390f35b34156103d657600080fd5b6103de610e64565b604051808260ff1660ff16815260200191505060405180910390f35b341561040557600080fd5b61041b6004808035906020019091905050610e77565b005b341561042857600080fd5b610430610f08565b005b341561043d57600080fd5b610445610fc8565b6040518082815260200191505060405180910390f35b341561046657600080fd5b61049b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fce565b604051808215151515815260200191505060405180910390f35b34156104c057600080fd5b6104d6600480803590602001909190505061105a565b005b34156104e357600080fd5b6104eb611067565b005b34156104f857600080fd5b610500611208565b005b341561050d57600080fd5b61051561129d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056257600080fd5b61056a6112c3565b604051808215151515815260200191505060405180910390f35b341561058f57600080fd5b6105bb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112d6565b6040518082815260200191505060405180910390f35b34156105dc57600080fd5b6105e461131e565b604051808215151515815260200191505060405180910390f35b341561060957600080fd5b6106116113e6565b005b341561061e57600080fd5b6106266114a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067357600080fd5b61067b6114cd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106bb5780820151818401526020810190506106a0565b50505050905090810190601f1680156106e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561070157600080fd5b61070961156b565b005b341561071657600080fd5b61074b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506115ff565b604051808215151515815260200191505060405180910390f35b341561077057600080fd5b6107ae600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061162f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107fb57600080fd5b6108036116bd565b604051808215151515815260200191505060405180910390f35b341561082857600080fd5b610873600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116d0565b6040518082815260200191505060405180910390f35b341561089457600080fd5b6108c0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611757565b005b34156108cd57600080fd5b6108d561184f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092257600080fd5b61094e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611875565b6040518082815260200191505060405180910390f35b341561096f57600080fd5b61099b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061188d565b005b34156109a857600080fd5b6109d4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ad6565b6040518082815260200191505060405180910390f35b610a16600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ad3565b005b3415610a2357600080fd5b610a4f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c3d565b005b3415610a5c57600080fd5b610a91600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611cdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600080349350610ae68585611d2b565b4292505b600680549050600754108015610b215750826006600754815481101515610b0d57fe5b906000526020600020906002020160000154105b15610b4757610b3c6001600754611d5590919063ffffffff16565b600781905550610aea565b60006007541415610b6a57670de0b6b3a76400008410151515610b6957600080fd5b5b610b7384611d71565b9150610b7e84611e1b565b905060006003811115610b8d57fe5b816003811115610b9957fe5b141515610c9957601e610bf56001600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b11151515610c0257600080fd5b610c556001600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cae84600554611d5590919063ffffffff16565b600581905550610cbf858383611e57565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188685604051808381526020018281526020019250505060405180910390a3610d34611fa6565b5050505050565b60075481565b600a60159054906101000a900460ff1681565b600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dea5780601f10610dbf57610100808354040283529160200191610dea565b820191906000526020600020905b815481529060010190602001808311610dcd57829003601f168201915b505050505081565b6000600a60149054906101000a900460ff16151515610e1057600080fd5b610e1a838361200a565b905092915050565b6000600154905090565b6000600a60149054906101000a900460ff16151515610e4a57600080fd5b610e55848484612194565b90509392505050565b60045481565b600d60009054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed357600080fd5b600a60169054906101000a900460ff16151515610eef57600080fd5b600081111515610efe57600080fd5b8060048190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f6457600080fd5b600a60149054906101000a900460ff161515610f7f57600080fd5b6000600a60146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60055481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102c57600080fd5b600a60159054906101000a900460ff1615151561104857600080fd5b611052838361254e565b905092915050565b61106433826126d4565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c357600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126457600080fd5b600a60169054906101000a900460ff1615151561128057600080fd5b6001600a60166101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137c57600080fd5b600a60159054906101000a900460ff1615151561139857600080fd5b6001600a60156101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144257600080fd5b600a60149054906101000a900460ff1615151561145e57600080fd5b6001600a60146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115635780601f1061153857610100808354040283529160200191611563565b820191906000526020600020905b81548152906001019060200180831161154657829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115c757600080fd5b600a60169054906101000a900460ff1615156115e257600080fd5b6000600a60166101000a81548160ff021916908315150217905550565b6000600a60149054906101000a900460ff1615151561161d57600080fd5b6116278383612887565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561168d57600080fd5b600a60159054906101000a900460ff161515156116a957600080fd5b6116b4848484612aa6565b90509392505050565b600a60169054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117b357600080fd5b600a60169054906101000a900460ff161515156117cf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561180b57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915090505481565b611895612cda565b600080600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561195757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161190d575b50505050509250600091505b8251821015611ad057828281518110151561197a57fe5b9060200190602002015190508073ffffffffffffffffffffffffffffffffffffffff16633705f69e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156119e957600080fd5b5af115156119f657600080fd5b505050604051805190508015611a4a575060008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611ac3578073ffffffffffffffffffffffffffffffffffffffff166386d1a69f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1515611ab257600080fd5b5af11515611abf57600080fd5b5050505b8180600101925050611963565b50505050565b6000611ae0612cda565b600080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611ba257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611b58575b5050505050925060009150600090505b8251811015611c3257611c236000808584815181101515611bcf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d5590919063ffffffff16565b91508080600101915050611bb2565b819350505050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c9957600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60205281600052604060002081815481101515611cf857fe5b90600052602060002090016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60169054906101000a900460ff16151515611d4757600080fd5b611d518282612c0e565b5050565b60008183019050828110151515611d6857fe5b80905092915050565b600080600080611d8c60045486612c7390919063ffffffff16565b925060009150683635c9adc5dea0000085101515611db057603260ff169150611dd6565b6006600754815481101515611dc157fe5b90600052602060002090600202016001015491505b611dfc6064611dee8486612c7390919063ffffffff16565b612cab90919063ffffffff16565b9050611e118184611d5590919063ffffffff16565b9350505050919050565b60008060009050683635c9adc5dea0000083101515611e3d5760019050611e4e565b60006007541415611e4d57600290505b5b80915050919050565b60008060008060008060006003811115611e6d57fe5b876003811115611e7957fe5b1415611e8f57611e89898961254e565b50611f9b565b60016003811115611e9c57fe5b876003811115611ea857fe5b1415611ec457611ebe898962ed4e004201612aa6565b50611f9a565b60026003811115611ed157fe5b876003811115611edd57fe5b1415611f9957611f0a6064611efc601e8b612c7390919063ffffffff16565b612cab90919063ffffffff16565b9550611f336064611f25601e8b612c7390919063ffffffff16565b612cab90919063ffffffff16565b9450611f5a85611f4c888b612cc190919063ffffffff16565b612cc190919063ffffffff16565b9350624f1a0042019250629e34004201915062ed4e0042019050611f7f898785612aa6565b50611f8b898684612aa6565b50611f97898583612aa6565b505b5b5b505050505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561200857600080fd5b565b600080821415801561209957506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15156120a457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156121d157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561221e57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156122a957600080fd5b6122fa826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600a60159054906101000a900460ff1615151561256c57600080fd5b61258182600154611d5590919063ffffffff16565b6001819055506125d8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a392915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561272157600080fd5b612772816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127c981600154612cc190919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156128c457600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561291157600080fd5b612962826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129f5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600a60159054906101000a900460ff16151515612ac557600080fd5b308584612ad0612cee565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051809103906000f0801515612b5657600080fd5b9050600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281612ba99190612cfe565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612c02818561254e565b50809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612c4a57600080fd5b60008114151515612c5a57600080fd5b600680549050600754101515612c6f57600080fd5b5050565b600080831415612c865760009050612ca5565b8183029050818382811515612c9757fe5b04141515612ca157fe5b8090505b92915050565b60008183811515612cb857fe5b04905092915050565b6000828211151515612ccf57fe5b818303905092915050565b602060405190810160405280600081525090565b60405161052580612d5083390190565b815481835581811511612d2557818360005260206000209182019101612d249190612d2a565b5b505050565b612d4c91905b80821115612d48576000816000905550600101612d30565b5090565b9056006060604052341561000f57600080fd5b60405160608061052583398101604052808051906020019091908051906020019091908051906020019091905050428111151561004b57600080fd5b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600281905550505050610440806100e56000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633705f69e1461007257806338af3eed1461009f57806386d1a69f146100f4578063b91d400114610109578063fc0c546a14610132575b600080fd5b341561007d57600080fd5b610085610187565b604051808215151515815260200191505060405180910390f35b34156100aa57600080fd5b6100b2610194565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100ff57600080fd5b6101076101ba565b005b341561011457600080fd5b61011c610323565b6040518082815260200191505060405180910390f35b341561013d57600080fd5b610145610329565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600254421015905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006101c4610187565b15156101cf57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561028a57600080fd5b5af1151561029757600080fd5b5050506040518051905090506000811115156102b257600080fd5b610320600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661034e9092919063ffffffff16565b50565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156103f057600080fd5b5af115156103fd57600080fd5b50505060405180519050151561040f57fe5b5050505600a165627a7a72305820fee8e77cc2fa1fb8af0ffb9e1f0abc5f4d698aa9dfe2cd345e29e90f99e3af8d0029a165627a7a72305820958a68a5be16baaf45fc9c4be59b800e5c5474c5a0971a3a4d1f110aa11f427d002900000000000000000000000046d2459a155ae7b2e5bf57d58dc01e65316d3af0
Deployed Bytecode
0x6060604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063055ad42e146101c257806305d2035b146101eb57806306fdde0314610218578063095ea7b3146102a657806318160ddd1461030057806323b872dd146103295780632c4e722e146103a2578063313ce567146103cb57806334fcf437146103fa5780633f4ba83a1461041d5780634042b66f1461043257806340c10f191461045b57806342966c68146104b55780634e71e0c8146104d8578063507d5954146104ed578063521eb273146105025780635c975abb1461055757806370a08231146105845780637d64bcb4146105d15780638456cb59146105fe5780638da5cb5b1461061357806395d89b4114610668578063a39953b2146106f6578063a9059cbb1461070b578063c14a3b8c14610765578063c302a45b146107f0578063dd62ed3e1461081d578063deaa59df14610889578063e30c3978146108c2578063e3e699bb14610917578063e545f94114610964578063e960bb481461099d578063ec8ac4d8146109ea578063f2fde38b14610a18578063fa9ec13a14610a51575b6101c033610ad3565b005b34156101cd57600080fd5b6101d5610d3b565b6040518082815260200191505060405180910390f35b34156101f657600080fd5b6101fe610d41565b604051808215151515815260200191505060405180910390f35b341561022357600080fd5b61022b610d54565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561026b578082015181840152602081019050610250565b50505050905090810190601f1680156102985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102b157600080fd5b6102e6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610df2565b604051808215151515815260200191505060405180910390f35b341561030b57600080fd5b610313610e22565b6040518082815260200191505060405180910390f35b341561033457600080fd5b610388600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e2c565b604051808215151515815260200191505060405180910390f35b34156103ad57600080fd5b6103b5610e5e565b6040518082815260200191505060405180910390f35b34156103d657600080fd5b6103de610e64565b604051808260ff1660ff16815260200191505060405180910390f35b341561040557600080fd5b61041b6004808035906020019091905050610e77565b005b341561042857600080fd5b610430610f08565b005b341561043d57600080fd5b610445610fc8565b6040518082815260200191505060405180910390f35b341561046657600080fd5b61049b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fce565b604051808215151515815260200191505060405180910390f35b34156104c057600080fd5b6104d6600480803590602001909190505061105a565b005b34156104e357600080fd5b6104eb611067565b005b34156104f857600080fd5b610500611208565b005b341561050d57600080fd5b61051561129d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056257600080fd5b61056a6112c3565b604051808215151515815260200191505060405180910390f35b341561058f57600080fd5b6105bb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112d6565b6040518082815260200191505060405180910390f35b34156105dc57600080fd5b6105e461131e565b604051808215151515815260200191505060405180910390f35b341561060957600080fd5b6106116113e6565b005b341561061e57600080fd5b6106266114a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067357600080fd5b61067b6114cd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106bb5780820151818401526020810190506106a0565b50505050905090810190601f1680156106e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561070157600080fd5b61070961156b565b005b341561071657600080fd5b61074b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506115ff565b604051808215151515815260200191505060405180910390f35b341561077057600080fd5b6107ae600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061162f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107fb57600080fd5b6108036116bd565b604051808215151515815260200191505060405180910390f35b341561082857600080fd5b610873600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116d0565b6040518082815260200191505060405180910390f35b341561089457600080fd5b6108c0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611757565b005b34156108cd57600080fd5b6108d561184f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092257600080fd5b61094e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611875565b6040518082815260200191505060405180910390f35b341561096f57600080fd5b61099b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061188d565b005b34156109a857600080fd5b6109d4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ad6565b6040518082815260200191505060405180910390f35b610a16600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ad3565b005b3415610a2357600080fd5b610a4f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c3d565b005b3415610a5c57600080fd5b610a91600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611cdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600080349350610ae68585611d2b565b4292505b600680549050600754108015610b215750826006600754815481101515610b0d57fe5b906000526020600020906002020160000154105b15610b4757610b3c6001600754611d5590919063ffffffff16565b600781905550610aea565b60006007541415610b6a57670de0b6b3a76400008410151515610b6957600080fd5b5b610b7384611d71565b9150610b7e84611e1b565b905060006003811115610b8d57fe5b816003811115610b9957fe5b141515610c9957601e610bf56001600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b11151515610c0257600080fd5b610c556001600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cae84600554611d5590919063ffffffff16565b600581905550610cbf858383611e57565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188685604051808381526020018281526020019250505060405180910390a3610d34611fa6565b5050505050565b60075481565b600a60159054906101000a900460ff1681565b600b8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dea5780601f10610dbf57610100808354040283529160200191610dea565b820191906000526020600020905b815481529060010190602001808311610dcd57829003601f168201915b505050505081565b6000600a60149054906101000a900460ff16151515610e1057600080fd5b610e1a838361200a565b905092915050565b6000600154905090565b6000600a60149054906101000a900460ff16151515610e4a57600080fd5b610e55848484612194565b90509392505050565b60045481565b600d60009054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed357600080fd5b600a60169054906101000a900460ff16151515610eef57600080fd5b600081111515610efe57600080fd5b8060048190555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f6457600080fd5b600a60149054906101000a900460ff161515610f7f57600080fd5b6000600a60146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60055481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102c57600080fd5b600a60159054906101000a900460ff1615151561104857600080fd5b611052838361254e565b905092915050565b61106433826126d4565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c357600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126457600080fd5b600a60169054906101000a900460ff1615151561128057600080fd5b6001600a60166101000a81548160ff021916908315150217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137c57600080fd5b600a60159054906101000a900460ff1615151561139857600080fd5b6001600a60156101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144257600080fd5b600a60149054906101000a900460ff1615151561145e57600080fd5b6001600a60146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115635780601f1061153857610100808354040283529160200191611563565b820191906000526020600020905b81548152906001019060200180831161154657829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115c757600080fd5b600a60169054906101000a900460ff1615156115e257600080fd5b6000600a60166101000a81548160ff021916908315150217905550565b6000600a60149054906101000a900460ff1615151561161d57600080fd5b6116278383612887565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561168d57600080fd5b600a60159054906101000a900460ff161515156116a957600080fd5b6116b4848484612aa6565b90509392505050565b600a60169054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117b357600080fd5b600a60169054906101000a900460ff161515156117cf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561180b57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915090505481565b611895612cda565b600080600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561195757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161190d575b50505050509250600091505b8251821015611ad057828281518110151561197a57fe5b9060200190602002015190508073ffffffffffffffffffffffffffffffffffffffff16633705f69e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156119e957600080fd5b5af115156119f657600080fd5b505050604051805190508015611a4a575060008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611ac3578073ffffffffffffffffffffffffffffffffffffffff166386d1a69f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1515611ab257600080fd5b5af11515611abf57600080fd5b5050505b8180600101925050611963565b50505050565b6000611ae0612cda565b600080600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015611ba257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611b58575b5050505050925060009150600090505b8251811015611c3257611c236000808584815181101515611bcf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d5590919063ffffffff16565b91508080600101915050611bb2565b819350505050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c9957600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60205281600052604060002081815481101515611cf857fe5b90600052602060002090016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60169054906101000a900460ff16151515611d4757600080fd5b611d518282612c0e565b5050565b60008183019050828110151515611d6857fe5b80905092915050565b600080600080611d8c60045486612c7390919063ffffffff16565b925060009150683635c9adc5dea0000085101515611db057603260ff169150611dd6565b6006600754815481101515611dc157fe5b90600052602060002090600202016001015491505b611dfc6064611dee8486612c7390919063ffffffff16565b612cab90919063ffffffff16565b9050611e118184611d5590919063ffffffff16565b9350505050919050565b60008060009050683635c9adc5dea0000083101515611e3d5760019050611e4e565b60006007541415611e4d57600290505b5b80915050919050565b60008060008060008060006003811115611e6d57fe5b876003811115611e7957fe5b1415611e8f57611e89898961254e565b50611f9b565b60016003811115611e9c57fe5b876003811115611ea857fe5b1415611ec457611ebe898962ed4e004201612aa6565b50611f9a565b60026003811115611ed157fe5b876003811115611edd57fe5b1415611f9957611f0a6064611efc601e8b612c7390919063ffffffff16565b612cab90919063ffffffff16565b9550611f336064611f25601e8b612c7390919063ffffffff16565b612cab90919063ffffffff16565b9450611f5a85611f4c888b612cc190919063ffffffff16565b612cc190919063ffffffff16565b9350624f1a0042019250629e34004201915062ed4e0042019050611f7f898785612aa6565b50611f8b898684612aa6565b50611f97898583612aa6565b505b5b5b505050505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561200857600080fd5b565b600080821415801561209957506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15156120a457600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156121d157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561221e57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156122a957600080fd5b6122fa826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061245e82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000600a60159054906101000a900460ff1615151561256c57600080fd5b61258182600154611d5590919063ffffffff16565b6001819055506125d8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a392915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561272157600080fd5b612772816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127c981600154612cc190919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156128c457600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561291157600080fd5b612962826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cc190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129f5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d5590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600a60159054906101000a900460ff16151515612ac557600080fd5b308584612ad0612cee565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051809103906000f0801515612b5657600080fd5b9050600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281612ba99190612cfe565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612c02818561254e565b50809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612c4a57600080fd5b60008114151515612c5a57600080fd5b600680549050600754101515612c6f57600080fd5b5050565b600080831415612c865760009050612ca5565b8183029050818382811515612c9757fe5b04141515612ca157fe5b8090505b92915050565b60008183811515612cb857fe5b04905092915050565b6000828211151515612ccf57fe5b818303905092915050565b602060405190810160405280600081525090565b60405161052580612d5083390190565b815481835581811511612d2557818360005260206000209182019101612d249190612d2a565b5b505050565b612d4c91905b80821115612d48576000816000905550600101612d30565b5090565b9056006060604052341561000f57600080fd5b60405160608061052583398101604052808051906020019091908051906020019091908051906020019091905050428111151561004b57600080fd5b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600281905550505050610440806100e56000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633705f69e1461007257806338af3eed1461009f57806386d1a69f146100f4578063b91d400114610109578063fc0c546a14610132575b600080fd5b341561007d57600080fd5b610085610187565b604051808215151515815260200191505060405180910390f35b34156100aa57600080fd5b6100b2610194565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100ff57600080fd5b6101076101ba565b005b341561011457600080fd5b61011c610323565b6040518082815260200191505060405180910390f35b341561013d57600080fd5b610145610329565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600254421015905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006101c4610187565b15156101cf57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561028a57600080fd5b5af1151561029757600080fd5b5050506040518051905090506000811115156102b257600080fd5b610320600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661034e9092919063ffffffff16565b50565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156103f057600080fd5b5af115156103fd57600080fd5b50505060405180519050151561040f57fe5b5050505600a165627a7a72305820fee8e77cc2fa1fb8af0ffb9e1f0abc5f4d698aa9dfe2cd345e29e90f99e3af8d0029a165627a7a72305820958a68a5be16baaf45fc9c4be59b800e5c5474c5a0971a3a4d1f110aa11f427d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000046d2459a155ae7b2e5bf57d58dc01e65316d3af0
-----Decoded View---------------
Arg [0] : _wallet (address): 0x46d2459A155Ae7b2E5BF57D58DC01E65316d3AF0
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000046d2459a155ae7b2e5bf57d58dc01e65316d3af0
Swarm Source
bzzr://958a68a5be16baaf45fc9c4be59b800e5c5474c5a0971a3a4d1f110aa11f427d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.