ETH Price: $1,975.69 (+0.68%)
 

Overview

ETH Balance

0.0000000001 ETH

Eth Value

Less Than $0.01 (@ $1,975.69/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer42802412017-09-16 12:18:283080 days ago1505564308IN
Rich: Token Sale
1.045 ETH0.0051192631.68000192
VIEW ADVANCED FILTER
Amount:Between 1-10
Reset Filter

Showing the last 1 internal transaction (View Advanced Filter)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer43478982017-10-08 14:37:373058 days ago1507473457
Rich: Token Sale
1.25499999 ETH
VIEW ADVANCED FILTER
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RICHCrowdsale

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-09-16
*/

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal constant returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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

contract Token {
    function issue(address _recipient, uint256 _value) returns (bool success) {}
    function issueAtIco(address _recipient, uint256 _value, uint256 _icoNumber) returns (bool success) {}
    function totalSupply() constant returns (uint256 supply) {}
    function unlock() returns (bool success) {}
}

contract RICHCrowdsale {

    using SafeMath for uint256;

    // Crowdsale addresses
    address public creator; // Creator (1% funding)
    address public buyBackFund; // Fund for buying back and burning (48% funding)
    address public humanityFund; // Humanity fund (51% funding)

    // Withdrawal rules
    uint256 public creatorWithdraw = 0; // Current withdrawed
    uint256 public maxCreatorWithdraw = 5 * 10 ** 3 * 10**18; // First 5.000 ETH
    uint256 public percentageHumanityFund = 51; // Percentage goes to Humanity fund
    uint256 public percentageBuyBackFund = 49; // Percentage goes to Buy-back fund

    // Eth to token rate
    uint256 public currentMarketRate = 1; // Current market price ETH/RCH. Will be updated before each ico
    uint256 public minimumIcoRate = 240; // ETH/dollar rate. Minimum rate at wich will be issued RICH token, 1$ = 1RCH
    uint256 public minAcceptedEthAmount = 4 finney; // 0.004 ether

    // ICOs specification
    uint256 public maxTotalSupply = 1000000000 * 10**8; // 1 mlrd. tokens

    mapping (uint256 => uint256) icoTokenIssued; // Issued in each ICO
    uint256 public totalTokenIssued; // Total of issued tokens

    uint256 public icoPeriod = 10 days;
    uint256 public noIcoPeriod = 10 days;
    uint256 public maxIssuedTokensPerIco = 10**6 * 10**8; // 1 mil.
    uint256 public preIcoPeriod = 30 days;

    uint256 public bonusPreIco = 50;
    uint256 public bonusFirstIco = 30;
    uint256 public bonusSecondIco = 10;

    uint256 public bonusSubscription = 5;
    mapping (address => uint256) subsriptionBonusTokensIssued;

    // Balances
    mapping (address => uint256) balances;
    mapping (address => uint256) tokenBalances;
    mapping (address => mapping (uint256 => uint256)) tokenBalancesPerIco;

    enum Stages {
        Countdown,
        PreIco,
        PriorityIco,
        OpenIco,
        Ico, // [PreIco, PriorityIco, OpenIco]
        NoIco,
        Ended
    }

    Stages public stage = Stages.Countdown;

    // Crowdsale times
    uint public start;
    uint public preIcoStart;

    // Rich token
    Token public richToken;

    /**
     * Throw if at stage other than current stage
     *
     * @param _stage expected stage to test for
     */
    modifier atStage(Stages _stage) {
        updateState();

        if (stage != _stage && _stage != Stages.Ico) {
            throw;
        }

        if (stage != Stages.PriorityIco && stage != Stages.OpenIco && stage != Stages.PreIco) {
            throw;
        }
        _;
    }


    /**
     * Throw if sender is not creator
     */
    modifier onlyCreator() {
        if (creator != msg.sender) {
            throw;
        }
        _;
    }

    /**
     * Get bonus for provided ICO number
     *
     * @param _currentIco current ico number
     * @return percentage
     */
    function getPercentageBonusForIco(uint256 _currentIco) returns (uint256 percentage) {
        updateState();

        if (stage == Stages.PreIco) {
            return bonusPreIco;
        }

        if (_currentIco == 1) {
            return bonusFirstIco;
        }

        if (_currentIco == 2) {
            return bonusSecondIco;
        }

        return 0;
    }

    /**
     * Get ethereum balance of `_investor`
     *
     * @param _investor The address from which the balance will be retrieved
     * @return The balance
     */
    function balanceOf(address _investor) constant returns (uint256 balance) {
        return balances[_investor];
    }

    /**
     * Construct
     *
     * @param _tokenAddress The address of the Rich token contact
     * @param _creator Contract creator
     * @param _start Start of the first ICO
     * @param _preIcoStart Start of pre-ICO
     */
    function RICHCrowdsale(address _tokenAddress, address _creator, uint256 _start, uint256 _preIcoStart) {
        richToken = Token(_tokenAddress);
        creator = _creator;
        start = _start;
        preIcoStart = _preIcoStart;
    }

    /**
     * Set current market rate ETH/RICH. Will be caled by creator before each ICO
     *
     * @param _currentMarketRate current ETH/RICH rate at the market
     */
    function setCurrentMarketRate(uint256 _currentMarketRate) onlyCreator returns (uint256) {
        currentMarketRate = _currentMarketRate;
    }

    /**
     * Set minimum ICO rate (ETH/dollar) in order to achieve max price of 1$ for 1 RCH.
     * Will be called by creator before each ICO
     *
     * @param _minimumIcoRate current ETH/dollar rate at the market
     */
    function setMinimumIcoRate(uint256 _minimumIcoRate) onlyCreator returns (uint256) {
        minimumIcoRate = _minimumIcoRate;
    }

    /**
     * Set humanity fund address
     *
     * @param _humanityFund Humanity fund address
     */
    function setHumanityFund(address _humanityFund) onlyCreator {
        humanityFund = _humanityFund;
    }

    /**
     * Set buy back fund address
     *
     * @param _buyBackFund Bay back fund address
     */
    function setBuyBackFund(address _buyBackFund) onlyCreator {
        buyBackFund = _buyBackFund;
    }

    /**
     * Get current rate at which will be issued tokens
     *
     * @return rate How many tokens will be issued for one ETH
     */
    function getRate() returns (uint256 rate) {
        if (currentMarketRate * 12 / 10 < minimumIcoRate) {
            return minimumIcoRate;
        }

        return currentMarketRate * 12 / 10;
    }

    /**
     * Retrun pecentage of tokens owned by provided investor
     *
     * @param _investor address of investor
     * @param exeptInIco ICO number that will be excluded from calculation (usually current ICO number)
     * @return investor rate, 1000000 = 100%
     */
    function getInvestorTokenPercentage(address _investor, uint256 exeptInIco) returns (uint256 percentage) {
        uint256 deductionInvestor = 0;
        uint256 deductionIco = 0;

        if (exeptInIco >= 0) {
            deductionInvestor = tokenBalancesPerIco[_investor][exeptInIco];
            deductionIco = icoTokenIssued[exeptInIco];
        }

        if (totalTokenIssued - deductionIco == 0) {
            return 0;
        }

        return 1000000 * (tokenBalances[_investor] - deductionInvestor) / (totalTokenIssued - deductionIco);
    }

    /**
     * Convert `_wei` to an amount in RICH using
     * the current rate
     *
     * @param _wei amount of wei to convert
     * @return The amount in RICH
     */
    function toRICH(uint256 _wei) returns (uint256 amount) {
        uint256 rate = getRate();

        return _wei * rate * 10**8 / 1 ether; // 10**8 for 8 decimals
    }

    /**
     * Return ICO number (PreIco has index 0)
     *
     * @return ICO number
     */
    function getCurrentIcoNumber() returns (uint256 amount) {
        uint256 timeBehind = now - start;
        if (now < start) {
            return 0;
        }

        return 1 + ((timeBehind - (timeBehind % (icoPeriod + noIcoPeriod))) / (icoPeriod + noIcoPeriod));
    }

    /**
     * Update crowd sale stage based on current time and ICO periods
     */
    function updateState() {
        uint256 timeBehind = now - start;
        uint256 currentIcoNumber = getCurrentIcoNumber();

        if (icoTokenIssued[currentIcoNumber] >= maxIssuedTokensPerIco) {
            stage = Stages.NoIco;
            return;
        }

        if (totalTokenIssued >= maxTotalSupply) {
            stage = Stages.Ended;
            return;
        }

        if (now >= preIcoStart && now <= preIcoStart + preIcoPeriod) {
            stage = Stages.PreIco;
            return;
        }

        if (now < start) {
            stage = Stages.Countdown;
            return;
        }

        uint256 timeFromIcoStart = timeBehind - (currentIcoNumber - 1) * (icoPeriod + noIcoPeriod);

        if (timeFromIcoStart > icoPeriod) {
            stage = Stages.NoIco;
            return;
        }

        if (timeFromIcoStart > icoPeriod / 2) {
            stage = Stages.OpenIco;
            return;
        }

        stage = Stages.PriorityIco;
    }


    /**
     * Transfer appropriate percentage of raised amount to the company address and humanity and buy back fund
     */
    function withdraw() onlyCreator {
        uint256 ethBalance = this.balance;
        uint256 amountToSend = ethBalance - 100000000;

        if (creatorWithdraw < maxCreatorWithdraw) {
            if (amountToSend > maxCreatorWithdraw - creatorWithdraw) {
                amountToSend = maxCreatorWithdraw - creatorWithdraw;
            }

            if (!creator.send(amountToSend)) {
                throw;
            }

            creatorWithdraw += amountToSend;
            return;
        }

        uint256 ethForHumanityFund = amountToSend * percentageHumanityFund / 100;
        uint256 ethForBuyBackFund = amountToSend * percentageBuyBackFund / 100;

        if (!humanityFund.send(ethForHumanityFund)) {
            throw;
        }

        if (!buyBackFund.send(ethForBuyBackFund)) {
            throw;
        }
    }

    /**
     * Add additional bonus tokens for subscribed investors
     *
     * @param investorAddress Address of investor
     */
    function sendSubscriptionBonus(address investorAddress) onlyCreator {
        uint256 subscriptionBonus = tokenBalances[investorAddress] * bonusSubscription / 100;

        if (subsriptionBonusTokensIssued[investorAddress] < subscriptionBonus) {
            uint256 toBeIssued = subscriptionBonus - subsriptionBonusTokensIssued[investorAddress];
            if (!richToken.issue(investorAddress, toBeIssued)) {
                throw;
            }

            subsriptionBonusTokensIssued[investorAddress] += toBeIssued;
        }
    }

    /**
     * Receives Eth and issue RICH tokens to the sender
     */
    function () payable atStage(Stages.Ico) {
        uint256 receivedEth = msg.value;

        if (receivedEth < minAcceptedEthAmount) {
            throw;
        }

        uint256 tokensToBeIssued = toRICH(receivedEth);
        uint256 currentIco = getCurrentIcoNumber();

        //add bonus
        tokensToBeIssued = tokensToBeIssued + (tokensToBeIssued * getPercentageBonusForIco(currentIco) / 100);

        if (tokensToBeIssued == 0 || icoTokenIssued[currentIco] + tokensToBeIssued > maxIssuedTokensPerIco) {
            throw;
        }

        if (stage == Stages.PriorityIco) {
            uint256 alreadyBoughtInIco = tokenBalancesPerIco[msg.sender][currentIco];
            uint256 canBuyTokensInThisIco = maxIssuedTokensPerIco * getInvestorTokenPercentage(msg.sender, currentIco) / 1000000;

            if (tokensToBeIssued > canBuyTokensInThisIco - alreadyBoughtInIco) {
                throw;
            }
        }

        if (!richToken.issue(msg.sender, tokensToBeIssued)) {
            throw;
        }

        icoTokenIssued[currentIco] += tokensToBeIssued;
        totalTokenIssued += tokensToBeIssued;
        balances[msg.sender] += receivedEth;
        tokenBalances[msg.sender] += tokensToBeIssued;
        tokenBalancesPerIco[msg.sender][currentIco] += tokensToBeIssued;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxIssuedTokensPerIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"updateState","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getCurrentIcoNumber","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minimumIcoRate","type":"uint256"}],"name":"setMinimumIcoRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"preIcoStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preIcoPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bonusSecondIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimumIcoRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxCreatorWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenIssued","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"humanityFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"creatorWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getRate","outputs":[{"name":"rate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"percentageBuyBackFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wei","type":"uint256"}],"name":"toRICH","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bonusPreIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"richToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentMarketRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"investorAddress","type":"address"}],"name":"sendSubscriptionBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"noIcoPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_currentIco","type":"uint256"}],"name":"getPercentageBonusForIco","outputs":[{"name":"percentage","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stage","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_currentMarketRate","type":"uint256"}],"name":"setCurrentMarketRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_humanityFund","type":"address"}],"name":"setHumanityFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyBackFund","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"percentageHumanityFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bonusFirstIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"exeptInIco","type":"uint256"}],"name":"getInvestorTokenPercentage","outputs":[{"name":"percentage","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minAcceptedEthAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bonusSubscription","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_buyBackFund","type":"address"}],"name":"setBuyBackFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_creator","type":"address"},{"name":"_start","type":"uint256"},{"name":"_preIcoStart","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

6060604052600060035569010f0cf064dd5920000060045560336005556031600655600160075560f0600855660e35fa931a000060095567016345785d8a0000600a55620d2f00600d55620d2f00600e55655af3107a4000600f5562278d006010556032601155601e601255600a60135560056014556000601960006101000a81548160ff0219169083600681111561009457fe5b021790555034156100a457600080fd5b604051608080611ae9833981016040528080519060200190919080519060200190919080519060200190919080519060200190919050505b83601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601a8190555080601b819055505b505050505b611969806101806000396000f300606060405236156101cb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461061257806303b05c73146106675780631d8557d714610690578063244c757a146106a55780632ab4d052146106ce5780632d3ec656146106f75780633ccfd60b1461072e5780633d74199414610743578063427fc2df1461076c57806348bc2a211461079557806351003cab146107be578063533425a5146107e757806359849d301461081057806360ce03d5146108395780636244326d1461086257806364ec8bdb146108b7578063679aefce146108e05780636ca32280146109095780636dc585b6146109325780637028439e1461096957806370a08231146109925780637a8566ae146109df5780637bce89cc14610a3457806385c4e3d114610a5d578063920b028014610a96578063b165a33214610abf578063be9a655514610af6578063c040e6b814610b1f578063c5d953a314610b56578063c7878fa014610b8d578063c9ce624f14610bc6578063cfa9fa8514610c1b578063d1bd328b14610c44578063d836b12d14610c6d578063f1ae72a514610cc3578063f97a9d3814610cec578063fd8663d214610d15575b5b600080600080600060046101de610d4e565b8060068111156101ea57fe5b601960009054906101000a900460ff16600681111561020557fe5b1415801561022a57506004600681111561021b57fe5b81600681111561022757fe5b14155b1561023457600080fd5b6002600681111561024157fe5b601960009054906101000a900460ff16600681111561025c57fe5b1415801561029057506003600681111561027257fe5b601960009054906101000a900460ff16600681111561028d57fe5b14155b80156102c25750600160068111156102a457fe5b601960009054906101000a900460ff1660068111156102bf57fe5b14155b156102cc57600080fd5b3495506009548610156102de57600080fd5b6102e786610f06565b94506102f1610f38565b935060646102fe85610f84565b860281151561030957fe5b048501945060008514806103335750600f5485600b60008781526020019081526020016000205401115b1561033d57600080fd5b6002600681111561034a57fe5b601960009054906101000a900460ff16600681111561036557fe5b14156103ec57601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020549250620f42406103cc3386610ff6565b600f54028115156103d957fe5b0491508282038511156103eb57600080fd5b5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663867904b433876000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156104b957600080fd5b6102c65a03f115156104ca57600080fd5b5050506040518051905015156104df57600080fd5b84600b60008681526020019081526020016000206000828254019250508190555084600c6000828254019250508190555085601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555084601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555084601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868152602001908152602001600020600082825401925050819055505b5b505050505050005b341561061d57600080fd5b6106256110ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b61067a611112565b6040518082815260200191505060405180910390f35b341561069b57600080fd5b6106a3610d4e565b005b34156106b057600080fd5b6106b8610f38565b6040518082815260200191505060405180910390f35b34156106d957600080fd5b6106e1611118565b6040518082815260200191505060405180910390f35b341561070257600080fd5b610718600480803590602001909190505061111e565b6040518082815260200191505060405180910390f35b341561073957600080fd5b610741611189565b005b341561074e57600080fd5b610756611399565b6040518082815260200191505060405180910390f35b341561077757600080fd5b61077f61139f565b6040518082815260200191505060405180910390f35b34156107a057600080fd5b6107a86113a5565b6040518082815260200191505060405180910390f35b34156107c957600080fd5b6107d16113ab565b6040518082815260200191505060405180910390f35b34156107f257600080fd5b6107fa6113b1565b6040518082815260200191505060405180910390f35b341561081b57600080fd5b6108236113b7565b6040518082815260200191505060405180910390f35b341561084457600080fd5b61084c6113bd565b6040518082815260200191505060405180910390f35b341561086d57600080fd5b6108756113c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108c257600080fd5b6108ca6113e9565b6040518082815260200191505060405180910390f35b34156108eb57600080fd5b6108f36113ef565b6040518082815260200191505060405180910390f35b341561091457600080fd5b61091c61142e565b6040518082815260200191505060405180910390f35b341561093d57600080fd5b6109536004808035906020019091905050610f06565b6040518082815260200191505060405180910390f35b341561097457600080fd5b61097c611434565b6040518082815260200191505060405180910390f35b341561099d57600080fd5b6109c9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061143a565b6040518082815260200191505060405180910390f35b34156109ea57600080fd5b6109f2611484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a3f57600080fd5b610a476114aa565b6040518082815260200191505060405180910390f35b3415610a6857600080fd5b610a94600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114b0565b005b3415610aa157600080fd5b610aa9611733565b6040518082815260200191505060405180910390f35b3415610aca57600080fd5b610ae06004808035906020019091905050610f84565b6040518082815260200191505060405180910390f35b3415610b0157600080fd5b610b09611739565b6040518082815260200191505060405180910390f35b3415610b2a57600080fd5b610b3261173f565b60405180826006811115610b4257fe5b60ff16815260200191505060405180910390f35b3415610b6157600080fd5b610b776004808035906020019091905050611752565b6040518082815260200191505060405180910390f35b3415610b9857600080fd5b610bc4600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117bd565b005b3415610bd157600080fd5b610bd961185e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c2657600080fd5b610c2e611884565b6040518082815260200191505060405180910390f35b3415610c4f57600080fd5b610c5761188a565b6040518082815260200191505060405180910390f35b3415610c7857600080fd5b610cad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ff6565b6040518082815260200191505060405180910390f35b3415610cce57600080fd5b610cd6611890565b6040518082815260200191505060405180910390f35b3415610cf757600080fd5b610cff611896565b6040518082815260200191505060405180910390f35b3415610d2057600080fd5b610d4c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061189c565b005b6000806000601a5442039250610d62610f38565b9150600f54600b600084815260200190815260200160002054101515610dab576005601960006101000a81548160ff02191690836006811115610da157fe5b0217905550610f01565b600a54600c54101515610de1576006601960006101000a81548160ff02191690836006811115610dd757fe5b0217905550610f01565b601b544210158015610df95750601054601b54014211155b15610e27576001601960006101000a81548160ff02191690836006811115610e1d57fe5b0217905550610f01565b601a54421015610e5a576000601960006101000a81548160ff02191690836006811115610e5057fe5b0217905550610f01565b600e54600d5401600183030283039050600d54811115610e9d576005601960006101000a81548160ff02191690836006811115610e9357fe5b0217905550610f01565b6002600d54811515610eab57fe5b04811115610edc576003601960006101000a81548160ff02191690836006811115610ed257fe5b0217905550610f01565b6002601960006101000a81548160ff02191690836006811115610efb57fe5b02179055505b505050565b600080610f116113ef565b9050670de0b6b3a76400006305f5e10082850202811515610f2e57fe5b0491505b50919050565b600080601a5442039050601a54421015610f555760009150610f80565b600e54600d5401600e54600d540182811515610f6d57fe5b068203811515610f7957fe5b0460010191505b5090565b6000610f8e610d4e565b60016006811115610f9b57fe5b601960009054906101000a900460ff166006811115610fb657fe5b1415610fc6576011549050610ff1565b6001821415610fd9576012549050610ff1565b6002821415610fec576013549050610ff1565b600090505b919050565b60008060008091506000905060008410151561107657601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020549150600b60008581526020019081526020016000205490505b600081600c5403141561108c57600092506110e5565b80600c540382601760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403620f4240028115156110e157fe5b0492505b505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600a5481565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561117b57600080fd5b816008819055505b5b919050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111ea57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163193506305f5e1008403925060045460035410156112a75760035460045403831115611231576003546004540392505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561129257600080fd5b82600360008282540192505081905550611392565b606460055484028115156112b757fe5b049150606460065484028115156112ca57fe5b049050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561132f57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561139157600080fd5b5b5b50505050565b601b5481565b60105481565b60135481565b60085481565b600d5481565b60045481565b600c5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600854600a600c6007540281151561140557fe5b04101561141657600854905061142b565b600a600c6007540281151561142757fe5b0490505b90565b60065481565b60115481565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6000803373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561150e57600080fd5b6064601454601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561155d57fe5b04915081601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561172c57601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482039050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663867904b484836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156116b857600080fd5b6102c65a03f115156116c957600080fd5b5050506040518051905015156116de57600080fd5b80601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b5b5b505050565b600e5481565b601a5481565b601960009054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117af57600080fd5b816007819055505b5b919050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561181857600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60125481565b60095481565b60145481565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118f757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505600a165627a7a7230582064f9c002fb4adb7e8e863b75716c85ebdc68cf7b92d03b4ffad65b209faa3b3e0029000000000000000000000000af12b1b76202fdfd9e584e2e4e230250e8eb84940000000000000000000000008a2b4d371173382900cd8ef5897a4ec1dc362d2b0000000000000000000000000000000000000000000000000000000059e331a00000000000000000000000000000000000000000000000000000000059bba4a0

Deployed Bytecode

0x606060405236156101cb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461061257806303b05c73146106675780631d8557d714610690578063244c757a146106a55780632ab4d052146106ce5780632d3ec656146106f75780633ccfd60b1461072e5780633d74199414610743578063427fc2df1461076c57806348bc2a211461079557806351003cab146107be578063533425a5146107e757806359849d301461081057806360ce03d5146108395780636244326d1461086257806364ec8bdb146108b7578063679aefce146108e05780636ca32280146109095780636dc585b6146109325780637028439e1461096957806370a08231146109925780637a8566ae146109df5780637bce89cc14610a3457806385c4e3d114610a5d578063920b028014610a96578063b165a33214610abf578063be9a655514610af6578063c040e6b814610b1f578063c5d953a314610b56578063c7878fa014610b8d578063c9ce624f14610bc6578063cfa9fa8514610c1b578063d1bd328b14610c44578063d836b12d14610c6d578063f1ae72a514610cc3578063f97a9d3814610cec578063fd8663d214610d15575b5b600080600080600060046101de610d4e565b8060068111156101ea57fe5b601960009054906101000a900460ff16600681111561020557fe5b1415801561022a57506004600681111561021b57fe5b81600681111561022757fe5b14155b1561023457600080fd5b6002600681111561024157fe5b601960009054906101000a900460ff16600681111561025c57fe5b1415801561029057506003600681111561027257fe5b601960009054906101000a900460ff16600681111561028d57fe5b14155b80156102c25750600160068111156102a457fe5b601960009054906101000a900460ff1660068111156102bf57fe5b14155b156102cc57600080fd5b3495506009548610156102de57600080fd5b6102e786610f06565b94506102f1610f38565b935060646102fe85610f84565b860281151561030957fe5b048501945060008514806103335750600f5485600b60008781526020019081526020016000205401115b1561033d57600080fd5b6002600681111561034a57fe5b601960009054906101000a900460ff16600681111561036557fe5b14156103ec57601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020549250620f42406103cc3386610ff6565b600f54028115156103d957fe5b0491508282038511156103eb57600080fd5b5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663867904b433876000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156104b957600080fd5b6102c65a03f115156104ca57600080fd5b5050506040518051905015156104df57600080fd5b84600b60008681526020019081526020016000206000828254019250508190555084600c6000828254019250508190555085601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555084601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555084601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868152602001908152602001600020600082825401925050819055505b5b505050505050005b341561061d57600080fd5b6106256110ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b61067a611112565b6040518082815260200191505060405180910390f35b341561069b57600080fd5b6106a3610d4e565b005b34156106b057600080fd5b6106b8610f38565b6040518082815260200191505060405180910390f35b34156106d957600080fd5b6106e1611118565b6040518082815260200191505060405180910390f35b341561070257600080fd5b610718600480803590602001909190505061111e565b6040518082815260200191505060405180910390f35b341561073957600080fd5b610741611189565b005b341561074e57600080fd5b610756611399565b6040518082815260200191505060405180910390f35b341561077757600080fd5b61077f61139f565b6040518082815260200191505060405180910390f35b34156107a057600080fd5b6107a86113a5565b6040518082815260200191505060405180910390f35b34156107c957600080fd5b6107d16113ab565b6040518082815260200191505060405180910390f35b34156107f257600080fd5b6107fa6113b1565b6040518082815260200191505060405180910390f35b341561081b57600080fd5b6108236113b7565b6040518082815260200191505060405180910390f35b341561084457600080fd5b61084c6113bd565b6040518082815260200191505060405180910390f35b341561086d57600080fd5b6108756113c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108c257600080fd5b6108ca6113e9565b6040518082815260200191505060405180910390f35b34156108eb57600080fd5b6108f36113ef565b6040518082815260200191505060405180910390f35b341561091457600080fd5b61091c61142e565b6040518082815260200191505060405180910390f35b341561093d57600080fd5b6109536004808035906020019091905050610f06565b6040518082815260200191505060405180910390f35b341561097457600080fd5b61097c611434565b6040518082815260200191505060405180910390f35b341561099d57600080fd5b6109c9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061143a565b6040518082815260200191505060405180910390f35b34156109ea57600080fd5b6109f2611484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a3f57600080fd5b610a476114aa565b6040518082815260200191505060405180910390f35b3415610a6857600080fd5b610a94600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114b0565b005b3415610aa157600080fd5b610aa9611733565b6040518082815260200191505060405180910390f35b3415610aca57600080fd5b610ae06004808035906020019091905050610f84565b6040518082815260200191505060405180910390f35b3415610b0157600080fd5b610b09611739565b6040518082815260200191505060405180910390f35b3415610b2a57600080fd5b610b3261173f565b60405180826006811115610b4257fe5b60ff16815260200191505060405180910390f35b3415610b6157600080fd5b610b776004808035906020019091905050611752565b6040518082815260200191505060405180910390f35b3415610b9857600080fd5b610bc4600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117bd565b005b3415610bd157600080fd5b610bd961185e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c2657600080fd5b610c2e611884565b6040518082815260200191505060405180910390f35b3415610c4f57600080fd5b610c5761188a565b6040518082815260200191505060405180910390f35b3415610c7857600080fd5b610cad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ff6565b6040518082815260200191505060405180910390f35b3415610cce57600080fd5b610cd6611890565b6040518082815260200191505060405180910390f35b3415610cf757600080fd5b610cff611896565b6040518082815260200191505060405180910390f35b3415610d2057600080fd5b610d4c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061189c565b005b6000806000601a5442039250610d62610f38565b9150600f54600b600084815260200190815260200160002054101515610dab576005601960006101000a81548160ff02191690836006811115610da157fe5b0217905550610f01565b600a54600c54101515610de1576006601960006101000a81548160ff02191690836006811115610dd757fe5b0217905550610f01565b601b544210158015610df95750601054601b54014211155b15610e27576001601960006101000a81548160ff02191690836006811115610e1d57fe5b0217905550610f01565b601a54421015610e5a576000601960006101000a81548160ff02191690836006811115610e5057fe5b0217905550610f01565b600e54600d5401600183030283039050600d54811115610e9d576005601960006101000a81548160ff02191690836006811115610e9357fe5b0217905550610f01565b6002600d54811515610eab57fe5b04811115610edc576003601960006101000a81548160ff02191690836006811115610ed257fe5b0217905550610f01565b6002601960006101000a81548160ff02191690836006811115610efb57fe5b02179055505b505050565b600080610f116113ef565b9050670de0b6b3a76400006305f5e10082850202811515610f2e57fe5b0491505b50919050565b600080601a5442039050601a54421015610f555760009150610f80565b600e54600d5401600e54600d540182811515610f6d57fe5b068203811515610f7957fe5b0460010191505b5090565b6000610f8e610d4e565b60016006811115610f9b57fe5b601960009054906101000a900460ff166006811115610fb657fe5b1415610fc6576011549050610ff1565b6001821415610fd9576012549050610ff1565b6002821415610fec576013549050610ff1565b600090505b919050565b60008060008091506000905060008410151561107657601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020549150600b60008581526020019081526020016000205490505b600081600c5403141561108c57600092506110e5565b80600c540382601760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403620f4240028115156110e157fe5b0492505b505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b600a5481565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561117b57600080fd5b816008819055505b5b919050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111ea57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163193506305f5e1008403925060045460035410156112a75760035460045403831115611231576003546004540392505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561129257600080fd5b82600360008282540192505081905550611392565b606460055484028115156112b757fe5b049150606460065484028115156112ca57fe5b049050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561132f57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561139157600080fd5b5b5b50505050565b601b5481565b60105481565b60135481565b60085481565b600d5481565b60045481565b600c5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600854600a600c6007540281151561140557fe5b04101561141657600854905061142b565b600a600c6007540281151561142757fe5b0490505b90565b60065481565b60115481565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6000803373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561150e57600080fd5b6064601454601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561155d57fe5b04915081601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561172c57601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482039050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663867904b484836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156116b857600080fd5b6102c65a03f115156116c957600080fd5b5050506040518051905015156116de57600080fd5b80601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b5b5b505050565b600e5481565b601a5481565b601960009054906101000a900460ff1681565b60003373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117af57600080fd5b816007819055505b5b919050565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561181857600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60125481565b60095481565b60145481565b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118f757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505600a165627a7a7230582064f9c002fb4adb7e8e863b75716c85ebdc68cf7b92d03b4ffad65b209faa3b3e0029

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

000000000000000000000000af12b1b76202fdfd9e584e2e4e230250e8eb84940000000000000000000000008a2b4d371173382900cd8ef5897a4ec1dc362d2b0000000000000000000000000000000000000000000000000000000059e331a00000000000000000000000000000000000000000000000000000000059bba4a0

-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0xAF12b1b76202fDFd9E584e2e4e230250e8eB8494
Arg [1] : _creator (address): 0x8A2b4D371173382900cd8EF5897a4EC1dc362D2B
Arg [2] : _start (uint256): 1508061600
Arg [3] : _preIcoStart (uint256): 1505469600

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000af12b1b76202fdfd9e584e2e4e230250e8eb8494
Arg [1] : 0000000000000000000000008a2b4d371173382900cd8ef5897a4ec1dc362d2b
Arg [2] : 0000000000000000000000000000000000000000000000000000000059e331a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000059bba4a0


Swarm Source

bzzr://64f9c002fb4adb7e8e863b75716c85ebdc68cf7b92d03b4ffad65b209faa3b3e

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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