Latest 25 txns From a total of 58366 Transactions

TxHash Age From To Value [TxFee]
0x4d9ea8347df6ab45fd6e00e25d5f6b5912fe5c7aee4f7f2d672dc3ead5c5b03d47 mins ago0x860ca90f4eab837d230bc90ce0eeffbdd028f0eb  IN   OpenANX0 Ether0.000407631
0xaaaa7d910439f2ad8ad7ae04563ed33ef2b8bd8b12e8722436844cc7bff0c6011 hr 11 mins ago0x319238e50087fe9d6640c205e16580fabe73fc3f  IN   OpenANX0 Ether0.00310576
0x052db1bd1dbd4a6c719948bc434fbfcbdd8e7c60b9983bf873751f81d108e7ec3 hrs 48 mins ago0x77c5945fd82944dfe6332951965d6156d60d811b  IN   OpenANX0 Ether0.00047644
0x58781058bac5b662c8012d0dfd3d3d7deb590fc0f518478b42d2154a34b2f3474 hrs 39 mins ago0x3ccdb4bf0265bc3f52f2fa1728844fd696a97a6b  IN   OpenANX0 Ether0.001591702
0x50ed81abd1f0d31b74d28cc2488bee2a747d8ef8a11edde686955cabd23330d44 hrs 59 mins ago0x5e8b70b5215c6842a9d4f38fdc4e0dfcec8f2249  IN   OpenANX0 Ether0.001214144824
0xff3679f4d8134e1fb7cb6fa5ca79b0569b47a353abd51d0ee1ec28b7cdf2038c5 hrs 25 mins ago0x1d73cbb1f347ad5f0d05539016d4a32b4ec47fe1  IN   OpenANX0 Ether0.00015452
0xfd49e40978de6b435987d805932478ca52b0714d97b97f94daa44bad114bf7616 hrs 48 mins ago0xaf7a95cee2a925f1f40b6eed33c929af63f4bb56  IN   OpenANX0 Ether0.00047516
0x49efa12589e3cc1ab895ff0c449b44ac65345a7271c1cba0a2dd705cf4e7be2a7 hrs 10 mins ago0x3e14073187b87e5ee21584678a4aaeb0276901c0  IN   OpenANX0 Ether0.00310064
0x9764e5c6d4a7a2aaf27055650dd95ab542f045651b169dd5a052eb5d7d4f7e977 hrs 38 mins ago0x192ca4b1e94f7bd1ccb5d6d1ebc38ad320f9853b  IN   OpenANX0 Ether0.00309552
0xf2f6c8791069f88bb8fb67e18005b9df23f44e8b01a84481b6d705367f0d471e8 hrs 33 mins agoBinance_2  IN   OpenANX0 Ether0.00188153
0x07adca141defa14cfd55098c3e186b4168f2b3eff1aa130bd64ac763f125088a9 hrs 49 mins ago0x2ee6aa47d114e0ed407eadf34e3b42bf0b16e4d5  IN   OpenANX0 Ether0.00047388
0xcccba960c395b8e0a41c844fba171b6867c665ffdacbfd67d108f3c246bf68f510 hrs 13 mins ago0x6eca7b8ba975f24ab02cbe685da5e0a79b139bae  IN   OpenANX0 Ether0.00026847
0xefc62c10fb2c47b8c9274931598e3e09541840a84aead9490bcd9502afd899ee15 hrs 43 mins ago0x080dc203c451420be0245c0899f3c5cd37c144e5  IN   OpenANX0 Ether0.00023758
0xb489a268b049d0ba0900e74b06a81c017d96df10404a5cb5b541eb0a223c7a5216 hrs 1 min ago0x08c47b885f3d976f4a808ed5cc7a19274432f418  IN   OpenANX0 Ether0.001589078
0xa86743455181972ab6f87a73c7f0a216cfab8ef63d20dbdf441577cc01082eca16 hrs 38 mins ago0x2aac5b538c72868db7ad595851e8df93430a3eb6  IN   OpenANX0 Ether0.00047644
0xb5abc361441648733fb43afb18578e5e3298e39141aa850f6a93dcf6d5b16a0a16 hrs 50 mins agoLiqui.io_2  IN   OpenANX0 Ether0.00053822
0x2015dec0c90600a3b27df2d81fc67b52e5a9dd0d1e786e4cc8bb65eefa657bcc1 day 1 hr ago0xb35521afa353fb7ffc1f932b75c74fb8a681fb90  IN   OpenANX0 Ether0.00310064
0x3bb7e865e562265b33342498044ac9bb490e5182ab874f5888ee472be9df5a711 day 1 hr ago0x51d4aa48d3b077bcc86d7bbb1e14fc6ae31a564c  IN   OpenANX0 Ether0.00047644
0x958e592b075ef851ed74ebb7f75a048e6e2f09c35f3bd76c38752753e79534951 day 1 hr agoOkex_1  IN   OpenANX0 Ether0.0026911
0xa4e1b7c070cd34f79832ed9db8e830a94e6e945657aaeddb7262d828a786a9821 day 2 hrs agoBinance_3  IN   OpenANX0 Ether0.00241911
0x7ee93eb3524e337e11ec6bfff8063d28a1592a809fd9be632ea07a86b2cb982f1 day 4 hrs ago0x8c62de41bb1c6ec5ccd48d3c23992e3fa0b633a9  IN   OpenANX0 Ether0.001586454
0x2fbebe807233c2c4ac9af56903dd9652bf956dca74fb2146c6e08c1bcb213b391 day 4 hrs ago0x9ec105c5f22c58a8326fd1c8c31d0e79feb22487  IN   OpenANX0 Ether0.003123713618
0x852dcdf4b8b1133fafcf6fe69301f4acbdcec79a081a8e481d3804537afdea2b1 day 4 hrs ago0x5797fb230a42be745104b0cac063850c66b6d982  IN   OpenANX0 Ether0.000638568
0x878631bfbfb0e2d4931caa6290ba460372b3fbd132c549ab60aa364035cf83d01 day 4 hrs ago0xc91ea0148dc81844ed8e45bacd1127953345c7e7  IN   OpenANX0 Ether0.00047516
0x9ac6673de769fe12c9bb42f2002a9f0e5358245ff12e6030e1553e0d3bc815811 day 4 hrs ago0xb66867bfaac61430f5893ae7e22cd6b02c6deef7  IN   OpenANX0 Ether0.00059292
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click Here To View More View All
ParentTxHash Block Age From To Value
0xfdb6c1df82f588441b4b64cd47e917f792434bb338580b8dab0e18689588c0943971323471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.33 Ether
0x9a1a846a4bc862cd3e03b55122c212def7a9f9f7cb6b26a4ce9f8ec091e340883971318471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x2fc7aa09c1a42ba77fd6ff6bd4dfc03b9b7d9eb060031bfd1f78c1941fe333763971315471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.39867733 Ether
0xa38d81a305bd681c15959f83d471f5d426dad06438f4f5af8a56c7862bb051403971313471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.6 Ether
0xa7a89b55d39595b27399f65786fc64734c38793622b7806ecfce1c470e5888443971313471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.5 Ether
0x6f2135887209fb9db7e99bdfbde48b949843914b6d8d0d5b3606cbce0f9538363971313471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2 Ether
0xe6c5afe13f5f7137d296bcba696681349709791e3628d8ff8db4db8bbbfddc2c3971309471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.1 Ether
0x87f82c67affce46fad40a5bf4b4ccba4a9bc176af2fea4843d3de023828dbc1b3971304471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2.1 Ether
0x34a566e1d2c9d6e12422720e262e4617207918dce6c79e13484401ab3baf28873971304471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd6.95 Ether
0x35acb914a23c324eedfd55974dcb045dc67b6cc08671f258b5115ae719e7356b3971303471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1.015 Ether
0x04be090c4afd8d28b0cab67b6aa5a8f7a6da9793de35266a53e86f89920d1b413971301471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd10.08 Ether
0xe140e772a21cc63c37cd58ae2f420f1082f4d823c5444b94a21c842217498d853971298471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1.01 Ether
0x8afdf33936daaf50eb6097c674d32abc9be08ed736b3397e3d1725333177aaa73971295471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x8c70870f8a716bc667a9e409df730b02a17579f1d0d33bd597878ed51bed74503971292471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2.1908 Ether
0xfd3afb2df98d745758865c426809485676ce2a62922493dc17d37b65e33101ad3971287471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1.989 Ether
0xf7bec164d93a05fa2067d9446a3e3a1bada9f7b27a0b1febbc1f2d67b5b76e0d3971284471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x49e40e822f0530e3c43bb0b7a5b1224d3113e96fb424506be0f13ba659d708023971284471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.5 Ether
0x5d5470a7ba3e4ffd86107bc73c0bf4601d6909f93cc62b56dd2b249affc37a8b3971279471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x4af8b267a2382d69c0845d06b01a0addbaf5d0bffe26de2ddee98c36432624bb3971278471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd5.01 Ether
0x1afbeb4462c0071efe89b1794bf8a0517d98c136b168053aa1fbbb2f6cf769443971278471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x783653897ef6b77dac569af6fa3a0858e1995ce349d9396cdf2939c36878ecbb3971278471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.99 Ether
0xfc25bd116dfed8e1617c507b11e710cd8fd92d127ae52eac403cb487fe9d81213971276471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.345 Ether
0xd56fb1c4e7dfa9d1d00f385cbfe9a5d39deb8345e9e55481bb9391240b1adf293971273471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.039 Ether
0x43e488ec02f0d89f8f0b12616f6dbe6ad4cd43b9400cc5a1ca15db47f9d21f783971273471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2 Ether
0xbdd71b95c956b6b6f990de997d2e462c7c56a7ae1fcdf032d71168108a3079b63971273471 days 6 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd6 Ether
[ Download CSV Export  ] 
Contract Name: OpenANXToken
Compiler Text: v0.4.11+commit.68ef5810
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.11;

// ----------------------------------------------------------------------------
// OAX 'openANX Token' crowdfunding contract
//
// Refer to http://openanx.org/ for further information.
//
// Enjoy. (c) openANX and BokkyPooBah / Bok Consulting Pty Ltd 2017. 
// The MIT Licence.
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// OAX 'openANX Token' crowdfunding contract - ERC20 Token Interface
//
// Refer to http://openanx.org/ for further information.
//
// Enjoy. (c) openANX and BokkyPooBah / Bok Consulting Pty Ltd 2017. 
// The MIT Licence.
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/issues/20
// ----------------------------------------------------------------------------
contract ERC20Interface {
    uint public totalSupply;
    function balanceOf(address _owner) constant returns (uint balance);
    function transfer(address _to, uint _value) returns (bool success);
    function transferFrom(address _from, address _to, uint _value) 
        returns (bool success);
    function approve(address _spender, uint _value) returns (bool success);
    function allowance(address _owner, address _spender) constant 
        returns (uint remaining);
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, 
        uint _value);
}


// ----------------------------------------------------------------------------
// OAX 'openANX Token' crowdfunding contract - Owned contracts
//
// Refer to http://openanx.org/ for further information.
//
// Enjoy. (c) openANX and BokkyPooBah / Bok Consulting Pty Ltd 2017. 
// The MIT Licence.
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {

    // ------------------------------------------------------------------------
    // Current owner, and proposed new owner
    // ------------------------------------------------------------------------
    address public owner;
    address public newOwner;

    // ------------------------------------------------------------------------
    // Constructor - assign creator as the owner
    // ------------------------------------------------------------------------
    function Owned() {
        owner = msg.sender;
    }


    // ------------------------------------------------------------------------
    // Modifier to mark that a function can only be executed by the owner
    // ------------------------------------------------------------------------
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }


    // ------------------------------------------------------------------------
    // Owner can initiate transfer of contract to a new owner
    // ------------------------------------------------------------------------
    function transferOwnership(address _newOwner) onlyOwner {
        newOwner = _newOwner;
    }

 
    // ------------------------------------------------------------------------
    // New owner has to accept transfer of contract
    // ------------------------------------------------------------------------
    function acceptOwnership() {
        require(msg.sender == newOwner);
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
    event OwnershipTransferred(address indexed _from, address indexed _to);
}


// ----------------------------------------------------------------------------
// OAX 'openANX Token' crowdfunding contract
//
// Refer to http://openanx.org/ for further information.
//
// Enjoy. (c) openANX and BokkyPooBah / Bok Consulting Pty Ltd 2017. 
// The MIT Licence.
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// Safe maths, borrowed from OpenZeppelin
// ----------------------------------------------------------------------------
library SafeMath {

    // ------------------------------------------------------------------------
    // Add a number to another number, checking for overflows
    // ------------------------------------------------------------------------
    function add(uint a, uint b) internal returns (uint) {
        uint c = a + b;
        assert(c >= a && c >= b);
        return c;
    }

    // ------------------------------------------------------------------------
    // Subtract a number from another number, checking for underflows
    // ------------------------------------------------------------------------
    function sub(uint a, uint b) internal returns (uint) {
        assert(b <= a);
        return a - b;
    }
}


// ----------------------------------------------------------------------------
// OAX 'openANX Token' crowdfunding contract - Configuration
//
// Refer to http://openanx.org/ for further information.
//
// Enjoy. (c) openANX and BokkyPooBah / Bok Consulting Pty Ltd 2017. 
// The MIT Licence.
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// openANX crowdsale token smart contract - configuration parameters
// ----------------------------------------------------------------------------
contract OpenANXTokenConfig {

    // ------------------------------------------------------------------------
    // Token symbol(), name() and decimals()
    // ------------------------------------------------------------------------
    string public constant SYMBOL = "OAX";
    string public constant NAME = "openANX Token";
    uint8 public constant DECIMALS = 18;


    // ------------------------------------------------------------------------
    // Decimal factor for multiplications from OAX unit to OAX natural unit
    // ------------------------------------------------------------------------
    uint public constant DECIMALSFACTOR = 10**uint(DECIMALS);

    // ------------------------------------------------------------------------
    // Tranche 1 soft cap and hard cap, and total tokens
    // ------------------------------------------------------------------------
    uint public constant TOKENS_SOFT_CAP = 13000000 * DECIMALSFACTOR;
    uint public constant TOKENS_HARD_CAP = 30000000 * DECIMALSFACTOR;
    uint public constant TOKENS_TOTAL = 100000000 * DECIMALSFACTOR;

    // ------------------------------------------------------------------------
    // Tranche 1 crowdsale start date and end date
    // Do not use the `now` function here
    // Start - Thursday, 22-Jun-17 13:00:00 UTC / 1pm GMT 22 June 2017
    // End - Saturday, 22-Jul-17 13:00:00 UTC / 1pm GMT 22 July 2017 
    // ------------------------------------------------------------------------
    uint public constant START_DATE = 1498136400;
    uint public constant END_DATE = 1500728400;

    // ------------------------------------------------------------------------
    // 1 year and 2 year dates for locked tokens
    // Do not use the `now` function here 
    // ------------------------------------------------------------------------
    uint public constant LOCKED_1Y_DATE = START_DATE + 365 days;
    uint public constant LOCKED_2Y_DATE = START_DATE + 2 * 365 days;

    // ------------------------------------------------------------------------
    // Individual transaction contribution min and max amounts
    // Set to 0 to switch off, or `x ether`
    // ------------------------------------------------------------------------
    uint public CONTRIBUTIONS_MIN = 0 ether;
    uint public CONTRIBUTIONS_MAX = 0 ether;
}


// ----------------------------------------------------------------------------
// OAX 'openANX Token' crowdfunding contract - locked tokens
//
// Refer to http://openanx.org/ for further information.
//
// Enjoy. (c) openANX and BokkyPooBah / Bok Consulting Pty Ltd 2017. 
// The MIT Licence.
// ----------------------------------------------------------------------------



// ----------------------------------------------------------------------------
// Contract that holds the 1Y and 2Y locked token information
// ----------------------------------------------------------------------------
contract LockedTokens is OpenANXTokenConfig {
    using SafeMath for uint;

    // ------------------------------------------------------------------------
    // 1y and 2y locked totals, not including unsold tranche1 and all tranche2
    // tokens
    // ------------------------------------------------------------------------
    uint public constant TOKENS_LOCKED_1Y_TOTAL = 14000000 * DECIMALSFACTOR;
    uint public constant TOKENS_LOCKED_2Y_TOTAL = 26000000 * DECIMALSFACTOR;
    
    // ------------------------------------------------------------------------
    // Tokens locked for 1 year for sale 2 in the following account
    // ------------------------------------------------------------------------
    address public TRANCHE2_ACCOUNT = 0x813703Eb676f3B6C76dA75cBa0cbC49DdbCA7B37;

    // ------------------------------------------------------------------------
    // Current totalSupply of 1y and 2y locked tokens
    // ------------------------------------------------------------------------
    uint public totalSupplyLocked1Y;
    uint public totalSupplyLocked2Y;

    // ------------------------------------------------------------------------
    // Locked tokens mapping
    // ------------------------------------------------------------------------
    mapping (address => uint) public balancesLocked1Y;
    mapping (address => uint) public balancesLocked2Y;

    // ------------------------------------------------------------------------
    // Address of openANX crowdsale token contract
    // ------------------------------------------------------------------------
    ERC20Interface public tokenContract;


    // ------------------------------------------------------------------------
    // Constructor - called by crowdsale token contract
    // ------------------------------------------------------------------------
    function LockedTokens(address _tokenContract) {
        tokenContract = ERC20Interface(_tokenContract);

        // --- 1y locked tokens ---

        // Confirm 1Y totals        
        add1Y(0x4beE088efDBCC610EEEa101ded7204150AF1C8b9,1000000 * DECIMALSFACTOR);
        add1Y(0x839551201f866907Eb5017bE79cEB48aDa58650c,925000 * DECIMALSFACTOR);
        add1Y(0xa92d4Cd3412862386c234Be572Fe4A8FA4BB09c6,925000 * DECIMALSFACTOR);
        add1Y(0xECf2B5fce33007E5669D63de39a4c663e56958dD,925000 * DECIMALSFACTOR);
        add1Y(0xD6B7695bc74E2C950eb953316359Eab283C5Bda8,925000 * DECIMALSFACTOR);
        add1Y(0xBE3463Eae26398D55a7118683079264BcF3ab24B,150000 * DECIMALSFACTOR);
        add1Y(0xf47428Fb9A61c9f3312cB035AEE049FBa76ba62a,150000 * DECIMALSFACTOR);
        add1Y(0xfCcc77165D822Ef9004714d829bDC267C743658a,50000 * DECIMALSFACTOR);
        add1Y(0xaf8df2aCAec3d5d92dE42a6c19d7706A4F3E8D8b,50000 * DECIMALSFACTOR);
        add1Y(0x22a6f9693856374BF2922cd837d07F6670E7FA4d,250000 * DECIMALSFACTOR);
        add1Y(0x3F720Ca8FfF598F00a51DE32A8Cb58Ca73f22aDe,50000 * DECIMALSFACTOR);
        add1Y(0xBd0D1954B301E414F0b5D0827A69EC5dD559e50B,50000 * DECIMALSFACTOR);
        add1Y(0x2ad6B011FEcDE830c9cc4dc0d0b77F055D6b5990,50000 * DECIMALSFACTOR);
        add1Y(0x0c5cD0E971cA18a0F0E0d581f4B93FaD31D608B0,2000085 * DECIMALSFACTOR);
        add1Y(0xFaaDC4d80Eaf430Ab604337CB67d77eC763D3e23,200248 * DECIMALSFACTOR);
        add1Y(0xDAef46f89c264182Cd87Ce93B620B63c7AfB14f7,1616920 * DECIMALSFACTOR);
        add1Y(0x19cc59C30cE54706633dC29EdEbAE1efF1757b25,224980 * DECIMALSFACTOR);
        add1Y(0xa130fE5D399104CA5AF168fbbBBe19F95d739741,745918 * DECIMALSFACTOR);
        add1Y(0xC0cD1bf6F2939095a56B0DFa085Ba2886b84E7d1,745918 * DECIMALSFACTOR);
        add1Y(0xf2C26e79eD264B0E3e5A5DFb1Dd91EA61f512C6e,745918 * DECIMALSFACTOR);
        add1Y(0x5F876a8A5F1B66fbf3D0D119075b62aF4386e319,745918 * DECIMALSFACTOR);
        add1Y(0xb8E046570800Dd76720aF6d42d3cCae451F54f15,745920 * DECIMALSFACTOR);
        add1Y(0xA524fa65Aac4647fa7bA2c20D22F64450c351bBd,714286 * DECIMALSFACTOR);
        add1Y(0x27209b276C15a936BCE08D7D70f0c97aeb3CE8c3,13889 * DECIMALSFACTOR);

        assert(totalSupplyLocked1Y == TOKENS_LOCKED_1Y_TOTAL);

        // --- 2y locked tokens ---
        add2Y(0x4beE088efDBCC610EEEa101ded7204150AF1C8b9,1000000 * DECIMALSFACTOR);
        add2Y(0x839551201f866907Eb5017bE79cEB48aDa58650c,925000 * DECIMALSFACTOR);
        add2Y(0xa92d4Cd3412862386c234Be572Fe4A8FA4BB09c6,925000 * DECIMALSFACTOR);
        add2Y(0xECf2B5fce33007E5669D63de39a4c663e56958dD,925000 * DECIMALSFACTOR);
        add2Y(0xD6B7695bc74E2C950eb953316359Eab283C5Bda8,925000 * DECIMALSFACTOR);
        add2Y(0xBE3463Eae26398D55a7118683079264BcF3ab24B,150000 * DECIMALSFACTOR);
        add2Y(0xf47428Fb9A61c9f3312cB035AEE049FBa76ba62a,150000 * DECIMALSFACTOR);
        add2Y(0xfCcc77165D822Ef9004714d829bDC267C743658a,50000 * DECIMALSFACTOR);
        add2Y(0xDAef46f89c264182Cd87Ce93B620B63c7AfB14f7,500000 * DECIMALSFACTOR);
        add2Y(0xaf8df2aCAec3d5d92dE42a6c19d7706A4F3E8D8b,50000 * DECIMALSFACTOR);
        add2Y(0x22a6f9693856374BF2922cd837d07F6670E7FA4d,250000 * DECIMALSFACTOR);
        add2Y(0x3F720Ca8FfF598F00a51DE32A8Cb58Ca73f22aDe,50000 * DECIMALSFACTOR);
        add2Y(0xBd0D1954B301E414F0b5D0827A69EC5dD559e50B,50000 * DECIMALSFACTOR);
        add2Y(0x2ad6B011FEcDE830c9cc4dc0d0b77F055D6b5990,50000 * DECIMALSFACTOR);

        //treasury
        add2Y(0x990a2D172398007fcbd5078D84696BdD8cCDf7b2,20000000 * DECIMALSFACTOR);

        assert(totalSupplyLocked2Y == TOKENS_LOCKED_2Y_TOTAL);
    }


    // ------------------------------------------------------------------------
    // Add remaining tokens to locked 1y balances
    // ------------------------------------------------------------------------
    function addRemainingTokens() {
        // Only the crowdsale contract can call this function
        require(msg.sender == address(tokenContract));
        // Total tokens to be created
        uint remainingTokens = TOKENS_TOTAL;
        // Minus precommitments and public crowdsale tokens
        remainingTokens = remainingTokens.sub(tokenContract.totalSupply());
        // Minus 1y locked tokens
        remainingTokens = remainingTokens.sub(totalSupplyLocked1Y);
        // Minus 2y locked tokens
        remainingTokens = remainingTokens.sub(totalSupplyLocked2Y);
        // Unsold tranche1 and tranche2 tokens to be locked for 1y 
        add1Y(TRANCHE2_ACCOUNT, remainingTokens);
    }


    // ------------------------------------------------------------------------
    // Add to 1y locked balances and totalSupply
    // ------------------------------------------------------------------------
    function add1Y(address account, uint value) private {
        balancesLocked1Y[account] = balancesLocked1Y[account].add(value);
        totalSupplyLocked1Y = totalSupplyLocked1Y.add(value);
    }


    // ------------------------------------------------------------------------
    // Add to 2y locked balances and totalSupply
    // ------------------------------------------------------------------------
    function add2Y(address account, uint value) private {
        balancesLocked2Y[account] = balancesLocked2Y[account].add(value);
        totalSupplyLocked2Y = totalSupplyLocked2Y.add(value);
    }


    // ------------------------------------------------------------------------
    // 1y locked balances for an account
    // ------------------------------------------------------------------------
    function balanceOfLocked1Y(address account) constant returns (uint balance) {
        return balancesLocked1Y[account];
    }


    // ------------------------------------------------------------------------
    // 2y locked balances for an account
    // ------------------------------------------------------------------------
    function balanceOfLocked2Y(address account) constant returns (uint balance) {
        return balancesLocked2Y[account];
    }


    // ------------------------------------------------------------------------
    // 1y and 2y locked balances for an account
    // ------------------------------------------------------------------------
    function balanceOfLocked(address account) constant returns (uint balance) {
        return balancesLocked1Y[account].add(balancesLocked2Y[account]);
    }


    // ------------------------------------------------------------------------
    // 1y and 2y locked total supply
    // ------------------------------------------------------------------------
    function totalSupplyLocked() constant returns (uint) {
        return totalSupplyLocked1Y + totalSupplyLocked2Y;
    }


    // ------------------------------------------------------------------------
    // An account can unlock their 1y locked tokens 1y after token launch date
    // ------------------------------------------------------------------------
    function unlock1Y() {
        require(now >= LOCKED_1Y_DATE);
        uint amount = balancesLocked1Y[msg.sender];
        require(amount > 0);
        balancesLocked1Y[msg.sender] = 0;
        totalSupplyLocked1Y = totalSupplyLocked1Y.sub(amount);
        if (!tokenContract.transfer(msg.sender, amount)) throw;
    }


    // ------------------------------------------------------------------------
    // An account can unlock their 2y locked tokens 2y after token launch date
    // ------------------------------------------------------------------------
    function unlock2Y() {
        require(now >= LOCKED_2Y_DATE);
        uint amount = balancesLocked2Y[msg.sender];
        require(amount > 0);
        balancesLocked2Y[msg.sender] = 0;
        totalSupplyLocked2Y = totalSupplyLocked2Y.sub(amount);
        if (!tokenContract.transfer(msg.sender, amount)) throw;
    }
}



// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals
// ----------------------------------------------------------------------------
contract ERC20Token is ERC20Interface, Owned {
    using SafeMath for uint;

    // ------------------------------------------------------------------------
    // symbol(), name() and decimals()
    // ------------------------------------------------------------------------
    string public symbol;
    string public name;
    uint8 public decimals;

    // ------------------------------------------------------------------------
    // Balances for each account
    // ------------------------------------------------------------------------
    mapping(address => uint) balances;

    // ------------------------------------------------------------------------
    // Owner of account approves the transfer of an amount to another account
    // ------------------------------------------------------------------------
    mapping(address => mapping (address => uint)) allowed;


    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    function ERC20Token(
        string _symbol, 
        string _name, 
        uint8 _decimals, 
        uint _totalSupply
    ) Owned() {
        symbol = _symbol;
        name = _name;
        decimals = _decimals;
        totalSupply = _totalSupply;
        balances[owner] = _totalSupply;
    }


    // ------------------------------------------------------------------------
    // Get the account balance of another account with address _owner
    // ------------------------------------------------------------------------
    function balanceOf(address _owner) constant returns (uint balance) {
        return balances[_owner];
    }


    // ------------------------------------------------------------------------
    // Transfer the balance from owner's account to another account
    // ------------------------------------------------------------------------
    function transfer(address _to, uint _amount) returns (bool success) {
        if (balances[msg.sender] >= _amount             // User has balance
            && _amount > 0                              // Non-zero transfer
            && balances[_to] + _amount > balances[_to]  // Overflow check
        ) {
            balances[msg.sender] = balances[msg.sender].sub(_amount);
            balances[_to] = balances[_to].add(_amount);
            Transfer(msg.sender, _to, _amount);
            return true;
        } else {
            return false;
        }
    }


    // ------------------------------------------------------------------------
    // Allow _spender to withdraw from your account, multiple times, up to the
    // _value amount. If this function is called again it overwrites the
    // current allowance with _value.
    // ------------------------------------------------------------------------
    function approve(
        address _spender,
        uint _amount
    ) returns (bool success) {
        allowed[msg.sender][_spender] = _amount;
        Approval(msg.sender, _spender, _amount);
        return true;
    }


    // ------------------------------------------------------------------------
    // Spender of tokens transfer an amount of tokens from the token owner's
    // balance to another account. The owner of the tokens must already
    // have approve(...)-d this transfer
    // ------------------------------------------------------------------------
    function transferFrom(
        address _from,
        address _to,
        uint _amount
    ) returns (bool success) {
        if (balances[_from] >= _amount                  // From a/c has balance
            && allowed[_from][msg.sender] >= _amount    // Transfer approved
            && _amount > 0                              // Non-zero transfer
            && balances[_to] + _amount > balances[_to]  // Overflow check
        ) {
            balances[_from] = balances[_from].sub(_amount);
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
            balances[_to] = balances[_to].add(_amount);
            Transfer(_from, _to, _amount);
            return true;
        } else {
            return false;
        }
    }


    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(
        address _owner, 
        address _spender
    ) constant returns (uint remaining) {
        return allowed[_owner][_spender];
    }
}


// ----------------------------------------------------------------------------
// openANX crowdsale token smart contract
// ----------------------------------------------------------------------------
contract OpenANXToken is ERC20Token, OpenANXTokenConfig {

    // ------------------------------------------------------------------------
    // Has the crowdsale been finalised?
    // ------------------------------------------------------------------------
    bool public finalised = false;

    // ------------------------------------------------------------------------
    // Number of tokens per 1,000 ETH
    // This can be adjusted as the ETH/USD rate changes
    //
    // Indicative rate of ETH per token of 0.00290923 at 8 June 2017
    // 
    // This is the same as 1 / 0.00290923 = 343.733565238912015 OAX per ETH
    //
    // tokensPerEther  = 343.733565238912015
    // tokensPerKEther = 343,733.565238912015
    // tokensPerKEther = 343,734 rounded to an uint, six significant figures
    // ------------------------------------------------------------------------
    uint public tokensPerKEther = 343734;

    // ------------------------------------------------------------------------
    // Locked Tokens - holds the 1y and 2y locked tokens information
    // ------------------------------------------------------------------------
    LockedTokens public lockedTokens;

    // ------------------------------------------------------------------------
    // Wallet receiving the raised funds 
    // ------------------------------------------------------------------------
    address public wallet;

    // ------------------------------------------------------------------------
    // Crowdsale participant's accounts need to be KYC verified KYC before
    // the participant can move their tokens
    // ------------------------------------------------------------------------
    mapping(address => bool) public kycRequired;


    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    function OpenANXToken(address _wallet) 
        ERC20Token(SYMBOL, NAME, DECIMALS, 0)
    {
        wallet = _wallet;
        lockedTokens = new LockedTokens(this);
        require(address(lockedTokens) != 0x0);
    }

    // ------------------------------------------------------------------------
    // openANX can change the crowdsale wallet address
    // Can be set at any time before or during the crowdsale
    // Not relevant after the crowdsale is finalised as no more contributions
    // are accepted
    // ------------------------------------------------------------------------
    function setWallet(address _wallet) onlyOwner {
        wallet = _wallet;
        WalletUpdated(wallet);
    }
    event WalletUpdated(address newWallet);


    // ------------------------------------------------------------------------
    // openANX can set number of tokens per 1,000 ETH
    // Can only be set before the start of the crowdsale
    // ------------------------------------------------------------------------
    function setTokensPerKEther(uint _tokensPerKEther) onlyOwner {
        require(now < START_DATE);
        require(_tokensPerKEther > 0);
        tokensPerKEther = _tokensPerKEther;
        TokensPerKEtherUpdated(tokensPerKEther);
    }
    event TokensPerKEtherUpdated(uint tokensPerKEther);


    // ------------------------------------------------------------------------
    // Accept ethers to buy tokens during the crowdsale
    // ------------------------------------------------------------------------
    function () payable {
        proxyPayment(msg.sender);
    }


    // ------------------------------------------------------------------------
    // Accept ethers from one account for tokens to be created for another
    // account. Can be used by exchanges to purchase tokens on behalf of 
    // it's user
    // ------------------------------------------------------------------------
    function proxyPayment(address participant) payable {
        // No contributions after the crowdsale is finalised
        require(!finalised);

        // No contributions before the start of the crowdsale
        require(now >= START_DATE);
        // No contributions after the end of the crowdsale
        require(now <= END_DATE);

        // No contributions below the minimum (can be 0 ETH)
        require(msg.value >= CONTRIBUTIONS_MIN);
        // No contributions above a maximum (if maximum is set to non-0)
        require(CONTRIBUTIONS_MAX == 0 || msg.value < CONTRIBUTIONS_MAX);

        // Calculate number of tokens for contributed ETH
        // `18` is the ETH decimals
        // `- decimals` is the token decimals
        // `+ 3` for the tokens per 1,000 ETH factor
        uint tokens = msg.value * tokensPerKEther / 10**uint(18 - decimals + 3);

        // Check if the hard cap will be exceeded
        require(totalSupply + tokens <= TOKENS_HARD_CAP);

        // Add tokens purchased to account's balance and total supply
        balances[participant] = balances[participant].add(tokens);
        totalSupply = totalSupply.add(tokens);

        // Log the tokens purchased 
        Transfer(0x0, participant, tokens);
        TokensBought(participant, msg.value, this.balance, tokens,
             totalSupply, tokensPerKEther);

        // KYC verification required before participant can transfer the tokens
        kycRequired[participant] = true;

        // Transfer the contributed ethers to the crowdsale wallet
        if (!wallet.send(msg.value)) throw;
    }
    event TokensBought(address indexed buyer, uint ethers, 
        uint newEtherBalance, uint tokens, uint newTotalSupply, 
        uint tokensPerKEther);


    // ------------------------------------------------------------------------
    // openANX to finalise the crowdsale - to adding the locked tokens to 
    // this contract and the total supply
    // ------------------------------------------------------------------------
    function finalise() onlyOwner {
        // Can only finalise if raised > soft cap or after the end date
        require(totalSupply >= TOKENS_SOFT_CAP || now > END_DATE);

        // Can only finalise once
        require(!finalised);

        // Calculate and add remaining tokens to locked balances
        lockedTokens.addRemainingTokens();

        // Allocate locked and premined tokens
        balances[address(lockedTokens)] = balances[address(lockedTokens)].
            add(lockedTokens.totalSupplyLocked());
        totalSupply = totalSupply.add(lockedTokens.totalSupplyLocked());

        // Can only finalise once
        finalised = true;
    }


    // ------------------------------------------------------------------------
    // openANX to add precommitment funding token balance before the crowdsale
    // commences
    // ------------------------------------------------------------------------
    function addPrecommitment(address participant, uint balance) onlyOwner {
        require(now < START_DATE);
        require(balance > 0);
        balances[participant] = balances[participant].add(balance);
        totalSupply = totalSupply.add(balance);
        Transfer(0x0, participant, balance);
    }
    event PrecommitmentAdded(address indexed participant, uint balance);


    // ------------------------------------------------------------------------
    // Transfer the balance from owner's account to another account, with KYC
    // verification check for the crowdsale participant's first transfer
    // ------------------------------------------------------------------------
    function transfer(address _to, uint _amount) returns (bool success) {
        // Cannot transfer before crowdsale ends
        require(finalised);
        // Cannot transfer if KYC verification is required
        require(!kycRequired[msg.sender]);
        // Standard transfer
        return super.transfer(_to, _amount);
    }


    // ------------------------------------------------------------------------
    // Spender of tokens transfer an amount of tokens from the token owner's
    // balance to another account, with KYC verification check for the
    // crowdsale participant's first transfer
    // ------------------------------------------------------------------------
    function transferFrom(address _from, address _to, uint _amount) 
        returns (bool success)
    {
        // Cannot transfer before crowdsale ends
        require(finalised);
        // Cannot transfer if KYC verification is required
        require(!kycRequired[_from]);
        // Standard transferFrom
        return super.transferFrom(_from, _to, _amount);
    }


    // ------------------------------------------------------------------------
    // openANX to KYC verify the participant's account
    // ------------------------------------------------------------------------
    function kycVerify(address participant) onlyOwner {
        kycRequired[participant] = false;
        KycVerified(participant);
    }
    event KycVerified(address indexed participant);


    // ------------------------------------------------------------------------
    // Any account can burn _from's tokens as long as the _from account has 
    // approved the _amount to be burnt using
    //   approve(0x0, _amount)
    // ------------------------------------------------------------------------
    function burnFrom(
        address _from,
        uint _amount
    ) returns (bool success) {
        if (balances[_from] >= _amount                  // From a/c has balance
            && allowed[_from][0x0] >= _amount           // Transfer approved
            && _amount > 0                              // Non-zero transfer
            && balances[0x0] + _amount > balances[0x0]  // Overflow check
        ) {
            balances[_from] = balances[_from].sub(_amount);
            allowed[_from][0x0] = allowed[_from][0x0].sub(_amount);
            balances[0x0] = balances[0x0].add(_amount);
            totalSupply = totalSupply.sub(_amount);
            Transfer(_from, 0x0, _amount);
            return true;
        } else {
            return false;
        }
    }


    // ------------------------------------------------------------------------
    // 1y locked balances for an account
    // ------------------------------------------------------------------------
    function balanceOfLocked1Y(address account) constant returns (uint balance) {
        return lockedTokens.balanceOfLocked1Y(account);
    }


    // ------------------------------------------------------------------------
    // 2y locked balances for an account
    // ------------------------------------------------------------------------
    function balanceOfLocked2Y(address account) constant returns (uint balance) {
        return lockedTokens.balanceOfLocked2Y(account);
    }


    // ------------------------------------------------------------------------
    // 1y and 2y locked balances for an account
    // ------------------------------------------------------------------------
    function balanceOfLocked(address account) constant returns (uint balance) {
        return lockedTokens.balanceOfLocked(account);
    }


    // ------------------------------------------------------------------------
    // 1y locked total supply
    // ------------------------------------------------------------------------
    function totalSupplyLocked1Y() constant returns (uint) {
        if (finalised) {
            return lockedTokens.totalSupplyLocked1Y();
        } else {
            return 0;
        }
    }


    // ------------------------------------------------------------------------
    // 2y locked total supply
    // ------------------------------------------------------------------------
    function totalSupplyLocked2Y() constant returns (uint) {
        if (finalised) {
            return lockedTokens.totalSupplyLocked2Y();
        } else {
            return 0;
        }
    }


    // ------------------------------------------------------------------------
    // 1y and 2y locked total supply
    // ------------------------------------------------------------------------
    function totalSupplyLocked() constant returns (uint) {
        if (finalised) {
            return lockedTokens.totalSupplyLocked();
        } else {
            return 0;
        }
    }


    // ------------------------------------------------------------------------
    // Unlocked total supply
    // ------------------------------------------------------------------------
    function totalSupplyUnlocked() constant returns (uint) {
        if (finalised && totalSupply >= lockedTokens.totalSupplyLocked()) {
            return totalSupply.sub(lockedTokens.totalSupplyLocked());
        } else {
            return 0;
        }
    }


    // ------------------------------------------------------------------------
    // openANX can transfer out any accidentally sent ERC20 tokens
    // ------------------------------------------------------------------------
    function transferAnyERC20Token(address tokenAddress, uint amount)
      onlyOwner returns (bool success) 
    {
        return ERC20Interface(tokenAddress).transfer(owner, amount);
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_TOTAL","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerKEther","type":"uint256"}],"name":"setTokensPerKEther","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lockedTokens","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"}],"name":"kycVerify","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOfLocked1Y","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"finalised","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CONTRIBUTIONS_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"START_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"},{"name":"balance","type":"uint256"}],"name":"addPrecommitment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_SOFT_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"END_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyLocked","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyLocked2Y","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"DECIMALSFACTOR","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CONTRIBUTIONS_MAX","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"LOCKED_2Y_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalise","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensPerKEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"kycRequired","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOfLocked2Y","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyLocked1Y","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyUnlocked","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOfLocked","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"LOCKED_1Y_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"}],"name":"proxyPayment","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[{"name":"_wallet","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newWallet","type":"address"}],"name":"WalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensPerKEther","type":"uint256"}],"name":"TokensPerKEtherUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"ethers","type":"uint256"},{"indexed":false,"name":"newEtherBalance","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"newTotalSupply","type":"uint256"},{"indexed":false,"name":"tokensPerKEther","type":"uint256"}],"name":"TokensBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"participant","type":"address"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"PrecommitmentAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"participant","type":"address"}],"name":"KycVerified","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260006008819055600955600a805460ff1916905562053eb6600b5534156200002857fe5b6040516020806200386483398101604052515b604060405190810160405280600381526020017f4f41580000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600d81526020017f6f70656e414e5820546f6b656e00000000000000000000000000000000000000815250601260005b5b60018054600160a060020a03191633600160a060020a03161790555b8351620000e0906003906020870190620001aa565b508251620000f6906004906020860190620001aa565b506005805460ff191660ff84161790556000818155600154600160a060020a031681526006602052604090208190555b5050600d8054600160a060020a031916600160a060020a038516179055503090506200015162000230565b600160a060020a03909116815260405190819003602001906000f08015156200017657fe5b600c8054600160a060020a031916600160a060020a039283161790819055161515620001a25760006000fd5b5b5062000265565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ed57805160ff19168380011785556200021d565b828001600101855582156200021d579182015b828111156200021d57825182559160200191906001019062000200565b5b506200022c92915062000241565b5090565b604051611661806200220383390190565b6200026291905b808211156200022c576000815560010162000248565b5090565b90565b611f8e80620002756000396000f3006060604052361561022d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461023f578063095ea7b3146102cf5780630b743021146103025780630e9d02cc146103245780630eb347401461033957806318160ddd146103655780631881b0f0146103875780631ab3c515146103a5578063214bb60f146103d357806323b872dd146103f75780632da13d5e146104305780632e0f262514610452578063313ce56714610478578063372c65331461049e5780633818d907146104c05780633a9f967e146104e1578063521eb27314610503578063545599ff1461052f5780635834192214610551578063622c77fe1461057357806370a082311461059557806379ba5097146105c357806379cc6790146105d5578063831a1754146106085780638bc04eb71461062a5780638da5cb5b1461064c57806393fea1841461067857806395d89b411461069a578063978c5b151461072a578063a3f4df7e1461074c578063a4399263146107dc578063a5bc770c146107ee578063a9059cbb14610810578063b7121da414610843578063bc5dc16814610873578063c0c3da9c146108a1578063c0f5dc97146108c3578063d4ee1d90146108e5578063dc39d06d14610911578063dd62ed3e14610944578063deaa59df14610978578063e960bb4814610996578063f2fde38b146109c4578063f4509fc2146109e2578063f48c305414610a04578063f76f8d7814610a1a575b61023d5b61023a33610aaa565b5b565b005b341561024757fe5b61024f610c96565b604080516020808252835181830152835191928392908301918501908083838215610295575b80518252602083111561029557601f199092019160209182019101610275565b505050905090810190601f1680156102c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102d757fe5b6102ee600160a060020a0360043516602435610d24565b604080519115158252519081900360200190f35b341561030a57fe5b610312610d8f565b60408051918252519081900360200190f35b341561032c57fe5b61023d600435610d9e565b005b341561034157fe5b610349610e16565b60408051600160a060020a039092168252519081900360200190f35b341561036d57fe5b610312610e25565b60408051918252519081900360200190f35b341561038f57fe5b61023d600160a060020a0360043516610e2b565b005b34156103ad57fe5b610312600160a060020a0360043516610e92565b60408051918252519081900360200190f35b34156103db57fe5b6102ee610f1d565b604080519115158252519081900360200190f35b34156103ff57fe5b6102ee600160a060020a0360043581169060243516604435610f26565b604080519115158252519081900360200190f35b341561043857fe5b610312610f77565b60408051918252519081900360200190f35b341561045a57fe5b610462610f7d565b6040805160ff9092168252519081900360200190f35b341561048057fe5b610462610f82565b6040805160ff9092168252519081900360200190f35b34156104a657fe5b610312610f8b565b60408051918252519081900360200190f35b34156104c857fe5b61023d600160a060020a0360043516602435610f93565b005b34156104e957fe5b61031261105d565b60408051918252519081900360200190f35b341561050b57fe5b61034961106c565b60408051600160a060020a039092168252519081900360200190f35b341561053757fe5b61031261107b565b60408051918252519081900360200190f35b341561055957fe5b610312611083565b60408051918252519081900360200190f35b341561057b57fe5b610312611104565b60408051918252519081900360200190f35b341561059d57fe5b610312600160a060020a036004351661119f565b60408051918252519081900360200190f35b34156105cb57fe5b61023d6111be565b005b34156105dd57fe5b6102ee600160a060020a036004351660243561124b565b604080519115158252519081900360200190f35b341561061057fe5b61031261142c565b60408051918252519081900360200190f35b341561063257fe5b61031261143b565b60408051918252519081900360200190f35b341561065457fe5b610349611447565b60408051600160a060020a039092168252519081900360200190f35b341561068057fe5b610312611456565b60408051918252519081900360200190f35b34156106a257fe5b61024f61145c565b604080516020808252835181830152835191928392908301918501908083838215610295575b80518252602083111561029557601f199092019160209182019101610275565b505050905090810190601f1680156102c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561073257fe5b6103126114ea565b60408051918252519081900360200190f35b341561075457fe5b61024f6114f2565b604080516020808252835181830152835191928392908301918501908083838215610295575b80518252602083111561029557601f199092019160209182019101610275565b505050905090810190601f1680156102c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107e457fe5b61023d611529565b005b34156107f657fe5b610312611744565b60408051918252519081900360200190f35b341561081857fe5b6102ee600160a060020a036004351660243561174a565b604080519115158252519081900360200190f35b341561084b57fe5b6102ee600160a060020a0360043516611799565b604080519115158252519081900360200190f35b341561087b57fe5b610312600160a060020a03600435166117ae565b60408051918252519081900360200190f35b34156108a957fe5b610312611839565b60408051918252519081900360200190f35b34156108cb57fe5b6103126118d4565b60408051918252519081900360200190f35b34156108ed57fe5b6103496119db565b60408051600160a060020a039092168252519081900360200190f35b341561091957fe5b6102ee600160a060020a03600435166024356119ea565b604080519115158252519081900360200190f35b341561094c57fe5b610312600160a060020a0360043581169060243516611a9b565b60408051918252519081900360200190f35b341561098057fe5b61023d600160a060020a0360043516611ac8565b005b341561099e57fe5b610312600160a060020a0360043516611b4d565b60408051918252519081900360200190f35b34156109cc57fe5b61023d600160a060020a0360043516611bd8565b005b34156109ea57fe5b610312611c21565b60408051918252519081900360200190f35b61023d600160a060020a0360043516610aaa565b005b3415610a2257fe5b61024f611c29565b604080516020808252835181830152835191928392908301918501908083838215610295575b80518252602083111561029557601f199092019160209182019101610275565b505050905090810190601f1680156102c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600a5460009060ff1615610abe5760006000fd5b63594bbf50421015610ad05760006000fd5b6359734c50421115610ae25760006000fd5b600854341015610af25760006000fd5b6009541580610b02575060095434105b1515610b0e5760006000fd5b600554600b54600360ff92831660120301909116600a0a903402811515610b3157fe5b60005491900491506a18d0bf423c03d8de0000009082011115610b545760006000fd5b600160a060020a038216600090815260066020526040902054610b7d908263ffffffff611c6016565b600160a060020a03831660009081526006602052604081209190915554610baa908263ffffffff611c6016565b6000908155604080518381529051600160a060020a0385169291600080516020611f43833981519152919081900360200190a3600054600b546040805134815230600160a060020a039081163160208301528183018690526060820194909452608081019290925251918416917f6a7381bdc8f4e7ed3c0f0c299382777bde88a65f0c27f670235401d1544546309181900360a00190a2600160a060020a038083166000908152600e6020526040808220805460ff19166001179055600d5490519216913480156108fc0292909190818181858888f193505050501515610c915760006000fd5b5b5050565b6004805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d1c5780601f10610cf157610100808354040283529160200191610d1c565b820191906000526020600020905b815481529060010190602001808311610cff57829003601f168201915b505050505081565b600160a060020a03338116600081815260076020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6a52b7d2dcc80cd2e400000081565b60015433600160a060020a03908116911614610dba5760006000fd5b63594bbf504210610dcb5760006000fd5b60008111610dd95760006000fd5b600b8190556040805182815290517fee386bebbe46d39825c2b93313aa1ab1dc57d4774cac81c6debb8c611c9227ab9181900360200190a15b5b50565b600c54600160a060020a031681565b60005481565b60015433600160a060020a03908116911614610e475760006000fd5b600160a060020a0381166000818152600e6020526040808220805460ff19169055517fb3e6054663369578ee4831fc6c8ee9486db04e6f78b939250094785f6b6a430b9190a25b5b50565b600c54604080516000602091820181905282517f1ab3c515000000000000000000000000000000000000000000000000000000008152600160a060020a038681166004830152935191949390931692631ab3c51592602480830193919282900301818787803b1515610f0057fe5b6102c65a03f11515610f0e57fe5b5050604051519150505b919050565b600a5460ff1681565b600a5460009060ff161515610f3b5760006000fd5b600160a060020a0384166000908152600e602052604090205460ff1615610f625760006000fd5b610f6d848484611c88565b90505b9392505050565b60085481565b601281565b60055460ff1681565b63594bbf5081565b60015433600160a060020a03908116911614610faf5760006000fd5b63594bbf504210610fc05760006000fd5b60008111610fce5760006000fd5b600160a060020a038216600090815260066020526040902054610ff7908263ffffffff611c6016565b600160a060020a03831660009081526006602052604081209190915554611024908263ffffffff611c6016565b6000908155604080518381529051600160a060020a0385169291600080516020611f43833981519152919081900360200190a35b5b5050565b6a0ac0db698068112d00000081565b600d54600160a060020a031681565b6359734c5081565b600a5460009060ff16156110fc57600c546040805160006020918201819052825160e160020a632c1a0c910281529251600160a060020a039094169363583419229360048082019493918390030190829087803b15156110df57fe5b6102c65a03f115156110ed57fe5b50506040515191506111009050565b5060005b5b90565b600a5460009060ff16156110fc57600c54604080516000602091820181905282517f622c77fe0000000000000000000000000000000000000000000000000000000081529251600160a060020a039094169363622c77fe9360048082019493918390030190829087803b15156110df57fe5b6102c65a03f115156110ed57fe5b50506040515191506111009050565b506000611100565b5b90565b600160a060020a0381166000908152600660205260409020545b919050565b60025433600160a060020a039081169116146111da5760006000fd5b600254600154604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002546001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b600160a060020a0382166000908152600660205260408120548290108015906112985750600160a060020a0383166000908152600760209081526040808320838052909152902054829010155b80156112a45750600082115b80156112db57506000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f854828101115b1561141d57600160a060020a038316600090815260066020526040902054611309908363ffffffff611e1d16565b600160a060020a0384166000908152600660209081526040808320939093556007815282822082805290522054611346908363ffffffff611e1d16565b600160a060020a0384166000908152600760209081526040808320838052825290912091909155600690527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546113a3908363ffffffff611c6016565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f891909155546113e3908363ffffffff611e1d16565b6000908155604080518481529051600160a060020a03861691600080516020611f43833981519152919081900360200190a3506001610d89565b506000610d89565b5b92915050565b6a18d0bf423c03d8de00000081565b670de0b6b3a764000081565b600154600160a060020a031681565b60095481565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d1c5780601f10610cf157610100808354040283529160200191610d1c565b820191906000526020600020905b815481529060010190602001808311610cff57829003601f168201915b505050505081565b635d0e265081565b60408051808201909152600d81527f6f70656e414e5820546f6b656e00000000000000000000000000000000000000602082015281565b60015433600160a060020a039081169116146115455760006000fd5b6000546a0ac0db698068112d0000009010158061156557506359734c5042115b15156115715760006000fd5b600a5460ff16156115825760006000fd5b600c54604080517fe9d7f3090000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169163e9d7f3099160048082019260009290919082900301818387803b15156115dd57fe5b6102c65a03f115156115eb57fe5b5050506116a2600c60009054906101000a9004600160a060020a0316600160a060020a031663583419226000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401809050602060405180830381600087803b151561166557fe5b6102c65a03f1151561167357fe5b50506040805151600c54600160a060020a0316600090815260066020529190912054915063ffffffff611c6016565b600c8054600160a060020a03908116600090815260066020908152604080832095909555925484518401829052845160e160020a632c1a0c91028152945161173095919093169363583419229360048084019492939192918390030190829087803b151561170c57fe5b6102c65a03f1151561171a57fe5b505060405151600054915063ffffffff611c6016565b600055600a805460ff191660011790555b5b565b600b5481565b600a5460009060ff16151561175f5760006000fd5b600160a060020a0333166000908152600e602052604090205460ff16156117865760006000fd5b6117908383611e34565b90505b92915050565b600e6020526000908152604090205460ff1681565b600c54604080516000602091820181905282517fbc5dc168000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015293519194939093169263bc5dc16892602480830193919282900301818787803b1515610f0057fe5b6102c65a03f11515610f0e57fe5b5050604051519150505b919050565b600a5460009060ff16156110fc57600c54604080516000602091820181905282517fc0c3da9c0000000000000000000000000000000000000000000000000000000081529251600160a060020a039094169363c0c3da9c9360048082019493918390030190829087803b15156110df57fe5b6102c65a03f115156110ed57fe5b50506040515191506111009050565b506000611100565b5b90565b600a5460009060ff16801561194e5750600c546040805160006020918201819052825160e160020a632c1a0c910281529251600160a060020a039094169363583419229360048082019493918390030190829087803b151561193257fe5b6102c65a03f1151561194057fe5b505060405151600054101590505b156110fc57600c546040805160006020918201819052825160e160020a632c1a0c9102815292516119c894600160a060020a0316936358341922936004808301949193928390030190829087803b15156119a457fe5b6102c65a03f115156119b257fe5b505060405151600054915063ffffffff611e1d16565b9050611100565b506000611100565b5b90565b600254600160a060020a031681565b60015460009033600160a060020a03908116911614611a095760006000fd5b600154604080516000602091820181905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0394851660048201526024810187905292519387169363a9059cbb9360448082019493918390030190829087803b1515611a7c57fe5b6102c65a03f11515611a8a57fe5b5050604051519150505b5b92915050565b600160a060020a038083166000908152600760209081526040808320938516835292905220545b92915050565b60015433600160a060020a03908116911614611ae45760006000fd5b600d805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905560408051929091168252517f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b916020908290030190a15b5b50565b600c54604080516000602091820181905282517fe960bb48000000000000000000000000000000000000000000000000000000008152600160a060020a03868116600483015293519194939093169263e960bb4892602480830193919282900301818787803b1515610f0057fe5b6102c65a03f11515610f0e57fe5b5050604051519150505b919050565b60015433600160a060020a03908116911614611bf45760006000fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b635b2cf2d081565b60408051808201909152600381527f4f41580000000000000000000000000000000000000000000000000000000000602082015281565b6000828201838110801590611c755750828110155b1515611c7d57fe5b8091505b5092915050565b600160a060020a038316600090815260066020526040812054829010801590611cd85750600160a060020a0380851660009081526007602090815260408083203390941683529290522054829010155b8015611ce45750600082115b8015611d095750600160a060020a038316600090815260066020526040902054828101115b15611e0d57600160a060020a038416600090815260066020526040902054611d37908363ffffffff611e1d16565b600160a060020a0380861660009081526006602090815260408083209490945560078152838220339093168252919091522054611d7a908363ffffffff611e1d16565b600160a060020a0380861660009081526007602090815260408083203385168452825280832094909455918616815260069091522054611dc0908363ffffffff611c6016565b600160a060020a038085166000818152600660209081526040918290209490945580518681529051919392881692600080516020611f4383398151915292918290030190a3506001610f70565b506000610f70565b5b9392505050565b600082821115611e2957fe5b508082035b92915050565b600160a060020a033316600090815260066020526040812054829010801590611e5d5750600082115b8015611e825750600160a060020a038316600090815260066020526040902054828101115b1561141d57600160a060020a033316600090815260066020526040902054611eb0908363ffffffff611e1d16565b600160a060020a033381166000908152600660205260408082209390935590851681522054611ee5908363ffffffff611c6016565b600160a060020a03808516600081815260066020908152604091829020949094558051868152905191933390931692600080516020611f4383398151915292918290030190a3506001610d89565b506000610d89565b5b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582002d82e12d01419074eb87e3b53edd24e33c5ad021933496454ed30b3c41a4d1600296060604052600080805560015560028054600160a060020a03191673813703eb676f3b6c76da75cba0cbc49ddbca7b3717905534156200003b57fe5b6040516020806200166183398101604052515b60078054600160a060020a031916600160a060020a038316179055620000a1734bee088efdbcc610eeea101ded7204150af1c8b969d3c21bcecceda10000006401000000006200092a810262000b351704565b620000d973839551201f866907eb5017be79ceb48ada58650c69c3e059b8e3f56820000064010000000062000b356200092a82021704565b6200011173a92d4cd3412862386c234be572fe4a8fa4bb09c669c3e059b8e3f56820000064010000000062000b356200092a82021704565b6200014973ecf2b5fce33007e5669d63de39a4c663e56958dd69c3e059b8e3f56820000064010000000062000b356200092a82021704565b6200018173d6b7695bc74e2c950eb953316359eab283c5bda869c3e059b8e3f56820000064010000000062000b356200092a82021704565b620001b973be3463eae26398d55a7118683079264bcf3ab24b691fc3842bd1f071c0000064010000000062000b356200092a82021704565b620001f173f47428fb9a61c9f3312cb035aee049fba76ba62a691fc3842bd1f071c0000064010000000062000b356200092a82021704565b6200022973fccc77165d822ef9004714d829bdc267c743658a690a968163f0a57b40000064010000000062000b356200092a82021704565b6200026173af8df2acaec3d5d92de42a6c19d7706a4f3e8d8b690a968163f0a57b40000064010000000062000b356200092a82021704565b620002997322a6f9693856374bf2922cd837d07f6670e7fa4d6934f086f3b33b6840000064010000000062000b356200092a82021704565b620002d1733f720ca8fff598f00a51de32a8cb58ca73f22ade690a968163f0a57b40000064010000000062000b356200092a82021704565b6200030973bd0d1954b301e414f0b5d0827a69ec5dd559e50b690a968163f0a57b40000064010000000062000b356200092a82021704565b62000341732ad6b011fecde830c9cc4dc0d0b77f055d6b5990690a968163f0a57b40000064010000000062000b356200092a82021704565b6200037a730c5cd0e971ca18a0f0e0d581f4b93fad31d608b06a01a788d33a4381d634000064010000000062000b356200092a82021704565b620003b273faadc4d80eaf430ab604337cb67d77ec763d3e23692a677740c0a015e0000064010000000062000b356200092a82021704565b620003eb73daef46f89c264182cd87ce93b620b63c7afb14f76a01566568a986aee160000064010000000062000b356200092a82021704565b620004237319cc59c30ce54706633dc29edebae1eff1757b25692fa430b374df96d0000064010000000062000b356200092a82021704565b6200045b73a130fe5d399104ca5af168fbbbbe19f95d739741699df44bb9dd0f2038000064010000000062000b356200092a82021704565b6200049373c0cd1bf6f2939095a56b0dfa085ba2886b84e7d1699df44bb9dd0f2038000064010000000062000b356200092a82021704565b620004cb73f2c26e79ed264b0e3e5a5dfb1dd91ea61f512c6e699df44bb9dd0f2038000064010000000062000b356200092a82021704565b62000503735f876a8a5f1b66fbf3d0d119075b62af4386e319699df44bb9dd0f2038000064010000000062000b356200092a82021704565b6200053b73b8e046570800dd76720af6d42d3ccae451f54f15699df4677b4a766f00000064010000000062000b356200092a82021704565b6200057373a524fa65aac4647fa7ba2c20d22f64450c351bbd699741858ac693ebf8000064010000000062000b356200092a82021704565b620005ab7327209b276c15a936bce08d7d70f0c97aeb3ce8c36902f0ec9848ec9864000064010000000062000b356200092a82021704565b6003546a0b949d854f34fece00000014620005c257fe5b620005fa734bee088efdbcc610eeea101ded7204150af1c8b969d3c21bcecceda100000064010000000062000b926200099b82021704565b6200063273839551201f866907eb5017be79ceb48ada58650c69c3e059b8e3f56820000064010000000062000b926200099b82021704565b6200066a73a92d4cd3412862386c234be572fe4a8fa4bb09c669c3e059b8e3f56820000064010000000062000b926200099b82021704565b620006a273ecf2b5fce33007e5669d63de39a4c663e56958dd69c3e059b8e3f56820000064010000000062000b926200099b82021704565b620006da73d6b7695bc74e2c950eb953316359eab283c5bda869c3e059b8e3f56820000064010000000062000b926200099b82021704565b6200071273be3463eae26398d55a7118683079264bcf3ab24b691fc3842bd1f071c0000064010000000062000b926200099b82021704565b6200074a73f47428fb9a61c9f3312cb035aee049fba76ba62a691fc3842bd1f071c0000064010000000062000b926200099b82021704565b6200078273fccc77165d822ef9004714d829bdc267c743658a690a968163f0a57b40000064010000000062000b926200099b82021704565b620007ba73daef46f89c264182cd87ce93b620b63c7afb14f76969e10de76676d080000064010000000062000b926200099b82021704565b620007f273af8df2acaec3d5d92de42a6c19d7706a4f3e8d8b690a968163f0a57b40000064010000000062000b926200099b82021704565b6200082a7322a6f9693856374bf2922cd837d07f6670e7fa4d6934f086f3b33b6840000064010000000062000b926200099b82021704565b62000862733f720ca8fff598f00a51de32a8cb58ca73f22ade690a968163f0a57b40000064010000000062000b926200099b82021704565b6200089a73bd0d1954b301e414f0b5d0827a69ec5dd559e50b690a968163f0a57b40000064010000000062000b926200099b82021704565b620008d2732ad6b011fecde830c9cc4dc0d0b77f055d6b5990690a968163f0a57b40000064010000000062000b926200099b82021704565b6200090b73990a2d172398007fcbd5078d84696bdd8ccdf7b26a108b2a2c2802909400000064010000000062000b926200099b82021704565b6004546a1581b6d300d0225a000000146200092257fe5b5b5062000a36565b600160a060020a0382166000908152600560205260409020546200095d908264010000000062000b0d62000a0c82021704565b600160a060020a03831660009081526005602052604090205560035462000993908264010000000062000b0d62000a0c82021704565b6003555b5050565b600160a060020a038216600090815260066020526040902054620009ce908264010000000062000b0d62000a0c82021704565b600160a060020a03831660009081526006602052604090205560045462000a04908264010000000062000b0d62000a0c82021704565b6004555b5050565b600082820183811080159062000a225750828110155b151562000a2b57fe5b8091505b5092915050565b610c1b8062000a466000396000f300606060405236156101675763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b74302181146101695780631a6f56a01461018b5780631ab3c515146101b95780632da13d5e146101e75780632e0f262514610209578063372c65331461022f57806338c80857146102515780633a9f967e14610263578063400ee78314610285578063545599ff146102a757806355a373d6146102c957806358341922146102f5578063622c77fe1461031757806376e403ec146103395780637f592be414610367578063831a1754146103935780638bc04eb7146103b557806393fea184146103d7578063978c5b15146103f9578063a3f4df7e1461041b578063bc5dc168146104ab578063c0c3da9c146104d9578063e5494be1146104fb578063e960bb481461050d578063e9d7f3091461053b578063f4509fc21461054d578063f76f8d781461056f578063ffb00df1146105ff575bfe5b341561017157fe5b610179610621565b60408051918252519081900360200190f35b341561019357fe5b610179600160a060020a0360043516610630565b60408051918252519081900360200190f35b34156101c157fe5b610179600160a060020a0360043516610642565b60408051918252519081900360200190f35b34156101ef57fe5b610179610661565b60408051918252519081900360200190f35b341561021157fe5b610219610667565b6040805160ff9092168252519081900360200190f35b341561023757fe5b61017961066c565b60408051918252519081900360200190f35b341561025957fe5b610261610674565b005b341561026b57fe5b610179610779565b60408051918252519081900360200190f35b341561028d57fe5b610179610788565b60408051918252519081900360200190f35b34156102af57fe5b610179610797565b60408051918252519081900360200190f35b34156102d157fe5b6102d961079f565b60408051600160a060020a039092168252519081900360200190f35b34156102fd57fe5b6101796107ae565b60408051918252519081900360200190f35b341561031f57fe5b6101796107b9565b60408051918252519081900360200190f35b341561034157fe5b610179600160a060020a03600435166107bf565b60408051918252519081900360200190f35b341561036f57fe5b6102d96107d1565b60408051600160a060020a039092168252519081900360200190f35b341561039b57fe5b6101796107e0565b60408051918252519081900360200190f35b34156103bd57fe5b6101796107ef565b60408051918252519081900360200190f35b34156103df57fe5b6101796107fb565b60408051918252519081900360200190f35b341561040157fe5b610179610801565b60408051918252519081900360200190f35b341561042357fe5b61042b610809565b604080516020808252835181830152835191928392908301918501908083838215610471575b80518252602083111561047157601f199092019160209182019101610451565b505050905090810190601f16801561049d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104b357fe5b610179600160a060020a0360043516610840565b60408051918252519081900360200190f35b34156104e157fe5b61017961085f565b60408051918252519081900360200190f35b341561050357fe5b610261610865565b005b341561051557fe5b610179600160a060020a036004351661096b565b60408051918252519081900360200190f35b341561054357fe5b6102616109a6565b005b341561055557fe5b610179610aa8565b60408051918252519081900360200190f35b341561057757fe5b61042b610ab0565b604080516020808252835181830152835191928392908301918501908083838215610471575b80518252602083111561047157601f199092019160209182019101610451565b505050905090810190601f16801561049d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561060757fe5b610179610ae7565b60408051918252519081900360200190f35b6a52b7d2dcc80cd2e400000081565b60066020526000908152604090205481565b600160a060020a0381166000908152600560205260409020545b919050565b60005481565b601281565b63594bbf5081565b6000635b2cf2d04210156106885760006000fd5b50600160a060020a0333166000908152600560205260408120549081116106af5760006000fd5b600160a060020a0333166000908152600560205260408120556003546106db908263ffffffff610af616565b600355600754604080516000602091820181905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152602482018790529351939094169363a9059cbb936044808301949391928390030190829087803b151561075357fe5b6102c65a03f1151561076157fe5b505060405151151590506107755760006000fd5b5b50565b6a0ac0db698068112d00000081565b6a0b949d854f34fece00000081565b6359734c5081565b600754600160a060020a031681565b600454600354015b90565b60045481565b60056020526000908152604090205481565b600254600160a060020a031681565b6a18d0bf423c03d8de00000081565b670de0b6b3a764000081565b60015481565b635d0e265081565b60408051808201909152600d81527f6f70656e414e5820546f6b656e00000000000000000000000000000000000000602082015281565b600160a060020a0381166000908152600660205260409020545b919050565b60035481565b6000635d0e26504210156108795760006000fd5b50600160a060020a0333166000908152600660205260408120549081116108a05760006000fd5b600160a060020a0333166000908152600660205260408120556004546108cc908263ffffffff610af616565b6004908155600754604080516000602091820181905282517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0333811696820196909652602481018790529251949093169363a9059cbb936044808501948390030190829087803b151561075357fe5b6102c65a03f1151561076157fe5b505060405151151590506107755760006000fd5b5b50565b600160a060020a038116600090815260066020908152604080832054600590925282205461099e9163ffffffff610b0d16565b90505b919050565b60075460009033600160a060020a039081169116146109c55760006000fd5b50600754604080516000602091820181905282517f18160ddd00000000000000000000000000000000000000000000000000000000815292516a52b7d2dcc80cd2e400000094610a5d94600160a060020a03909116936318160ddd9360048084019492938390030190829087803b1515610a3b57fe5b6102c65a03f11515610a4957fe5b50506040515183915063ffffffff610af616565b9050610a7460035482610af690919063ffffffff16565b9050610a8b60045482610af690919063ffffffff16565b60025490915061077590600160a060020a031682610b35565b5b50565b635b2cf2d081565b60408051808201909152600381527f4f41580000000000000000000000000000000000000000000000000000000000602082015281565b6a1581b6d300d0225a00000081565b600082821115610b0257fe5b508082035b92915050565b6000828201838110801590610b225750828110155b1515610b2a57fe5b8091505b5092915050565b600160a060020a038216600090815260056020526040902054610b5e908263ffffffff610b0d16565b600160a060020a038316600090815260056020526040902055600354610b8a908263ffffffff610b0d16565b6003555b5050565b600160a060020a038216600090815260066020526040902054610bbb908263ffffffff610b0d16565b600160a060020a038316600090815260066020526040902055600454610be7908263ffffffff610b0d16565b6004555b50505600a165627a7a723058201ebf78c948e9b064875413e10729508a8cb3f4fc7b2decd423f81a4a0a420b8000290000000000000000000000002b3b67c6dffc2bcdda2315491eac9bbe868fbcdd

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002b3b67c6dffc2bcdda2315491eac9bbe868fbcdd


   Swarm Source:
bzzr://1ebf78c948e9b064875413e10729508a8cb3f4fc7b2decd423f81a4a0a420b80

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.