Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview | PrivatixTokenSale
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 1912 txns
Token Tracker 0x3adfc4999f77d04c8341bac5f3a76f58dff5b37a
Misc
Address Watch Add To Watch List
Contract Creator 0xcef4166c4fdda405d8868a6b3281bda0bf1fce5eat txn 0x89f45a588f06d542b16020dd657486c7d163db03a2d599e4a606f8eb459e38b1
Token Tracker
  Latest 25 txns from a total Of 1912 transactions View All

TxHash Age From To Value [TxFee]
0x72278dcfc23fb7177b897b8302fcd69e3780469f8b5a0d63de58a3cbcbe3494344 mins ago0x5a10aa2364397586c7a875987c05497ac8558e0b  IN   PrivatixTokenSale0.024 Ether0.0002159
0x9a30a017578d0294653b125fbac9cc1a50fbd391c3eb9cfd72d0310ee7fab78e46 mins ago0x5a10aa2364397586c7a875987c05497ac8558e0b  IN   PrivatixTokenSale0.0245 Ether0.0002159
0xe8bfbdb11177847c96cc32a5294c620629c222a1a222ebfaa58fc32e0e3d346c1 day 19 hrs ago0x71ace2802e93436df9cdad57ddd03a5feee24a32  IN   PrivatixTokenSale0.994 Ether0.00048096
0x6a15f8078666c3eda695dc6143e8f2fa0e9a13dc7892df9af75b2f761cb8268f2 days 7 hrs ago0xcef4166c4fdda405d8868a6b3281bda0bf1fce5e  IN   PrivatixTokenSale0 Ether0.005917652
0x4891680008be88fb0c656f8285773ccf4aee66aac7f3aeba5afe89654a3a5e492 days 7 hrs ago0xcef4166c4fdda405d8868a6b3281bda0bf1fce5e  IN   PrivatixTokenSale0 Ether0.001012026
0xf684a0f2ac83df2b1c53eb191fe50d7201b8d0ca83a232304139359d419a8a912 days 7 hrs ago0x591644ca0767880e85a7ca70ca2034a58a6c9a71  IN   PrivatixTokenSale3.7 Ether0.000189
0xc66c3d246bfe8aa91c9ff2efcd58aefb73ce99e42c2456bfb11a11368d871c442 days 7 hrs ago0x923db1882ed71b791c86270ab984e6226436e937  IN   PrivatixTokenSale0.04 Ether0.00045339
0x2b47363ce92fa600a75b29ba7bca2810dbf36268d249755e3cb2f4f109a929b02 days 7 hrs ago0x5f0f119419b528c804c9bbbf15455d36450406b4  IN   PrivatixTokenSale300 Ether0.0012954
0x20570bb821ecbdb69e799f98959e2ea2b5673a5aae63eaab9da8d34e046c162f2 days 7 hrs ago0x2825de80c6b9744f4430e274c685ebce12c7dc41  IN   PrivatixTokenSale6.4657618079 Ether0.001384929
0xe5a57bbbca20bcf0bf20d4744c5cf07c9442f34f65f6344305c36619cd0037962 days 7 hrs ago0x7055ab63307481b9e59e84fbd30de3456b53f60e  IN   PrivatixTokenSale1 Ether0.003231501
0x164d199d6c45467e7e2769e8474a212cae584be485d69a66c20765a393eb11542 days 7 hrs ago0xde01fd66aabbd87227b88aa5dc60ca60dd39ae0b  IN   PrivatixTokenSale0.1 Ether0.00065949
0x9bbb2e8988212657dd56b2d7aae68a2915adb256c86a106b155377c262fe4ed92 days 7 hrs ago0xb00c757f283ebbdd4b32e3a31b1c6a5878701623  IN   PrivatixTokenSale3 Ether0.001384929
0x3159b184d592387989641c127f5c94e8b0163c5c101a01da4d5bb952e3e321ab2 days 7 hrs ago0xc2c1627370fa170a895868374ad9a3b366d093b0  IN   PrivatixTokenSale1.3 Ether0.0020378241
0xa19676fd1a4d31bd42ba5ea67ea4ebf2bb0e7121fb288e89a6bfb4da978d8bf12 days 7 hrs ago0xccede94ba65bc81f7a940ae15e33f73d7b28aeb3  IN   PrivatixTokenSale2 Ether0.0004840155
0x4a0c7d0e6814349b67b59127621e18e136a93cd4ea3965041953516f3fe9dcf32 days 7 hrs ago0x2635993848ca7df4c2683bfd3b7899c225a6a2b2  IN   PrivatixTokenSale5 Ether0.00197847
0xa91ec1ceec54fd424740715102c517ca0c14aada68c20965e048ed3a81f118912 days 7 hrs ago0xf85a551811c40e7ffb912a21efe2c26277be8ebc  IN   PrivatixTokenSale1 Ether0.000329745
0xf679901c3993a51c8260027b1021cc42a81b1ab95c4cc5b528b1228bf97500b12 days 7 hrs ago0x863a3bd6f28f4f4a131c88708da91076fdc362c7  IN   PrivatixTokenSale0.46 Ether0.000896349955
0x2e6e7235c688815981e718560a483ad58b58f9dd1b30ced8b10f380af4e7b80f2 days 7 hrs ago0x70995e7adbfeacb44c1d7c56a85c9c476b12b12c  IN   PrivatixTokenSale4 Ether0.00131898
0xd2c5051ad864398dc44b503949c366e2ce460983531a8d3458121d39f38d870b2 days 7 hrs ago0xbb61f91efe6fc14b192b9b7e3a68c165018f678a  IN   PrivatixTokenSale2.083 Ether0.001384929
0xd69a50d5d4e9547f123a7575484a217bd492deea5e27e7c6ccfaba3cbc1ab1032 days 7 hrs ago0xd4c9258364b4f7909644acf329ed5a7dff4f7742  IN   PrivatixTokenSale5 Ether0.001069929
0x171ca7398f4da66f255025c7426bb5733e4e01c1b9fa5b46852d16030fc9b32d2 days 7 hrs ago0x7497436c4f382bc1dd2882a3a2591ddffd2327f9  IN   PrivatixTokenSale0.6 Ether0.001384929
0x789227f78617e42515c62efc9597812fa00819670f2200819f4b5328ecc310c12 days 7 hrs ago0xf226f288d04f54d9b8773a009f48bb8c6710a52c  IN   PrivatixTokenSale0.08216065 Ether0.001384929
0xfcf9f396c519adff8263c83b5044bfddb3498578b3babb95603ad567739646382 days 7 hrs ago0x49f32a5e59139ddc500f965dfbba583e0d0f552b  IN   PrivatixTokenSale1 Ether0.001450878
0x591ec5a4de9728cc6d9cd67d80cc57495db8c888c150e0bf028f7276ab698ae12 days 7 hrs ago0x366dbe0ffe0d1fad0cff4de09d097ad264e1a91f  IN   PrivatixTokenSale2 Ether0.00152847
0x867e58f7734b30c0171018032678552ece78b17a608dc0121cfef78d4a5d52aa2 days 7 hrs ago0xd657f10e7d6b31803cdc85e8743cfa8c7b19818f  IN   PrivatixTokenSale20 Ether0.001384929
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 4 Internal Transactions

ParentTxHash Block Age From To Value
0x4891680008be88fb0c656f8285773ccf4aee66aac7f3aeba5afe89654a3a5e4945638662 days 7 hrs ago0xec203ddb210458df139d02a62baf49ca36a0b8d90xb1c5d524382324c9472c6f8e1a3c0a64465a49021,380.183700157282585649 Ether
0x31d667f2f71ccc8065a79e9afaf5dd78495c65421eac8316d754e7e4c18cc352443897322 days 10 hrs ago0xec203ddb210458df139d02a62baf49ca36a0b8d90xb1c5d524382324c9472c6f8e1a3c0a64465a4902997.186027308027823602 Ether
0x6075d39052bd1b75bbdcb6a8f854ed0fa5cbe07282a1dc448bd1c087ea85e832439655529 days 5 hrs ago0xec203ddb210458df139d02a62baf49ca36a0b8d90xb1c5d524382324c9472c6f8e1a3c0a64465a49023,397.074242865726844459 Ether
0x89f45a588f06d542b16020dd657486c7d163db03a2d599e4a606f8eb459e38b1437908332 days 54 mins ago0xec203ddb210458df139d02a62baf49ca36a0b8d9  Contract Creation0 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: Sale
Compiler Version: v0.4.17+commit.bdeb9e52
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.15;

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 Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

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

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

}

contract ERC20 is ERC20Basic {
  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);
}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    uint256 _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  /**
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   */
  function increaseApproval (address _spender, uint _addedValue)
    returns (bool success) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval (address _spender, uint _subtractedValue)
    returns (bool success) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    Mint(_to, _amount);
    Transfer(0x0, _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
}

contract MultiOwners {

    event AccessGrant(address indexed owner);
    event AccessRevoke(address indexed owner);
    
    mapping(address => bool) owners;

    function MultiOwners() {
        owners[msg.sender] = true;
    }

    modifier onlyOwner() { 
        require(owners[msg.sender] == true);
        _; 
    }

    function isOwner() constant returns (bool) {
        return owners[msg.sender] ? true : false;
    }

    function checkOwner(address maybe_owner) constant returns (bool) {
        return owners[maybe_owner] ? true : false;
    }


    function grant(address _owner) onlyOwner {
        owners[_owner] = true;
        AccessGrant(_owner);
    }

    function revoke(address _owner) onlyOwner {
        require(msg.sender != _owner);
        owners[_owner] = false;
        AccessRevoke(_owner);
    }
}

contract Sale is MultiOwners {
    // Minimal possible cap in ethers
    uint256 public softCap;

    // Maximum possible cap in ethers
    uint256 public hardCap;

    // totalEthers received
    uint256 public totalEthers;

    // Ssale token
    Token public token;

    // Withdraw wallet
    address public wallet;

    // Maximum available to sell tokens
    uint256 public maximumTokens;

    // Minimal ether
    uint256 public minimalEther;

    // Token per ether
    uint256 public weiPerToken;

    // start and end timestamp where investments are allowed (both inclusive)
    uint256 public startTime;
    uint256 public endTime;

    // refund if softCap is not reached
    bool public refundAllowed;

    // 
    mapping(address => uint256) public etherBalances;

    // 
    mapping(address => uint256) public whitelist;

    // bounty tokens
    uint256 public bountyReward;

    // team tokens
    uint256 public teamReward;

    // founder tokens
    uint256 public founderReward;


    event TokenPurchase(address indexed beneficiary, uint256 value, uint256 amount);
    event Whitelist(address indexed beneficiary, uint256 value);

    modifier validPurchase(address contributor) {
        bool withinPeriod = ((now >= startTime || checkWhitelist(contributor, msg.value)) && now <= endTime);
        bool nonZeroPurchase = msg.value != 0;
        require(withinPeriod && nonZeroPurchase);

        _;        
    }

    modifier isStarted() {
        require(now >= startTime);

        _;        
    }

    modifier isExpired() {
        require(now > endTime);

        _;        
    }

    function Sale(uint256 _startTime, address _wallet) {
        require(_startTime >=  now);
        require(_wallet != 0x0);

        token = new Token();

        wallet = _wallet;
        startTime = _startTime;

        minimalEther = 1e16; // 0.01 ether
        endTime = _startTime + 28 days;
        weiPerToken = 1e18 / 100e8; // token price
        hardCap = 57142e18;
        softCap = 3350e18;

    
        // We love our Pre-ITO backers
        token.mint(0x992066a964C241eD4996E750284d039B14A19fA5, 11199999999860);
        token.mint(0x1F4df63B8d32e54d94141EF8475c55dF4db2a02D, 9333333333170);
        token.mint(0xce192Be11DdE37630Ef842E3aF5fBD7bEA15C6f9, 2799999999930);
        token.mint(0x18D2AD9DFC0BA35E124E105E268ebC224323694a, 1120000000000);
        token.mint(0x4eD1db98a562594CbD42161354746eAafD1F9C44, 933333333310);
        token.mint(0x00FEbfc7be373f8088182850FeCA034DDA8b7a67, 896000000000);
        token.mint(0x86850f5f7D035dD96B07A75c484D520cff13eb58, 634666666620);
        token.mint(0x08750DA30e952B6ef3D034172904ca7Ec1ab133A, 616000000000);
        token.mint(0x4B61eDe41e7C8034d6bdF1741cA94910993798aa, 578666666620);
        token.mint(0xdcb018EAD6a94843ef2391b3358294020791450b, 560000000000);
        token.mint(0xb62E27446079c2F2575C79274cd905Bf1E1e4eDb, 560000000000);
        token.mint(0xFF37732a268a2ED27627c14c45f100b87E17fFDa, 560000000000);
        token.mint(0x7bDeD0D5B6e2F9a44f59752Af633e4D1ed200392, 80000000000);
        token.mint(0x995516bb1458fa7b192Bb4Bab0635Fc9Ab447FD1, 48000000000);
        token.mint(0x95a7BEf91A5512d954c721ccbd6fC5402667FaDe, 32000000000);
        token.mint(0x3E10553fff3a5Ac28B9A7e7f4afaFB4C1D6Efc0b, 24000000000);
        token.mint(0x7C8E7d9BE868673a1bfE0686742aCcb6EaFFEF6F, 17600000000);

        maximumTokens = token.totalSupply() + 8000000e8;

        // Also we like KYC
        whitelist[0xBd7dC4B22BfAD791Cd5d39327F676E0dC3c0C2D0] = 2000 ether;
        whitelist[0xebAd12E50aDBeb3C7b72f4a877bC43E7Ec03CD60] = 200 ether;
        whitelist[0xcFC9315cee88e5C650b5a97318c2B9F632af6547] = 200 ether;
        whitelist[0xC6318573a1Eb70B7B3d53F007d46fcEB3CFcEEaC] = 200 ether;
        whitelist[0x9d4096117d7FFCaD8311A1522029581D7BF6f008] = 150 ether;
        whitelist[0xfa99b733fc996174CE1ef91feA26b15D2adC3E31] = 100 ether;
        whitelist[0xdbb70fbedd2661ef3b6bdf0c105e62fd1c61da7c] = 100 ether;
        whitelist[0xa16fd60B82b81b4374ac2f2734FF0da78D1CEf3f] = 100 ether;
        whitelist[0x8c950B58dD54A54E90D9c8AD8bE87B10ad30B59B] = 100 ether;
        whitelist[0x5c32Bd73Afe16b3De78c8Ce90B64e569792E9411] = 100 ether;
        whitelist[0x4Daf690A5F8a466Cb49b424A776aD505d2CD7B7d] = 100 ether;
        whitelist[0x3da7486DF0F343A0E6AF8D26259187417ed08EC9] = 100 ether;
        whitelist[0x3ac05aa1f06e930640c485a86a831750a6c2275e] = 100 ether;
        whitelist[0x009e02b21aBEFc7ECC1F2B11700b49106D7D552b] = 100 ether;
        whitelist[0xCD540A0cC5260378fc818CA815EC8B22F966C0af] = 85 ether;
        whitelist[0x6e8b688CB562a028E5D9Cb55ac1eE43c22c96995] = 60 ether;
        whitelist[0xe6D62ec63852b246d3D348D4b3754e0E72F67df4] = 50 ether;
        whitelist[0xE127C0c9A2783cBa017a835c34D7AF6Ca602c7C2] = 50 ether;
        whitelist[0xD933d531D354Bb49e283930743E0a473FC8099Df] = 50 ether;
        whitelist[0x8c3C524A2be451A670183Ee4A2415f0d64a8f1ae] = 50 ether;
        whitelist[0x7e0fb316Ac92b67569Ed5bE500D9A6917732112f] = 50 ether;
        whitelist[0x738C090D87f6539350f81c0229376e4838e6c363] = 50 ether;
        // anothers KYC will be added using addWhitelists
    }

    function hardCapReached() constant public returns (bool) {
        return ((hardCap * 999) / 1000) <= totalEthers;
    }

    function softCapReached() constant public returns(bool) {
        return totalEthers >= softCap;
    }

    /*
     * @dev fallback for processing ether
     */
    function() payable {
        return buyTokens(msg.sender);
    }

    /*
     * @dev calculate amount
     * @param  _value - ether to be converted to tokens
     * @param  at - current time
     * @return token amount that we should send to our dear investor
     */
    function calcAmountAt(uint256 _value, uint256 at) public constant returns (uint256) {
        uint rate;

        if(startTime + 2 days >= at) {
            rate = 140;
        } else if(startTime + 7 days >= at) {
            rate = 130;
        } else if(startTime + 14 days >= at) {
            rate = 120;
        } else if(startTime + 21 days >= at) {
            rate = 110;
        } else {
            rate = 105;
        }
        return ((_value * rate) / weiPerToken) / 100;
    }

    /*
     * @dev check contributor is whitelisted or not for buy token 
     * @param contributor
     * @param amount — how much ethers contributor wants to spend
     * @return true if access allowed
     */
    function checkWhitelist(address contributor, uint256 amount) internal returns (bool) {
        return etherBalances[contributor] + amount <= whitelist[contributor];
    }

    /*
     * @dev grant backer until first 24 hours
     * @param contributor address
     */
    function addWhitelist(address contributor, uint256 amount) onlyOwner public returns (bool) {
        Whitelist(contributor, amount);
        whitelist[contributor] = amount;
        return true;
    }


    /*
     * @dev grant backers until first 24 hours
     * @param contributor address
     */
    function addWhitelists(address[] contributors, uint256[] amounts) onlyOwner public returns (bool) {
        address contributor;
        uint256 amount;

        require(contributors.length == amounts.length);

        for (uint i = 0; i < contributors.length; i++) {
            contributor = contributors[i];
            amount = amounts[i];
            require(addWhitelist(contributor, amount));
        }
        return true;
    }

    /*
     * @dev sell token and send to contributor address
     * @param contributor address
     */
    function buyTokens(address contributor) payable validPurchase(contributor) public {
        uint256 amount = calcAmountAt(msg.value, block.timestamp);
  
        require(contributor != 0x0) ;
        require(minimalEther <= msg.value);
        require(token.totalSupply() + amount <= maximumTokens);

        token.mint(contributor, amount);
        TokenPurchase(contributor, msg.value, amount);

        if(softCapReached()) {
            totalEthers = totalEthers + msg.value;
        } else if (this.balance >= softCap) {
            totalEthers = this.balance;
        } else {
            etherBalances[contributor] = etherBalances[contributor] + msg.value;
        }

        require(totalEthers <= hardCap);
    }

    // @withdraw to wallet
    function withdraw() onlyOwner public {
        require(softCapReached());
        require(this.balance > 0);

        wallet.transfer(this.balance);
    }

    // @withdraw token to wallet
    function withdrawTokenToFounder() onlyOwner public {
        require(token.balanceOf(this) > 0);
        require(softCapReached());
        require(startTime + 1 years < now);

        token.transfer(wallet, token.balanceOf(this));
    }

    // @refund to backers, if softCap is not reached
    function refund() isExpired public {
        require(refundAllowed);
        require(!softCapReached());
        require(etherBalances[msg.sender] > 0);
        require(token.balanceOf(msg.sender) > 0);

        uint256 current_balance = etherBalances[msg.sender];
        etherBalances[msg.sender] = 0;
 
        token.burn(msg.sender);
        msg.sender.transfer(current_balance);
    }

    function finishCrowdsale() onlyOwner public {
        require(now > endTime || hardCapReached());
        require(!token.mintingFinished());

        bountyReward = token.totalSupply() * 3 / 83; 
        teamReward = token.totalSupply() * 7 / 83; 
        founderReward = token.totalSupply() * 7 / 83; 

        if(softCapReached()) {
            token.mint(wallet, bountyReward);
            token.mint(wallet, teamReward);
            token.mint(this, founderReward);

            token.finishMinting(true);
        } else {
            refundAllowed = true;
            token.finishMinting(false);
        }
   }

    // @return true if crowdsale event has ended
    function running() public constant returns (bool) {
        return now >= startTime && !(now > endTime || hardCapReached());
    }
}

contract Token is MintableToken {

    string public constant name = 'Privatix';
    string public constant symbol = 'PRIX';
    uint8 public constant decimals = 8;
    bool public transferAllowed;

    event Burn(address indexed from, uint256 value);
    event TransferAllowed(bool);

    modifier canTransfer() {
        require(mintingFinished && transferAllowed);
        _;        
    }
    
    function transferFrom(address from, address to, uint256 value) canTransfer returns (bool) {
        return super.transferFrom(from, to, value);
    }

    function transfer(address to, uint256 value) canTransfer returns (bool) {
        return super.transfer(to, value);
    }

    function finishMinting(bool _transferAllowed) onlyOwner returns (bool) {
        transferAllowed = _transferAllowed;
        TransferAllowed(_transferAllowed);
        return super.finishMinting();
    }

    function burn(address from) onlyOwner returns (bool) {
        Transfer(from, 0x0, balances[from]);
        Burn(from, balances[from]);

        balances[0x0] += balances[from];
        balances[from] = 0;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"totalEthers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minimalEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"refundAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"grant","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"revoke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"etherBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bountyReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributor","type":"address"},{"name":"amount","type":"uint256"}],"name":"addWhitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"},{"name":"at","type":"uint256"}],"name":"calcAmountAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawTokenToFounder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maximumTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributors","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"addWhitelists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"running","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiPerToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"maybe_owner","type":"address"}],"name":"checkOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"contributor","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"founderReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Whitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"AccessGrant","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"AccessRevoke","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b604051604080620031be8339810160405280805191906020018051600160a060020a0333166000908152602081905260409020805460ff19166001179055915050428210156200005f57600080fd5b600160a060020a03811615156200007557600080fd5b6200007f62001083565b604051809103906000f08015156200009657600080fd5b60048054600160a060020a0319908116600160a060020a039384161791829055600580549091168484161790556009849055662386f26fc100006007556224ea008401600a556305f5e100600855690c19ac8d08b56b18000060025568b59a96d2f076980000600155166340c10f1973992066a964c241ed4996e750284d039b14a19fa5650a2fb4057f746000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200018757600080fd5b6102c65a03f115156200019957600080fd5b50505060405180515050600454600160a060020a03166340c10f19731f4df63b8d32e54d94141ef8475c55df4db2a02d65087d160494b26000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200023657600080fd5b6102c65a03f115156200024857600080fd5b50505060405180515050600454600160a060020a03166340c10f1973ce192be11dde37630ef842e3af5fbd7bea15c6f965028bed015fba6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620002e557600080fd5b6102c65a03f11515620002f757600080fd5b50505060405180515050600454600160a060020a03166340c10f197318d2ad9dfc0ba35e124e105e268ebc224323694a650104c533c0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200039457600080fd5b6102c65a03f11515620003a657600080fd5b50505060405180515050600454600160a060020a03166340c10f19734ed1db98a562594cbd42161354746eaafd1f9c4464d94f00753e6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200044257600080fd5b6102c65a03f115156200045457600080fd5b50505060405180515050600454600160a060020a03166340c10f1972febfc7be373f8088182850feca034dda8b7a6764d09dc300006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620004ef57600080fd5b6102c65a03f115156200050157600080fd5b50505060405180515050600454600160a060020a03166340c10f197386850f5f7d035dd96b07a75c484d520cff13eb586493c514ca7c6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200059d57600080fd5b6102c65a03f11515620005af57600080fd5b50505060405180515050600454600160a060020a03166340c10f197308750da30e952b6ef3d034172904ca7ec1ab133a648f6c7610006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200064b57600080fd5b6102c65a03f115156200065d57600080fd5b50505060405180515050600454600160a060020a03166340c10f19734b61ede41e7c8034d6bdf1741ca94910993798aa6486bb389a7c6000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620006f957600080fd5b6102c65a03f115156200070b57600080fd5b50505060405180515050600454600160a060020a03166340c10f1973dcb018ead6a94843ef2391b3358294020791450b64826299e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620007a757600080fd5b6102c65a03f11515620007b957600080fd5b50505060405180515050600454600160a060020a03166340c10f1973b62e27446079c2f2575c79274cd905bf1e1e4edb64826299e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200085557600080fd5b6102c65a03f115156200086757600080fd5b50505060405180515050600454600160a060020a03166340c10f1973ff37732a268a2ed27627c14c45f100b87e17ffda64826299e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200090357600080fd5b6102c65a03f115156200091557600080fd5b50505060405180515050600454600160a060020a03166340c10f19737bded0d5b6e2f9a44f59752af633e4d1ed2003926412a05f20006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620009b157600080fd5b6102c65a03f11515620009c357600080fd5b50505060405180515050600454600160a060020a03166340c10f1973995516bb1458fa7b192bb4bab0635fc9ab447fd1640b2d05e0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000a5f57600080fd5b6102c65a03f1151562000a7157600080fd5b50505060405180515050600454600160a060020a03166340c10f197395a7bef91a5512d954c721ccbd6fc5402667fade6407735940006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000b0d57600080fd5b6102c65a03f1151562000b1f57600080fd5b50505060405180515050600454600160a060020a03166340c10f19733e10553fff3a5ac28b9a7e7f4afafb4c1d6efc0b64059682f0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000bbb57600080fd5b6102c65a03f1151562000bcd57600080fd5b50505060405180515050600454600160a060020a03166340c10f19737c8e7d9be868673a1bfe0686742accb6eaffef6f6404190ab0006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151562000c6957600080fd5b6102c65a03f1151562000c7b57600080fd5b50505060405180515050600454600160a060020a03166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151562000ce757600080fd5b6102c65a03f1151562000cf957600080fd5b50505060405180516602d79883d20000016006555050600d60205250686c6b935b8bbd4000007f4adc7643ee9c79f081dc338d473d67c370afae53bf684a6428d3ac733d2ab2f755680ad78ebc5ac62000007fa8318eb99eb29eec9b6e23718f58e766faab90d1b75af2fd421d1a2c2a9f84808190557f74f525bb7b554523171b8074e3f8583c655eed68673beb47fceabbe8a61692ae8190557fc16405761070f0b6e83f8a4de1c8d0a1eec9e9e2b33b584f7477c042d1ce0b4e55680821ab0d44149800007fad1227e67f0fab488e1d727deeb30448c3ed9d14b90596ed3187e308fb55ff455568056bc75e2d631000007f2ca4a14461bb7b26fa0f3b86b56b4db3a67e6cd3ba6c8843f692210bac6e76fd8190557f060dd9f0ff1dc9043fcb904b61d759b15bb46a2ebe0e401315eaf66c597c79498190557f0c03bbba2abe0acccfe1752437908cdf4a63b1e585cc2a9f67bfcab855dd06118190557f774dd9e6f9f6c628812f66b39ce0523a0be94a3babdbbfdeae94d8c48a2bb6b68190557fdb3d413a1de124faa3476bad1b46073469f848a10650f3f605e6e6536ed3430b8190557f0be9bb5e89c48c4c9cd39d29e762d683add1b3294e8a21f22c6cbdb65c0ad0eb8190557fec43779d8900cbb55e308a40030aa16f6e459a9491b2add1ff034c8e27f78fc78190557f4b46f888144326559a250f7b2cdc77a56d4ac5edefdd644c4b5b26ffca52a3d38190557fd840b46c256a76f82a3c8e8cc67fed1f2f4bdab86581b1c773942893a236bcbd5568049b9ca9a6943400007f37b5797550818803ed8aa98667f6994b80aa0562cdcb6401b2d05d12bf235b1955680340aad21b3b7000007f6a6074ad1c36e0aeeb5b174775b5c15253fa0c363f11996048c805fc9f3bd6f7556802b5e3af16b18800007f05d713275f3708c295e8d024655e3ef06206aa92ba592b103243ea0ba9db21d08190557ff1ba812a35171cf1b3aa24556b5609ad3da497726560f42ac923034de2f469b68190557f5ce29cba8ba774cb3459f58ab510f59b9589aa0b330462ede615334e12d3a9358190557f82e40384a3839098f457e9900e83a0f6e8ee64e010053504d98c0cb3ccb6f5238190557f45dc54545198dfc01c2e4cb16cd9709d341407fca629f0d03b3dc5f801a4a77a81905573738c090d87f6539350f81c0229376e4838e6c3636000527fbba13bcf239e3910d98d0b76ebc84a5225a356c0f0f3c550407580935262c5e15562001094565b604051610d53806200246b83390190565b6113c780620010a46000396000f3006060604052361561016f5763ffffffff60e060020a6000350416630a4625af811461017a578063217ad35a1461019f5780632b9edee9146101b25780633197cbb6146101d95780633ccfd60b146101ec5780633fa911ae146101ff578063521eb27314610212578063590e1ae31461024157806370284d191461025457806374a8f1031461027357806378e979251461029257806382f0622a146102a55780638f32d59b146102b8578063906a26e0146102cb5780639653f8a1146102de5780639762f802146102fd5780639b19251a14610310578063a10f43a31461032f578063b39d900914610342578063b80cdcf614610364578063bc0eaf0a14610377578063bef5223f14610390578063c3a9bd8b146103a3578063d4b0a23b146103b6578063d85bd52614610445578063dab8263a14610458578063e0e3671c1461046b578063ec8ac4d81461048a578063ecc1caef1461049e578063fb86a404146104b1578063fc0c546a146104c4575b610178336104d7565b005b341561018557600080fd5b61018d6106f8565b60405190815260200160405180910390f35b34156101aa57600080fd5b61018d6106fe565b34156101bd57600080fd5b6101c5610704565b604051901515815260200160405180910390f35b34156101e457600080fd5b61018d61070f565b34156101f757600080fd5b610178610715565b341561020a57600080fd5b6101c56107a4565b341561021d57600080fd5b6102256107ad565b604051600160a060020a03909116815260200160405180910390f35b341561024c57600080fd5b6101786107bc565b341561025f57600080fd5b610178600160a060020a0360043516610958565b341561027e57600080fd5b610178600160a060020a03600435166109d5565b341561029d57600080fd5b61018d610a70565b34156102b057600080fd5b61018d610a76565b34156102c357600080fd5b6101c5610a7c565b34156102d657600080fd5b61018d610aab565b34156102e957600080fd5b61018d600160a060020a0360043516610ab1565b341561030857600080fd5b6101c5610ac3565b341561031b57600080fd5b61018d600160a060020a0360043516610ae3565b341561033a57600080fd5b61018d610af5565b341561034d57600080fd5b6101c5600160a060020a0360043516602435610afb565b341561036f57600080fd5b610178610b83565b341561038257600080fd5b61018d60043560243561101e565b341561039b57600080fd5b6101786110a6565b34156103ae57600080fd5b61018d611249565b34156103c157600080fd5b6101c560046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061124f95505050505050565b341561045057600080fd5b6101c56112f3565b341561046357600080fd5b61018d61131b565b341561047657600080fd5b6101c5600160a060020a0360043516611321565b610178600160a060020a03600435166104d7565b34156104a957600080fd5b61018d611351565b34156104bc57600080fd5b61018d611357565b34156104cf57600080fd5b61022561135d565b600081600080600954421015806104f357506104f3833461136c565b80156105015750600a544211155b9150503415158180156105115750805b151561051c57600080fd5b610526344261101e565b9350600160a060020a038516151561053d57600080fd5b6007543490111561054d57600080fd5b6006546004548590600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561059a57600080fd5b6102c65a03f115156105ab57600080fd5b5050506040518051905001111515156105c357600080fd5b600454600160a060020a03166340c10f19868660006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561062257600080fd5b6102c65a03f1151561063357600080fd5b50505060405180515050600160a060020a0385167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f348660405191825260208201526040908101905180910390a2610689610704565b1561069b5760038054340190556106e0565b600154600160a060020a03301631106106c157600160a060020a033016316003556106e0565b600160a060020a0385166000908152600c602052604090208054340190555b60025460035411156106f157600080fd5b5050505050565b60035481565b60075481565b600154600354101590565b600a5481565b600160a060020a03331660009081526020819052604090205460ff16151560011461073f57600080fd5b610747610704565b151561075257600080fd5b6000600160a060020a033016311161076957600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156107a257600080fd5b565b600b5460ff1681565b600554600160a060020a031681565b600a5460009042116107cd57600080fd5b600b5460ff1615156107de57600080fd5b6107e6610704565b156107f057600080fd5b600160a060020a0333166000908152600c60205260408120541161081357600080fd5b600454600090600160a060020a03166370a0823133836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561086e57600080fd5b6102c65a03f1151561087f57600080fd5b5050506040518051905011151561089557600080fd5b50600160a060020a03338181166000908152600c6020526040808220805490839055600454909416926389afcb44929091516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561090957600080fd5b6102c65a03f1151561091a57600080fd5b50505060405180515050600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561095557600080fd5b50565b600160a060020a03331660009081526020819052604090205460ff16151560011461098257600080fd5b600160a060020a03811660008181526020819052604090819020805460ff191660011790557f1350a997c6c86bcc51dd7e51f7ef618d620e6a85d8fdabb82a980c149ad88d47905160405180910390a250565b600160a060020a03331660009081526020819052604090205460ff1615156001146109ff57600080fd5b80600160a060020a031633600160a060020a031614151515610a2057600080fd5b600160a060020a03811660008181526020819052604090819020805460ff191690557f1d1eff42eefbeecfca7e39f8adb5d7f19a7ebbb4c3e82c51f2500d7d76ab2468905160405180910390a250565b60095481565b600f5481565b600160a060020a03331660009081526020819052604081205460ff16610aa3576000610aa6565b60015b905090565b60015481565b600c6020526000908152604090205481565b60006003546103e86002546103e702811515610adb57fe5b041115905090565b600d6020526000908152604090205481565b600e5481565b600160a060020a03331660009081526020819052604081205460ff161515600114610b2557600080fd5b82600160a060020a03167f447615df38266f7c2e25889e02cfbee3ed7713cc91ac1629e2bbcc955fdc81908360405190815260200160405180910390a250600160a060020a03919091166000908152600d6020526040902055600190565b600160a060020a03331660009081526020819052604090205460ff161515600114610bad57600080fd5b600a54421180610bc05750610bc0610ac3565b1515610bcb57600080fd5b600454600160a060020a03166305d2035b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c1357600080fd5b6102c65a03f11515610c2457600080fd5b5050506040518051159050610c3857600080fd5b600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c8357600080fd5b6102c65a03f11515610c9457600080fd5b50505060405180519050600302811515610caa57fe5b04600e55600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cf957600080fd5b6102c65a03f11515610d0a57600080fd5b50505060405180519050600702811515610d2057fe5b04600f55600454605390600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6f57600080fd5b6102c65a03f11515610d8057600080fd5b50505060405180519050600702811515610d9657fe5b04601055610da2610704565b15610fa357600454600554600e54600160a060020a03928316926340c10f1992169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e1057600080fd5b6102c65a03f11515610e2157600080fd5b50505060405180515050600454600554600f54600160a060020a03928316926340c10f1992169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e9457600080fd5b6102c65a03f11515610ea557600080fd5b50505060405180515050600454601054600160a060020a03909116906340c10f1990309060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f1557600080fd5b6102c65a03f11515610f2657600080fd5b50505060405180515050600454600160a060020a0316639af26b78600160006040516020015260405160e060020a63ffffffff84160281529015156004820152602401602060405180830381600087803b1515610f8257600080fd5b6102c65a03f11515610f9357600080fd5b50505060405180519050506107a2565b600b805460ff19166001179055600454600160a060020a0316639af26b786000806040516020015260405160e060020a63ffffffff84160281529015156004820152602401602060405180830381600087803b151561100157600080fd5b6102c65a03f1151561101257600080fd5b50505060405180515050565b600080826009546202a300011015156110395750608c611082565b60095462093a800183901061105057506082611082565b600954621275000183901061106757506078611082565b600954621baf800183901061107e5750606e611082565b5060695b606460085482860281151561109357fe5b0481151561109d57fe5b04949350505050565b600160a060020a03331660009081526020819052604090205460ff1615156001146110d057600080fd5b600454600090600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561112b57600080fd5b6102c65a03f1151561113c57600080fd5b5050506040518051905011151561115257600080fd5b61115a610704565b151561116557600080fd5b426009546301e133800110151561117b57600080fd5b600454600554600160a060020a039182169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156111e257600080fd5b6102c65a03f115156111f357600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561100157600080fd5b60065481565b600160a060020a03331660009081526020819052604081205481908190819060ff16151560011461127f57600080fd5b845186511461128d57600080fd5b5060005b85518110156112e7578581815181106112a657fe5b9060200190602002015192508481815181106112be57fe5b9060200190602002015191506112d48383610afb565b15156112df57600080fd5b600101611291565b50600195945050505050565b60006009544210158015610aa65750600a544211806113155750611315610ac3565b15905090565b60085481565b600160a060020a03811660009081526020819052604081205460ff1661134857600061134b565b60015b92915050565b60105481565b60025481565b600454600160a060020a031681565b600160a060020a0382166000908152600d6020908152604080832054600c9092529091205482011115929150505600a165627a7a723058201d3257cad71a9f250cf0c35cd92727921014f5dc73c12791c369d24231a241490029606060405260038054600160a860020a03191633600160a060020a0316179055610d258061002e6000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010957806306fdde0314610130578063095ea7b3146101ba57806318160ddd146101dc57806323b872dd14610201578063313ce5671461022957806334fec4671461025257806340c10f1914610265578063661884631461028757806370a08231146102a95780637d64bcb4146102c857806389afcb44146102db5780638da5cb5b146102fa57806395d89b41146103295780639af26b781461033c578063a9059cbb14610354578063d73dd62314610376578063dd62ed3e14610398578063f2fde38b146103bd575b600080fd5b341561011457600080fd5b61011c6103de565b604051901515815260200160405180910390f35b341561013b57600080fd5b6101436103ee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017f578082015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c557600080fd5b61011c600160a060020a0360043516602435610425565b34156101e757600080fd5b6101ef610491565b60405190815260200160405180910390f35b341561020c57600080fd5b61011c600160a060020a0360043581169060243516604435610497565b341561023457600080fd5b61023c6104da565b60405160ff909116815260200160405180910390f35b341561025d57600080fd5b61011c6104df565b341561027057600080fd5b61011c600160a060020a03600435166024356104ef565b341561029257600080fd5b61011c600160a060020a03600435166024356105ea565b34156102b457600080fd5b6101ef600160a060020a03600435166106e4565b34156102d357600080fd5b61011c6106ff565b34156102e657600080fd5b61011c600160a060020a0360043516610773565b341561030557600080fd5b61030d610861565b604051600160a060020a03909116815260200160405180910390f35b341561033457600080fd5b610143610870565b341561034757600080fd5b61011c60043515156108a7565b341561035f57600080fd5b61011c600160a060020a0360043516602435610931565b341561038157600080fd5b61011c600160a060020a0360043516602435610972565b34156103a357600080fd5b6101ef600160a060020a0360043581169060243516610a16565b34156103c857600080fd5b6103dc600160a060020a0360043516610a41565b005b60035460a060020a900460ff1681565b60408051908101604052600881527f5072697661746978000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b60035460009060a060020a900460ff1680156104bc575060035460a860020a900460ff165b15156104c757600080fd5b6104d2848484610adc565b949350505050565b600881565b60035460a860020a900460ff1681565b60035460009033600160a060020a0390811691161461050d57600080fd5b60035460a060020a900460ff161561052457600080fd5b600054610537908363ffffffff610bf416565b6000908155600160a060020a038416815260016020526040902054610562908363ffffffff610bf416565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a03166000600080516020610cda8339815191528460405190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561064757600160a060020a03338116600090815260026020908152604080832093881683529290529081205561067e565b610657818463ffffffff610c0316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461071d57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035460009033600160a060020a0390811691161461079157600080fd5b600160a060020a03821660008181526001602052604080822054919291600080516020610cda833981519152915190815260200160405180910390a3600160a060020a03821660008181526001602052604090819020547fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5915190815260200160405180910390a2600160a060020a0391909116600090815260016020526040812080547fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49805490910190555590565b600354600160a060020a031681565b60408051908101604052600481527f5052495800000000000000000000000000000000000000000000000000000000602082015281565b60035460009033600160a060020a039081169116146108c557600080fd5b6003805475ff000000000000000000000000000000000000000000191660a860020a841515021790557f09453fb3c77c88037c1b664345201b4e2c2e71c35ef789fb3f61972c140e0ac582604051901515815260200160405180910390a161092b6106ff565b92915050565b60035460009060a060020a900460ff168015610956575060035460a860020a900460ff165b151561096157600080fd5b61096b8383610c15565b9392505050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546109aa908363ffffffff610bf416565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610a5c57600080fd5b600160a060020a0381161515610a7157600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600160a060020a0384161515610af457600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054610b3a908463ffffffff610c0316565b600160a060020a038087166000908152600160205260408082209390935590861681522054610b6f908463ffffffff610bf416565b600160a060020a038516600090815260016020526040902055610b98818463ffffffff610c0316565b600160a060020a0380871660008181526002602090815260408083203386168452909152908190209390935590861691600080516020610cda8339815191529086905190815260200160405180910390a3506001949350505050565b60008282018381101561096b57fe5b600082821115610c0f57fe5b50900390565b6000600160a060020a0383161515610c2c57600080fd5b600160a060020a033316600090815260016020526040902054610c55908363ffffffff610c0316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610c8a908363ffffffff610bf416565b600160a060020a038085166000818152600160205260409081902093909355913390911690600080516020610cda8339815191529085905190815260200160405180910390a3506001929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582072e2efe3b52eb4e0917d851d2006cdc44e43c525d4e400c6f96da2a9270c7c2e00290000000000000000000000000000000000000000000000000000000059e8afe0000000000000000000000000b1c5d524382324c9472c6f8e1a3c0a64465a4902

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

-----Decoded View---------------
Found 2 constructor arguments :
Arg [0] : 0000000000000000000000000000000000000000000000000000000059e8afe0
Arg [1] : 000000000000000000000000b1c5d524382324c9472c6f8e1a3c0a64465a4902


   Swarm Source:
bzzr://72e2efe3b52eb4e0917d851d2006cdc44e43c525d4e400c6f96da2a9270c7c2e
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.