ETH Price: $3,152.80 (+1.07%)
Gas: 2 Gwei

Contract

0xa58C4f0e4Dddb52d2017c77eAC34C73a84Cf8AF8
 

Overview

ETH Balance

0.00001 ETH

Eth Value

$0.03 (@ $3,152.80/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer104450702020-07-12 13:44:371462 days ago1594561477IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0013964132.99960058
Transfer95804502020-02-29 19:01:211595 days ago1583002881IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000211525
Transfer89181602019-11-12 3:28:381705 days ago1573529318IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000415810
Transfer89181372019-11-12 3:23:281705 days ago1573529008IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000415810
Transfer89180652019-11-12 3:10:191705 days ago1573528219IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000415810
Transfer86599892019-10-02 1:29:141746 days ago1569979754IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000056511
Transfer80600582019-06-30 15:33:541839 days ago1561908834IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0004259620
Transfer80600562019-06-30 15:33:041839 days ago1561908784IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0004259620
Transfer80393792019-06-27 10:14:531843 days ago1561630493IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000172518.1
Transfer79698372019-06-16 13:34:591854 days ago1560692099IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.00016584
Transfer79696402019-06-16 12:47:031854 days ago1560689223IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000169353
Transfer77798342019-05-17 20:19:171883 days ago1558124357IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0002651610
Transfer77797732019-05-17 20:06:011883 days ago1558123561IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0002651610
Transfer77796322019-05-17 19:40:141883 days ago1558122014IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0002651610
Transfer77795102019-05-17 19:16:251883 days ago1558120585IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0002651610
Transfer77794622019-05-17 19:05:291883 days ago1558119929IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0003712214
Transfer77794502019-05-17 19:00:231883 days ago1558119623IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0003473513.1
Transfer77793872019-05-17 18:47:421883 days ago1558118862IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0003977415
Transfer77190982019-05-08 8:56:011893 days ago1557305761IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0001373.3
Transfer77088752019-05-06 18:23:261894 days ago1557167006IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000185617
Transfer74802642019-04-01 3:48:581930 days ago1554090538IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000249096
Transfer73408082019-03-10 10:11:491952 days ago1552212709IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000274426.6
Transfer73134622019-03-06 3:57:331956 days ago1551844653IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.000857532.26119372
Transfer73084282019-03-05 8:59:001957 days ago1551776340IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0004151610
Transfer73073252019-03-05 4:50:261957 days ago1551761426IN
0xa58C4f0e...a84Cf8AF8
0 ETH0.0024780343.79701657
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
JoygoEOS

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-09
*/

pragma solidity ^0.4.18;

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

contract ForeignToken {
    function balanceOf(address _owner) constant public returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
}

contract ContractReceiver {
    function tokenFallback(address _from, uint _value, bytes _data) public returns (bool);
}

contract ERC223Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public constant returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function transfer(address to, uint256 value, bytes data) public returns (bool);
    function transfer(address to, uint256 value, bytes data, string custom_fallback) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC223 is ERC223Basic {
    function allowance(address owner, address spender) public constant 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);
}

interface Token { 
    function distr(address _to, uint256 _value) public returns (bool);
    function totalSupply() constant public returns (uint256 supply);
    function balanceOf(address _owner) constant public returns (uint256 balance);
}

contract JoygoEOS is ERC223 {
    
    using SafeMath for uint256;
    address public owner;

    mapping (address => uint256) public balances;
    mapping (address => mapping (address => uint256)) allowed;
    
    mapping (address => bool) public blacklist;

    string public name;
    string public symbol;
    uint256 public decimals;
    uint256 public totalSupply;
    
    uint256 public totalDistributed;
    uint256 public totalRemaining;
    uint256 public value;
    uint256 public dividend;
    uint256 public divisor;
    uint256 public invitedReward = 1;
    uint256 public inviteReward = 2;
    uint256 public inviteAmountLimit = 0;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event LOG_Transfer(address indexed from, address indexed to, uint256 value, bytes indexed data);
    
    event Distr(address indexed to, uint256 amount);
    event InviteInit(address indexed to, uint256 amount);

    event DistrFinished();
    event DistrStarted();
    
    event Burn(address indexed burner, uint256 value);
    event Mint(address indexed minter, uint256 value);
    
    bool public distributionFinished = false;
    bool public inviteFinished = false;

    modifier canDistr() {
        require(!distributionFinished);
        _;
    }
    
    modifier canNotDistr() {
        require(distributionFinished);
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    modifier onlyWhitelist() {
        require(blacklist[msg.sender] == false);
        _;
    }
    
    function JoygoEOS (string _tokenName, string _tokenSymbol, uint256 _decimalUnits, uint256 _initialAmount, uint256 _totalDistributed, uint256 _value, uint256 _dividend, uint256 _divisor) public {
        require(_decimalUnits != 0);
        require(_initialAmount != 0);
        require(_totalDistributed != 0);
        require(_value != 0);
        require(_dividend != 0);
        require(_divisor != 0);
        
        
        owner = msg.sender;
        name = _tokenName;
        symbol = _tokenSymbol;
        decimals = _decimalUnits;
        totalSupply = _initialAmount;
        totalDistributed = _totalDistributed;
        totalRemaining = totalSupply.sub(totalDistributed);
        value = _value;
        dividend = _dividend;
        divisor = _divisor;
        
        balances[owner] = totalDistributed;
        Transfer(address(0), owner, totalDistributed);
    }
    
    function transferOwnership(address newOwner) onlyOwner public {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }
    
    function enableWhitelist(address[] addresses) onlyOwner public {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = false;
        }
    }

    function disableWhitelist(address[] addresses) onlyOwner public {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = true;
        }
    }
    
    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;
        DistrFinished();
        return true;
    }
    
    function startDistribution() onlyOwner canNotDistr public returns (bool) {
        distributionFinished = false;
        DistrStarted();
        return true;
    }
    
    function finishInvite() onlyOwner public returns (bool) {
        require(!inviteFinished);
        inviteFinished = true;
        return true;
    }
    
    function startInvite() onlyOwner public returns (bool) {
        require(inviteFinished);
        inviteFinished = false;
        return true;
    }
    
    function changeTotalDistributed(uint256 newTotalDistributed) onlyOwner public {
        totalDistributed = newTotalDistributed;
    }
    
    function changeTotalRemaining(uint256 newTotalRemaining) onlyOwner public {
        totalRemaining = newTotalRemaining;
    }
    
    function changeValue(uint256 newValue) onlyOwner public {
        value = newValue;
    }
    
    function changeTotalSupply(uint256 newTotalSupply) onlyOwner public {
        totalSupply = newTotalSupply;
    }
    
    function changeDecimals(uint256 newDecimals) onlyOwner public {
        decimals = newDecimals;
    }
    
    function changeName(string newName) onlyOwner public {
        name = newName;
    }
    
    function changeSymbol(string newSymbol) onlyOwner public {
        symbol = newSymbol;
    }
    
    function changeDivisor(uint256 newDivisor) onlyOwner public {
        divisor = newDivisor;
    }
    
    function changeDividend(uint256 newDividend) onlyOwner public {
        dividend = newDividend;
    }
    
    function changeInviteReward(uint256 newInviteReward) onlyOwner public {
        inviteReward = newInviteReward;
    }
    
    function changeInvitedReward(uint256 newInvitedReward) onlyOwner public {
        invitedReward = newInvitedReward;
    }
    
    function changInviteAmountLimit(uint256 newInviteAmountLimit) onlyOwner public {
        inviteAmountLimit = newInviteAmountLimit;
    }
    
    function distr(address _to, uint256 _amount) canDistr private returns (bool) {
        totalDistributed = totalDistributed.add(_amount);
        totalRemaining = totalRemaining.sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Distr(_to, _amount);
        Transfer(address(0), _to, _amount);
        return true;
        
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function airdrop(address[] addresses) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(value <= totalRemaining);
        
        for (uint i = 0; i < addresses.length; i++) {
            require(value <= totalRemaining);
            distr(addresses[i], value);
        }
	
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function distribution(address[] addresses, uint256 amount) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(amount <= totalRemaining);
        
        for (uint i = 0; i < addresses.length; i++) {
            require(amount <= totalRemaining);
            distr(addresses[i], amount);
        }
	
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function distributeAmounts(address[] addresses, uint256[] amounts) onlyOwner canDistr public {

        require(addresses.length <= 255);
        require(addresses.length == amounts.length);
        
        for (uint8 i = 0; i < addresses.length; i++) {
            require(amounts[i] <= totalRemaining);
            distr(addresses[i], amounts[i]);
            
            if (totalDistributed >= totalSupply) {
                distributionFinished = true;
            }
        }
    }
    
    function () external payable {
            getTokens();
     }
    
    function getTokens() payable canDistr onlyWhitelist public {
        
        if (value > totalRemaining) {
            value = totalRemaining;
        }
        
        require(value <= totalRemaining);
        
        address investor = msg.sender;
        uint256 toGive = value;
        
        distr(investor, toGive);
        
        if (toGive > 0) {
            blacklist[investor] = true;
        }

        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
        
        value = value.div(dividend).mul(divisor);
    }

    function balanceOf(address _owner) constant public returns (uint256) {
	    return getBalance(_owner);
    }
    
    function getBalance(address _address) constant internal returns (uint256) {
        if (_address !=address(0) && !distributionFinished && !blacklist[_address] && totalDistributed < totalSupply && !inviteFinished) {
            return balances[_address].add(value);
        }
        else {
            return balances[_address];
        }
    }

    // mitigates the ERC20 short address attack
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }
    
    function transfer(address _to, uint256 _amount, bytes _data, string _custom_fallback) onlyPayloadSize(2 * 32) public returns (bool success) {
        if(isContract(_to)) {
            require(balanceOf(msg.sender) >= _amount);
            balances[msg.sender] = balanceOf(msg.sender).sub(_amount);
            balances[_to] = balanceOf(_to).add(_amount);
            ContractReceiver receiver = ContractReceiver(_to);
            require(receiver.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _amount, _data));
            
            Transfer(msg.sender, _to, _amount);
            LOG_Transfer(msg.sender, _to, _amount, _data);
            return true;
        }
        else {
            return transferToAddress(_to, _amount, _data);
        }
    }


    function transfer(address _to, uint256 _amount, bytes _data) onlyPayloadSize(2 * 32) public returns (bool success) {

        require(_to != address(0));

        if(isContract(_to)) {
            return transferToContract(_to, _amount, _data);
        }
        else {
            return transferToAddress(_to, _amount, _data);
        }
    }

    function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) {
        
        require(_to != address(0));
        
        bytes memory empty;
        
        if(isContract(_to)) {
            return transferToContract(_to, _amount, empty);
        }
        else {
            if(_amount <= inviteAmountLimit){
                require(invite(msg.sender, _to));
            }
            return transferToAddress(_to, _amount, empty);
        }
    }
    
    function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) {

        require(_to != address(0));
        require(_amount <= balances[_from]);
        require(_amount <= allowed[_from][msg.sender]);
        
        require(invite(_from, _to));
        
        bytes memory empty;
        
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Transfer(_from, _to, _amount);
        LOG_Transfer(_from, _to, _amount, empty);
        return true;
    }
    
    function invite(address _from, address _to) internal returns (bool success) {
        
        if(inviteFinished){
           return true; 
        }

        if(invitedInit(_from) && _from != _to){
            inviteInit(_to);
            return true;
        }
        invitedInit(_to);
        return true;
    }
    
    function inviteInit(address _address) internal returns (bool success) {
        if (!distributionFinished && totalDistributed < totalSupply) {
            
            
            if (value.mul(inviteReward) > totalRemaining) {
                value = totalRemaining;
            }
            require(value.mul(inviteReward) <= totalRemaining);
            
            uint256 toGive = value.mul(inviteReward);
            
            totalDistributed = totalDistributed.add(toGive);
            totalRemaining = totalRemaining.sub(toGive);
            balances[_address] = balances[_address].add(toGive);
            InviteInit(_address, toGive);
            Transfer(address(0), _address, toGive);

            if (toGive > 0) {
                blacklist[_address] = true;
            }

            if (totalDistributed >= totalSupply) {
                distributionFinished = true;
            }
            
            value = value.div(dividend).mul(divisor);
            return true;
        }
        return false;
    }
    
    function invitedInit(address _address) internal returns (bool success) {
        if (!distributionFinished && totalDistributed < totalSupply && !blacklist[_address]) {
            
            if (value.mul(invitedReward) > totalRemaining) {
                value = totalRemaining;
            }
            require(value.mul(invitedReward) <= totalRemaining);
            
            uint256 toGive = value.mul(invitedReward);
            
            totalDistributed = totalDistributed.add(toGive);
            totalRemaining = totalRemaining.sub(toGive);
            balances[_address] = balances[_address].add(toGive);
            InviteInit(_address, toGive);
            Transfer(address(0), _address, toGive);

            if (toGive > 0) {
                blacklist[_address] = true;
            }

            if (totalDistributed >= totalSupply) {
                distributionFinished = true;
            }
            
            value = value.div(dividend).mul(divisor);
            return true;
        }
        return false;
    }
    
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    function getTokenBalance(address tokenAddress, address who) constant public returns (uint){
        ForeignToken t = ForeignToken(tokenAddress);
        uint bal = t.balanceOf(who);
        return bal;
    }
    
    function withdraw() onlyOwner public {
        uint256 etherBalance = this.balance;
        owner.transfer(etherBalance);
    }
    
    function mint(uint256 _value) onlyOwner public {

        address minter = msg.sender;
        balances[minter] = balances[minter].add(_value);
        totalSupply = totalSupply.add(_value);
        Mint(minter, _value);
    }
    
    function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
    }
    
    function withdrawForeignTokens(address _tokenContract) onlyOwner public returns (bool) {
        ForeignToken token = ForeignToken(_tokenContract);
        uint256 amount = token.balanceOf(address(this));
        return token.transfer(owner, amount);
    }
    
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) payable public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        
        require(_spender.call(bytes4(bytes32(keccak256("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        return true;
    }
    
    function isContract(address _addr) private constant returns (bool) {
        uint length;
        assembly {
            length := extcodesize(_addr)
        }
        return (length>0);
    }

    function transferToAddress(address _to, uint _value, bytes _data) private returns (bool) {
        require(balances[msg.sender] >= _value);
        balances[msg.sender] =  balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        LOG_Transfer(msg.sender, _to, _value, _data);
        return true;
    }

    function transferToContract(address _to, uint _value, bytes _data) private returns (bool) {
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        ContractReceiver receiver = ContractReceiver(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        Transfer(msg.sender, _to, _value);
        LOG_Transfer(msg.sender, _to, _value, _data);
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"inviteReward","outputs":[{"name":"","type":"uint256"}],"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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dividend","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"divisor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newInvitedReward","type":"uint256"}],"name":"changeInvitedReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"invitedReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"value","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"inviteAmountLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"disableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newDivisor","type":"uint256"}],"name":"changeDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTotalSupply","type":"uint256"}],"name":"changeTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newName","type":"string"}],"name":"changeName","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"addresses","type":"address[]"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newInviteReward","type":"uint256"}],"name":"changeInviteReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTotalRemaining","type":"uint256"}],"name":"changeTotalRemaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"inviteFinished","outputs":[{"name":"","type":"bool"}],"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":"startInvite","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"enableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newSymbol","type":"string"}],"name":"changeSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newInviteAmountLimit","type":"uint256"}],"name":"changInviteAmountLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeAmounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newDecimals","type":"uint256"}],"name":"changeDecimals","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newTotalDistributed","type":"uint256"}],"name":"changeTotalDistributed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"startDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalRemaining","outputs":[{"name":"","type":"uint256"}],"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":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","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":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishInvite","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newValue","type":"uint256"}],"name":"changeValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newDividend","type":"uint256"}],"name":"changeDividend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenName","type":"string"},{"name":"_tokenSymbol","type":"string"},{"name":"_decimalUnits","type":"uint256"},{"name":"_initialAmount","type":"uint256"},{"name":"_totalDistributed","type":"uint256"},{"name":"_value","type":"uint256"},{"name":"_dividend","type":"uint256"},{"name":"_divisor","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_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"},{"indexed":true,"name":"data","type":"bytes"}],"name":"LOG_Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"InviteInit","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrStarted","type":"event"},{"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":"minter","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"}]

60606040526001600e556002600f5560006010556011805461ffff1916905534156200002a57600080fd5b60405162002b8338038062002b838339810160405280805182019190602001805182019190602001805191906020018051919060200180519190602001805191906020018051919060200180519150508515156200008757600080fd5b8415156200009457600080fd5b831515620000a157600080fd5b821515620000ae57600080fd5b811515620000bb57600080fd5b801515620000c857600080fd5b60018054600160a060020a03191633600160a060020a03161790556005888051620000f8929160200190620001c9565b5060068780516200010e929160200190620001c9565b50600786905560088590556009849055620001388585640100000000620020d1620001b682021704565b600a55600b839055600c829055600d81905560095460018054600160a060020a0390811660009081526002602052604080822085905592549091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a350505050505050506200026e565b600082821115620001c357fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020c57805160ff19168380011785556200023c565b828001600101855582156200023c579182015b828111156200023c5782518255916020019190600101906200021f565b506200024a9291506200024e565b5090565b6200026b91905b808211156200024a576000815560010162000255565b90565b612905806200027e6000396000f3006060604052600436106102635763ffffffff60e060020a600035041663011847a2811461026d57806306fdde0314610292578063095ea7b31461031c5780630ff8cf9b1461035257806318160ddd146103655780631f2dc5ef1461037857806323b872dd1461038b57806327e235e3146103b35780632bba2d6d146103d2578063313ce567146103e8578063362c78b9146103fb5780633ccfd60b1461040e5780633fa4f2451461042157806342966c68146104345780634acea2541461044a578063502dadb01461045d578063513de1d3146104ac57806352e97326146104c25780635353a2d8146104d857806370a0823114610529578063729ad39e146105485780637b10a1d9146105975780638da5cb5b146105ad5780639254c2a8146105dc5780639373ad6c146105f257806395d89b4114610605578063963a9a13146106185780639b1cbccc1461062b5780639c09c8351461063e578063a0712d681461068d578063a3895fff146106a3578063a78c81ea146106f4578063a8c310d51461070a578063a9059cbb14610799578063aa6ca80814610263578063afa5f45c146107bb578063b74f312e146107d1578063be45fd62146107e7578063c108d5421461084c578063c489744b1461085f578063cae9ca5114610884578063d83623dd146108de578063d8a54360146108f1578063dd62ed3e14610904578063e58fc54c14610929578063efca2eed14610948578063f2fde38b1461095b578063f3e4877c1461097a578063f4591074146109cb578063f6368f8a146109de578063f965e32e14610a85578063f9f92be414610a9b578063fc73ec0014610aba575b61026b610ad0565b005b341561027857600080fd5b610280610bb7565b60405190815260200160405180910390f35b341561029d57600080fd5b6102a5610bbd565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102e15780820151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032757600080fd5b61033e600160a060020a0360043516602435610c5b565b604051901515815260200160405180910390f35b341561035d57600080fd5b610280610cc8565b341561037057600080fd5b610280610cce565b341561038357600080fd5b610280610cd4565b341561039657600080fd5b61033e600160a060020a0360043581169060243516604435610cda565b34156103be57600080fd5b610280600160a060020a0360043516610f07565b34156103dd57600080fd5b61026b600435610f19565b34156103f357600080fd5b610280610f39565b341561040657600080fd5b610280610f3f565b341561041957600080fd5b61026b610f45565b341561042c57600080fd5b610280610f9f565b341561043f57600080fd5b61026b600435610fa5565b341561045557600080fd5b61028061107d565b341561046857600080fd5b61026b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061108395505050505050565b34156104b757600080fd5b61026b6004356110fe565b34156104cd57600080fd5b61026b60043561111e565b34156104e357600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061113e95505050505050565b341561053457600080fd5b610280600160a060020a036004351661116c565b341561055357600080fd5b61026b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061117f95505050505050565b34156105a257600080fd5b61026b600435611231565b34156105b857600080fd5b6105c0611251565b604051600160a060020a03909116815260200160405180910390f35b34156105e757600080fd5b61026b600435611260565b34156105fd57600080fd5b61033e611280565b341561061057600080fd5b6102a561128e565b341561062357600080fd5b61033e6112f9565b341561063657600080fd5b61033e61133f565b341561064957600080fd5b61026b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506113ac95505050505050565b341561069857600080fd5b61026b600435611423565b34156106ae57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506114d695505050505050565b34156106ff57600080fd5b61026b600435611504565b341561071557600080fd5b61026b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061152495505050505050565b34156107a457600080fd5b61033e600160a060020a0360043516602435611607565b34156107c657600080fd5b61026b600435611684565b34156107dc57600080fd5b61026b6004356116a4565b34156107f257600080fd5b61033e60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506116c495505050505050565b341561085757600080fd5b61033e61171b565b341561086a57600080fd5b610280600160a060020a0360043581169060243516611724565b61033e60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506117a195505050505050565b34156108e957600080fd5b61033e611941565b34156108fc57600080fd5b6102806119ac565b341561090f57600080fd5b610280600160a060020a03600435811690602435166119b2565b341561093457600080fd5b61033e600160a060020a03600435166119dd565b341561095357600080fd5b610280611afb565b341561096657600080fd5b61026b600160a060020a0360043516611b01565b341561098557600080fd5b61026b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350611b5892505050565b34156109d657600080fd5b61033e611c05565b34156109e957600080fd5b61033e60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650611c4d95505050505050565b3415610a9057600080fd5b61026b600435611ee8565b3415610aa657600080fd5b61033e600160a060020a0360043516611f08565b3415610ac557600080fd5b61026b600435611f1d565b601154600090819060ff1615610ae557600080fd5b600160a060020a03331660009081526004602052604090205460ff1615610b0b57600080fd5b600a54600b541115610b1e57600a54600b555b600a54600b541115610b2f57600080fd5b5050600b543390610b408282611f3d565b506000811115610b6e57600160a060020a0382166000908152600460205260409020805460ff191660011790555b60085460095410610b87576011805460ff191660011790555b610bb0600d54610ba4600c54600b5461202c90919063ffffffff16565b9063ffffffff61204316565b600b555050565b600f5481565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c535780601f10610c2857610100808354040283529160200191610c53565b820191906000526020600020905b815481529060010190602001808311610c3657829003601f168201915b505050505081565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600c5481565b60085481565b600d5481565b6000610ce46127ef565b60606064361015610cf157fe5b600160a060020a0385161515610d0657600080fd5b600160a060020a038616600090815260026020526040902054841115610d2b57600080fd5b600160a060020a0380871660009081526003602090815260408083203390941683529290522054841115610d5e57600080fd5b610d68868661206e565b1515610d7357600080fd5b600160a060020a038616600090815260026020526040902054610d9c908563ffffffff6120d116565b600160a060020a0380881660009081526002602090815260408083209490945560038152838220339093168252919091522054610ddf908563ffffffff6120d116565b600160a060020a0380881660009081526003602090815260408083203385168452825280832094909455918816815260029091522054610e25908563ffffffff6120e316565b600160a060020a03808716600081815260026020526040908190209390935591908816906000805160206128ba8339815191529087905190815260200160405180910390a3816040518082805190602001908083835b60208310610e9a5780518252601f199092019160209182019101610e7b565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031687600160a060020a031660008051602061289a8339815191528760405190815260200160405180910390a450600195945050505050565b60026020526000908152604090205481565b60015433600160a060020a03908116911614610f3457600080fd5b600e55565b60075481565b600e5481565b60015460009033600160a060020a03908116911614610f6357600080fd5b50600154600160a060020a0330811631911681156108fc0282604051600060405180830381858888f193505050501515610f9c57600080fd5b50565b600b5481565b60015460009033600160a060020a03908116911614610fc357600080fd5b600160a060020a033316600090815260026020526040902054821115610fe857600080fd5b5033600160a060020a03811660009081526002602052604090205461100d90836120d1565b600160a060020a038216600090815260026020526040902055600854611039908363ffffffff6120d116565b600855600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60105481565b60015460009033600160a060020a039081169116146110a157600080fd5b5060005b81518110156110fa576001600460008484815181106110c057fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016110a5565b5050565b60015433600160a060020a0390811691161461111957600080fd5b600d55565b60015433600160a060020a0390811691161461113957600080fd5b600855565b60015433600160a060020a0390811691161461115957600080fd5b60058180516110fa929160200190612801565b6000611177826120f2565b90505b919050565b60015460009033600160a060020a0390811691161461119d57600080fd5b60115460ff16156111ad57600080fd5b60ff825111156111bc57600080fd5b600a54600b5411156111cd57600080fd5b5060005b815181101561121557600a54600b5411156111eb57600080fd5b61120c8282815181106111fa57fe5b90602001906020020151600b54611f3d565b506001016111d1565b600854600954106110fa576011805460ff191660011790555050565b60015433600160a060020a0390811691161461124c57600080fd5b600f55565b600154600160a060020a031681565b60015433600160a060020a0390811691161461127b57600080fd5b600a55565b601154610100900460ff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c535780601f10610c2857610100808354040283529160200191610c53565b60015460009033600160a060020a0390811691161461131757600080fd5b601154610100900460ff16151561132d57600080fd5b506011805461ff001916905560015b90565b60015460009033600160a060020a0390811691161461135d57600080fd5b60115460ff161561136d57600080fd5b6011805460ff191660011790557f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a150600190565b60015460009033600160a060020a039081169116146113ca57600080fd5b5060005b81518110156110fa576000600460008484815181106113e957fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016113ce565b60015460009033600160a060020a0390811691161461144157600080fd5b5033600160a060020a03811660009081526002602052604090205461146690836120e3565b600160a060020a038216600090815260026020526040902055600854611492908363ffffffff6120e316565b600855600160a060020a0381167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a25050565b60015433600160a060020a039081169116146114f157600080fd5b60068180516110fa929160200190612801565b60015433600160a060020a0390811691161461151f57600080fd5b601055565b60015460009033600160a060020a0390811691161461154257600080fd5b60115460ff161561155257600080fd5b60ff8351111561156157600080fd5b815183511461156f57600080fd5b5060005b82518160ff16101561160257600a54828260ff168151811061159157fe5b9060200190602002015111156115a657600080fd5b6115e0838260ff16815181106115b857fe5b90602001906020020151838360ff16815181106115d157fe5b90602001906020020151611f3d565b50600854600954106115fa576011805460ff191660011790555b600101611573565b505050565b60006116116127ef565b6040604436101561161e57fe5b600160a060020a038516151561163357600080fd5b61163c856121ad565b156116535761164c8585846121bc565b925061167c565b601054841161167157611666338661206e565b151561167157600080fd5b61164c85858461241c565b505092915050565b60015433600160a060020a0390811691161461169f57600080fd5b600755565b60015433600160a060020a039081169116146116bf57600080fd5b600955565b6000604060443610156116d357fe5b600160a060020a03851615156116e857600080fd5b6116f1856121ad565b15611708576117018585856121bc565b9150611713565b61170185858561241c565b509392505050565b60115460ff1681565b60008281600160a060020a0382166370a0823185836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561177e57600080fd5b6102c65a03f1151561178f57600080fd5b50505060405180519695505050505050565b600160a060020a03338116600081815260036020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b838110156118e25780820151838201526020016118ca565b50505050905090810190601f16801561190f5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f192505050151561193757600080fd5b5060019392505050565b60015460009033600160a060020a0390811691161461195f57600080fd5b60115460ff16151561197057600080fd5b6011805460ff191690557f159b30ae850d9e3bc5d4db2ee06d52111229dd7cf4b4def72f83d2724d7e4fc660405160405180910390a150600190565b600a5481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6001546000908190819033600160a060020a039081169116146119ff57600080fd5b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611a5957600080fd5b6102c65a03f11515611a6a57600080fd5b5050506040518051600154909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611ad957600080fd5b6102c65a03f11515611aea57600080fd5b505050604051805195945050505050565b60095481565b60015433600160a060020a03908116911614611b1c57600080fd5b600160a060020a03811615610f9c5760018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60015460009033600160a060020a03908116911614611b7657600080fd5b60115460ff1615611b8657600080fd5b60ff83511115611b9557600080fd5b600a54821115611ba457600080fd5b5060005b8251811015611be857600a54821115611bc057600080fd5b611bdf838281518110611bcf57fe5b9060200190602002015183611f3d565b50600101611ba8565b60085460095410611602576011805460ff19166001179055505050565b60015460009033600160a060020a03908116911614611c2357600080fd5b601154610100900460ff1615611c3857600080fd5b506011805461ff001916610100179055600190565b60008060406044361015611c5d57fe5b611c66876121ad565b15611ed05785611c753361116c565b1015611c8057600080fd5b611c9986611c8d3361116c565b9063ffffffff6120d116565b600160a060020a033316600090815260026020526040902055611ccb86611cbf8961116c565b9063ffffffff6120e316565b600160a060020a0388166000818152600260205260408082209390935589945090918690518082805190602001908083835b60208310611d1c5780518252601f199092019160209182019101611cfd565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903389896040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611dad578082015183820152602001611d95565b50505050905090810190601f168015611dda5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f193505050501515611e0157600080fd5b86600160a060020a031633600160a060020a03166000805160206128ba8339815191528860405190815260200160405180910390a3846040518082805190602001908083835b60208310611e665780518252601f199092019160209182019101611e47565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902087600160a060020a031633600160a060020a031660008051602061289a8339815191528960405190815260200160405180910390a460019250611ede565b611edb87878761241c565b92505b5050949350505050565b60015433600160a060020a03908116911614611f0357600080fd5b600b55565b60046020526000908152604090205460ff1681565b60015433600160a060020a03908116911614611f3857600080fd5b600c55565b60115460009060ff1615611f5057600080fd5b600954611f63908363ffffffff6120e316565b600955600a54611f79908363ffffffff6120d116565b600a55600160a060020a038316600090815260026020526040902054611fa5908363ffffffff6120e316565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a03831660006000805160206128ba8339815191528460405190815260200160405180910390a3506001610cc2565b600080828481151561203a57fe5b04949350505050565b600082820283158061205f575082848281151561205c57fe5b04145b151561206757fe5b9392505050565b601154600090610100900460ff161561208957506001610cc2565b61209283612581565b80156120b0575081600160a060020a031683600160a060020a031614155b156120c8576120be82612772565b5060019050610cc2565b61193782612581565b6000828211156120dd57fe5b50900390565b60008282018381101561206757fe5b6000600160a060020a0382161580159061210f575060115460ff16155b80156121345750600160a060020a03821660009081526004602052604090205460ff16155b80156121435750600854600954105b80156121575750601154610100900460ff16155b1561218e57600b54600160a060020a0383166000908152600260205260409020546121879163ffffffff6120e316565b905061117a565b50600160a060020a03811660009081526002602052604090205461117a565b6000813b908111905b50919050565b600160a060020a0333166000908152600260205260408120548190849010156121e457600080fd5b600160a060020a03331660009081526002602052604090205461220d908563ffffffff6120d116565b600160a060020a033381166000908152600260205260408082209390935590871681522054612242908563ffffffff6120e316565b600160a060020a03861660008181526002602052604080822093909355879350909163c0ee0b8a9133918891889151602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156122e25780820151838201526020016122ca565b50505050905090810190601f16801561230f5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b151561232f57600080fd5b6102c65a03f1151561234057600080fd5b505050604051805190505084600160a060020a031633600160a060020a03166000805160206128ba8339815191528660405190815260200160405180910390a3826040518082805190602001908083835b602083106123b05780518252601f199092019160209182019101612391565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a031660008051602061289a8339815191528760405190815260200160405180910390a4506001949350505050565b600160a060020a0333166000908152600260205260408120548390101561244257600080fd5b600160a060020a03331660009081526002602052604090205461246b908463ffffffff6120d116565b600160a060020a0333811660009081526002602052604080822093909355908616815220546124a0908463ffffffff6120e316565b600160a060020a0380861660008181526002602052604090819020939093559133909116906000805160206128ba8339815191529086905190815260200160405180910390a3816040518082805190602001908083835b602083106125165780518252601f1990920191602091820191016124f7565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a031660008051602061289a8339815191528660405190815260200160405180910390a45060019392505050565b601154600090819060ff1615801561259c5750600854600954105b80156125c15750600160a060020a03831660009081526004602052604090205460ff16155b1561276957600a54600e54600b546125de9163ffffffff61204316565b11156125eb57600a54600b555b600a54600e54600b546126039163ffffffff61204316565b111561260e57600080fd5b600e54600b546126239163ffffffff61204316565b600954909150612639908263ffffffff6120e316565b600955600a5461264f908263ffffffff6120d116565b600a55600160a060020a03831660009081526002602052604090205461267b908263ffffffff6120e316565b600160a060020a0384166000818152600260205260409081902092909255907ffa5e01f08a8782fe53fd0751b65f3368753770420396986860c20126f1a799649083905190815260200160405180910390a2600160a060020a03831660006000805160206128ba8339815191528360405190815260200160405180910390a3600081111561272757600160a060020a0383166000908152600460205260409020805460ff191660011790555b60085460095410612740576011805460ff191660011790555b61275d600d54610ba4600c54600b5461202c90919063ffffffff16565b600b55600191506121b6565b50600092915050565b601154600090819060ff1615801561278d5750600854600954105b1561276957600a54600f54600b546127aa9163ffffffff61204316565b11156127b757600a54600b555b600a54600f54600b546127cf9163ffffffff61204316565b11156127da57600080fd5b600f54600b546126239163ffffffff61204316565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061284257805160ff191683800117855561286f565b8280016001018555821561286f579182015b8281111561286f578251825591602001919060010190612854565b5061287b92915061287f565b5090565b61133c91905b8082111561287b5760008155600101612885560052c0dd07fdf543ec6918baccf2b6895fff59b122727847159223bdb1b8525bbdddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820322fdc136b35d3b7bd14bb717aa70e873dd66bfc975c15cd70e2642f53017cf600290000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000024306c4097859c43c00000000000000000000000000000000000000000000000000006c6b935b8bbd40000000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000084a6f79676f454f5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034a454f0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6060604052600436106102635763ffffffff60e060020a600035041663011847a2811461026d57806306fdde0314610292578063095ea7b31461031c5780630ff8cf9b1461035257806318160ddd146103655780631f2dc5ef1461037857806323b872dd1461038b57806327e235e3146103b35780632bba2d6d146103d2578063313ce567146103e8578063362c78b9146103fb5780633ccfd60b1461040e5780633fa4f2451461042157806342966c68146104345780634acea2541461044a578063502dadb01461045d578063513de1d3146104ac57806352e97326146104c25780635353a2d8146104d857806370a0823114610529578063729ad39e146105485780637b10a1d9146105975780638da5cb5b146105ad5780639254c2a8146105dc5780639373ad6c146105f257806395d89b4114610605578063963a9a13146106185780639b1cbccc1461062b5780639c09c8351461063e578063a0712d681461068d578063a3895fff146106a3578063a78c81ea146106f4578063a8c310d51461070a578063a9059cbb14610799578063aa6ca80814610263578063afa5f45c146107bb578063b74f312e146107d1578063be45fd62146107e7578063c108d5421461084c578063c489744b1461085f578063cae9ca5114610884578063d83623dd146108de578063d8a54360146108f1578063dd62ed3e14610904578063e58fc54c14610929578063efca2eed14610948578063f2fde38b1461095b578063f3e4877c1461097a578063f4591074146109cb578063f6368f8a146109de578063f965e32e14610a85578063f9f92be414610a9b578063fc73ec0014610aba575b61026b610ad0565b005b341561027857600080fd5b610280610bb7565b60405190815260200160405180910390f35b341561029d57600080fd5b6102a5610bbd565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102e15780820151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032757600080fd5b61033e600160a060020a0360043516602435610c5b565b604051901515815260200160405180910390f35b341561035d57600080fd5b610280610cc8565b341561037057600080fd5b610280610cce565b341561038357600080fd5b610280610cd4565b341561039657600080fd5b61033e600160a060020a0360043581169060243516604435610cda565b34156103be57600080fd5b610280600160a060020a0360043516610f07565b34156103dd57600080fd5b61026b600435610f19565b34156103f357600080fd5b610280610f39565b341561040657600080fd5b610280610f3f565b341561041957600080fd5b61026b610f45565b341561042c57600080fd5b610280610f9f565b341561043f57600080fd5b61026b600435610fa5565b341561045557600080fd5b61028061107d565b341561046857600080fd5b61026b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061108395505050505050565b34156104b757600080fd5b61026b6004356110fe565b34156104cd57600080fd5b61026b60043561111e565b34156104e357600080fd5b61026b60046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061113e95505050505050565b341561053457600080fd5b610280600160a060020a036004351661116c565b341561055357600080fd5b61026b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061117f95505050505050565b34156105a257600080fd5b61026b600435611231565b34156105b857600080fd5b6105c0611251565b604051600160a060020a03909116815260200160405180910390f35b34156105e757600080fd5b61026b600435611260565b34156105fd57600080fd5b61033e611280565b341561061057600080fd5b6102a561128e565b341561062357600080fd5b61033e6112f9565b341561063657600080fd5b61033e61133f565b341561064957600080fd5b61026b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506113ac95505050505050565b341561069857600080fd5b61026b600435611423565b34156106ae57600080fd5b61026b60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506114d695505050505050565b34156106ff57600080fd5b61026b600435611504565b341561071557600080fd5b61026b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061152495505050505050565b34156107a457600080fd5b61033e600160a060020a0360043516602435611607565b34156107c657600080fd5b61026b600435611684565b34156107dc57600080fd5b61026b6004356116a4565b34156107f257600080fd5b61033e60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506116c495505050505050565b341561085757600080fd5b61033e61171b565b341561086a57600080fd5b610280600160a060020a0360043581169060243516611724565b61033e60048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506117a195505050505050565b34156108e957600080fd5b61033e611941565b34156108fc57600080fd5b6102806119ac565b341561090f57600080fd5b610280600160a060020a03600435811690602435166119b2565b341561093457600080fd5b61033e600160a060020a03600435166119dd565b341561095357600080fd5b610280611afb565b341561096657600080fd5b61026b600160a060020a0360043516611b01565b341561098557600080fd5b61026b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350611b5892505050565b34156109d657600080fd5b61033e611c05565b34156109e957600080fd5b61033e60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650611c4d95505050505050565b3415610a9057600080fd5b61026b600435611ee8565b3415610aa657600080fd5b61033e600160a060020a0360043516611f08565b3415610ac557600080fd5b61026b600435611f1d565b601154600090819060ff1615610ae557600080fd5b600160a060020a03331660009081526004602052604090205460ff1615610b0b57600080fd5b600a54600b541115610b1e57600a54600b555b600a54600b541115610b2f57600080fd5b5050600b543390610b408282611f3d565b506000811115610b6e57600160a060020a0382166000908152600460205260409020805460ff191660011790555b60085460095410610b87576011805460ff191660011790555b610bb0600d54610ba4600c54600b5461202c90919063ffffffff16565b9063ffffffff61204316565b600b555050565b600f5481565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c535780601f10610c2857610100808354040283529160200191610c53565b820191906000526020600020905b815481529060010190602001808311610c3657829003601f168201915b505050505081565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600c5481565b60085481565b600d5481565b6000610ce46127ef565b60606064361015610cf157fe5b600160a060020a0385161515610d0657600080fd5b600160a060020a038616600090815260026020526040902054841115610d2b57600080fd5b600160a060020a0380871660009081526003602090815260408083203390941683529290522054841115610d5e57600080fd5b610d68868661206e565b1515610d7357600080fd5b600160a060020a038616600090815260026020526040902054610d9c908563ffffffff6120d116565b600160a060020a0380881660009081526002602090815260408083209490945560038152838220339093168252919091522054610ddf908563ffffffff6120d116565b600160a060020a0380881660009081526003602090815260408083203385168452825280832094909455918816815260029091522054610e25908563ffffffff6120e316565b600160a060020a03808716600081815260026020526040908190209390935591908816906000805160206128ba8339815191529087905190815260200160405180910390a3816040518082805190602001908083835b60208310610e9a5780518252601f199092019160209182019101610e7b565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031687600160a060020a031660008051602061289a8339815191528760405190815260200160405180910390a450600195945050505050565b60026020526000908152604090205481565b60015433600160a060020a03908116911614610f3457600080fd5b600e55565b60075481565b600e5481565b60015460009033600160a060020a03908116911614610f6357600080fd5b50600154600160a060020a0330811631911681156108fc0282604051600060405180830381858888f193505050501515610f9c57600080fd5b50565b600b5481565b60015460009033600160a060020a03908116911614610fc357600080fd5b600160a060020a033316600090815260026020526040902054821115610fe857600080fd5b5033600160a060020a03811660009081526002602052604090205461100d90836120d1565b600160a060020a038216600090815260026020526040902055600854611039908363ffffffff6120d116565b600855600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60105481565b60015460009033600160a060020a039081169116146110a157600080fd5b5060005b81518110156110fa576001600460008484815181106110c057fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016110a5565b5050565b60015433600160a060020a0390811691161461111957600080fd5b600d55565b60015433600160a060020a0390811691161461113957600080fd5b600855565b60015433600160a060020a0390811691161461115957600080fd5b60058180516110fa929160200190612801565b6000611177826120f2565b90505b919050565b60015460009033600160a060020a0390811691161461119d57600080fd5b60115460ff16156111ad57600080fd5b60ff825111156111bc57600080fd5b600a54600b5411156111cd57600080fd5b5060005b815181101561121557600a54600b5411156111eb57600080fd5b61120c8282815181106111fa57fe5b90602001906020020151600b54611f3d565b506001016111d1565b600854600954106110fa576011805460ff191660011790555050565b60015433600160a060020a0390811691161461124c57600080fd5b600f55565b600154600160a060020a031681565b60015433600160a060020a0390811691161461127b57600080fd5b600a55565b601154610100900460ff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c535780601f10610c2857610100808354040283529160200191610c53565b60015460009033600160a060020a0390811691161461131757600080fd5b601154610100900460ff16151561132d57600080fd5b506011805461ff001916905560015b90565b60015460009033600160a060020a0390811691161461135d57600080fd5b60115460ff161561136d57600080fd5b6011805460ff191660011790557f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a150600190565b60015460009033600160a060020a039081169116146113ca57600080fd5b5060005b81518110156110fa576000600460008484815181106113e957fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016113ce565b60015460009033600160a060020a0390811691161461144157600080fd5b5033600160a060020a03811660009081526002602052604090205461146690836120e3565b600160a060020a038216600090815260026020526040902055600854611492908363ffffffff6120e316565b600855600160a060020a0381167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a25050565b60015433600160a060020a039081169116146114f157600080fd5b60068180516110fa929160200190612801565b60015433600160a060020a0390811691161461151f57600080fd5b601055565b60015460009033600160a060020a0390811691161461154257600080fd5b60115460ff161561155257600080fd5b60ff8351111561156157600080fd5b815183511461156f57600080fd5b5060005b82518160ff16101561160257600a54828260ff168151811061159157fe5b9060200190602002015111156115a657600080fd5b6115e0838260ff16815181106115b857fe5b90602001906020020151838360ff16815181106115d157fe5b90602001906020020151611f3d565b50600854600954106115fa576011805460ff191660011790555b600101611573565b505050565b60006116116127ef565b6040604436101561161e57fe5b600160a060020a038516151561163357600080fd5b61163c856121ad565b156116535761164c8585846121bc565b925061167c565b601054841161167157611666338661206e565b151561167157600080fd5b61164c85858461241c565b505092915050565b60015433600160a060020a0390811691161461169f57600080fd5b600755565b60015433600160a060020a039081169116146116bf57600080fd5b600955565b6000604060443610156116d357fe5b600160a060020a03851615156116e857600080fd5b6116f1856121ad565b15611708576117018585856121bc565b9150611713565b61170185858561241c565b509392505050565b60115460ff1681565b60008281600160a060020a0382166370a0823185836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561177e57600080fd5b6102c65a03f1151561178f57600080fd5b50505060405180519695505050505050565b600160a060020a03338116600081815260036020908152604080832094881680845294909152808220869055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a383600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b838110156118e25780820151838201526020016118ca565b50505050905090810190601f16801561190f5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f192505050151561193757600080fd5b5060019392505050565b60015460009033600160a060020a0390811691161461195f57600080fd5b60115460ff16151561197057600080fd5b6011805460ff191690557f159b30ae850d9e3bc5d4db2ee06d52111229dd7cf4b4def72f83d2724d7e4fc660405160405180910390a150600190565b600a5481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6001546000908190819033600160a060020a039081169116146119ff57600080fd5b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611a5957600080fd5b6102c65a03f11515611a6a57600080fd5b5050506040518051600154909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611ad957600080fd5b6102c65a03f11515611aea57600080fd5b505050604051805195945050505050565b60095481565b60015433600160a060020a03908116911614611b1c57600080fd5b600160a060020a03811615610f9c5760018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60015460009033600160a060020a03908116911614611b7657600080fd5b60115460ff1615611b8657600080fd5b60ff83511115611b9557600080fd5b600a54821115611ba457600080fd5b5060005b8251811015611be857600a54821115611bc057600080fd5b611bdf838281518110611bcf57fe5b9060200190602002015183611f3d565b50600101611ba8565b60085460095410611602576011805460ff19166001179055505050565b60015460009033600160a060020a03908116911614611c2357600080fd5b601154610100900460ff1615611c3857600080fd5b506011805461ff001916610100179055600190565b60008060406044361015611c5d57fe5b611c66876121ad565b15611ed05785611c753361116c565b1015611c8057600080fd5b611c9986611c8d3361116c565b9063ffffffff6120d116565b600160a060020a033316600090815260026020526040902055611ccb86611cbf8961116c565b9063ffffffff6120e316565b600160a060020a0388166000818152600260205260408082209390935589945090918690518082805190602001908083835b60208310611d1c5780518252601f199092019160209182019101611cfd565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903389896040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611dad578082015183820152602001611d95565b50505050905090810190601f168015611dda5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f193505050501515611e0157600080fd5b86600160a060020a031633600160a060020a03166000805160206128ba8339815191528860405190815260200160405180910390a3846040518082805190602001908083835b60208310611e665780518252601f199092019160209182019101611e47565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902087600160a060020a031633600160a060020a031660008051602061289a8339815191528960405190815260200160405180910390a460019250611ede565b611edb87878761241c565b92505b5050949350505050565b60015433600160a060020a03908116911614611f0357600080fd5b600b55565b60046020526000908152604090205460ff1681565b60015433600160a060020a03908116911614611f3857600080fd5b600c55565b60115460009060ff1615611f5057600080fd5b600954611f63908363ffffffff6120e316565b600955600a54611f79908363ffffffff6120d116565b600a55600160a060020a038316600090815260026020526040902054611fa5908363ffffffff6120e316565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a03831660006000805160206128ba8339815191528460405190815260200160405180910390a3506001610cc2565b600080828481151561203a57fe5b04949350505050565b600082820283158061205f575082848281151561205c57fe5b04145b151561206757fe5b9392505050565b601154600090610100900460ff161561208957506001610cc2565b61209283612581565b80156120b0575081600160a060020a031683600160a060020a031614155b156120c8576120be82612772565b5060019050610cc2565b61193782612581565b6000828211156120dd57fe5b50900390565b60008282018381101561206757fe5b6000600160a060020a0382161580159061210f575060115460ff16155b80156121345750600160a060020a03821660009081526004602052604090205460ff16155b80156121435750600854600954105b80156121575750601154610100900460ff16155b1561218e57600b54600160a060020a0383166000908152600260205260409020546121879163ffffffff6120e316565b905061117a565b50600160a060020a03811660009081526002602052604090205461117a565b6000813b908111905b50919050565b600160a060020a0333166000908152600260205260408120548190849010156121e457600080fd5b600160a060020a03331660009081526002602052604090205461220d908563ffffffff6120d116565b600160a060020a033381166000908152600260205260408082209390935590871681522054612242908563ffffffff6120e316565b600160a060020a03861660008181526002602052604080822093909355879350909163c0ee0b8a9133918891889151602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156122e25780820151838201526020016122ca565b50505050905090810190601f16801561230f5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b151561232f57600080fd5b6102c65a03f1151561234057600080fd5b505050604051805190505084600160a060020a031633600160a060020a03166000805160206128ba8339815191528660405190815260200160405180910390a3826040518082805190602001908083835b602083106123b05780518252601f199092019160209182019101612391565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a031660008051602061289a8339815191528760405190815260200160405180910390a4506001949350505050565b600160a060020a0333166000908152600260205260408120548390101561244257600080fd5b600160a060020a03331660009081526002602052604090205461246b908463ffffffff6120d116565b600160a060020a0333811660009081526002602052604080822093909355908616815220546124a0908463ffffffff6120e316565b600160a060020a0380861660008181526002602052604090819020939093559133909116906000805160206128ba8339815191529086905190815260200160405180910390a3816040518082805190602001908083835b602083106125165780518252601f1990920191602091820191016124f7565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a031660008051602061289a8339815191528660405190815260200160405180910390a45060019392505050565b601154600090819060ff1615801561259c5750600854600954105b80156125c15750600160a060020a03831660009081526004602052604090205460ff16155b1561276957600a54600e54600b546125de9163ffffffff61204316565b11156125eb57600a54600b555b600a54600e54600b546126039163ffffffff61204316565b111561260e57600080fd5b600e54600b546126239163ffffffff61204316565b600954909150612639908263ffffffff6120e316565b600955600a5461264f908263ffffffff6120d116565b600a55600160a060020a03831660009081526002602052604090205461267b908263ffffffff6120e316565b600160a060020a0384166000818152600260205260409081902092909255907ffa5e01f08a8782fe53fd0751b65f3368753770420396986860c20126f1a799649083905190815260200160405180910390a2600160a060020a03831660006000805160206128ba8339815191528360405190815260200160405180910390a3600081111561272757600160a060020a0383166000908152600460205260409020805460ff191660011790555b60085460095410612740576011805460ff191660011790555b61275d600d54610ba4600c54600b5461202c90919063ffffffff16565b600b55600191506121b6565b50600092915050565b601154600090819060ff1615801561278d5750600854600954105b1561276957600a54600f54600b546127aa9163ffffffff61204316565b11156127b757600a54600b555b600a54600f54600b546127cf9163ffffffff61204316565b11156127da57600080fd5b600f54600b546126239163ffffffff61204316565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061284257805160ff191683800117855561286f565b8280016001018555821561286f579182015b8281111561286f578251825591602001919060010190612854565b5061287b92915061287f565b5090565b61133c91905b8082111561287b5760008155600101612885560052c0dd07fdf543ec6918baccf2b6895fff59b122727847159223bdb1b8525bbdddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820322fdc136b35d3b7bd14bb717aa70e873dd66bfc975c15cd70e2642f53017cf60029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000024306c4097859c43c00000000000000000000000000000000000000000000000000006c6b935b8bbd40000000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000084a6f79676f454f5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034a454f0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _tokenName (string): JoygoEOS
Arg [1] : _tokenSymbol (string): JEO
Arg [2] : _decimalUnits (uint256): 18
Arg [3] : _initialAmount (uint256): 1000000000000000000000000000
Arg [4] : _totalDistributed (uint256): 700000000000000000000000000
Arg [5] : _value (uint256): 2000000000000000000000
Arg [6] : _dividend (uint256): 100000
Arg [7] : _divisor (uint256): 100000

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [4] : 0000000000000000000000000000000000000000024306c4097859c43c000000
Arg [5] : 00000000000000000000000000000000000000000000006c6b935b8bbd400000
Arg [6] : 00000000000000000000000000000000000000000000000000000000000186a0
Arg [7] : 00000000000000000000000000000000000000000000000000000000000186a0
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [9] : 4a6f79676f454f53000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [11] : 4a454f0000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://322fdc136b35d3b7bd14bb717aa70e873dd66bfc975c15cd70e2642f53017cf6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.