Latest 25 transactions from a total of 59253 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0x45bd5bd795f31b1b80db04a92b5f6f2df20dbfd8be75dad0f5a5a7ae5c1ca079(pending)0xe1e13acf91b6bf7ce9764b8207084f37c3cfb70b  IN  0x701c244b988a513c945973defa05de933b23fe1d0 Ether(Pending)
0x0fdd54d1b849074f1225564a3a08fffaf1b56e38ee01235b1f5ebd7030fc0bc38 hrs 51 mins ago0x92bfec60de9fae410cd441d7e7dfe2ba5cbb1237  IN   OpenANX0 Ether0.000116274
0x76d0bf0cd9f28d0e809121b6f0edf9e15aa1a19123c07998d2893b22aa5254219 hrs 9 mins ago0xf124291b6387e046aaae24a7a1927d159b6f3f7b  IN   OpenANX0 Ether0.000154776
0x1316b0398009c7d441cf61e81b1f47191f4f8528d8aedbe2390cb8863e89354110 hrs 55 mins ago0xb6f568375bffbc7894535623d4aa4325ba90d330  IN   OpenANX0 Ether0.000181936
0x97c65578f9385347446e3e88386135a5265d42409257c286d5b3fd81ad2dc18d16 hrs 54 mins ago0x9e6e058c06c7ceeb6090e8438fc722f7d34188a3  IN   OpenANX0 Ether0.001589078
0x9b6ad91b3d274800b7b80ba0c72af90684cdaef39a36560db3ba57cc2417093f20 hrs 37 mins ago0xab96bc9e9f5be7443c25f90c8c174a26fe10dfb7  IN   OpenANX0 Ether0.000318836
0xdfa606b028399f63f3b41113e6b45f78ba1639f82a4d904927696e9ccbff501d1 day 2 hrs ago0x94fe3ad91dacba8ec4b82f56ff7c122181f1535d  IN   OpenANX0 Ether0.00107516
0x0af6fd838d982cd339359384e28ca0e54f20a4a4acff492efe873d130a6b27bb1 day 2 hrs agoBinance_3  IN   OpenANX0 Ether0.0019379
0xbd9afdf260be767b41f3d43853bcbfc09a8899adb3dac255cbe7ded90cac64b21 day 9 hrs ago0x0fc73d5df9256ec376f31d82f5460e48f314b918  IN   OpenANX0 Ether0.001586454
0xb30fd0feb1fa488ad058de5839c52f59d451c348d31077f1557e57ce54577c7f1 day 13 hrs agoBinance_4  IN   OpenANX0 Ether0.0026847
0x8a8012a4e4503a1f5a2f449783ae67209c365aa38ba761e895f7dc55aa5601d01 day 21 hrs ago0xd7517cb2433b021992fc3c3e1b50e279754460f9  IN   OpenANX0 Ether0.00047516
0x7c5a0796112ddf72d650e934b590836e0f1ea3b01be6db54101d734f9a7e753e1 day 21 hrs ago0x1e51ead07622a56069d8a5effcb4a4daed09e2be  IN   OpenANX0 Ether0.001639302
0xd61f2e6cfdbc82e3b6c6c144e36e83652267c0057b33a6d521007dac075d76f01 day 21 hrs ago0x1e51ead07622a56069d8a5effcb4a4daed09e2be  IN   OpenANX0 Ether0.003704886
0x4fc104d0a2691e3c7ef58fc9920a29b6a3d981d034136fccea289ad7795d03d62 days 7 hrs ago0x258d040887a0d120771fa8f1539dec3e74abfd4b  IN   OpenANX0 Ether0.00047388
0x18eb057ec27324bb61dcfa77cf368da90629968c90cf47e882b5858e184022be2 days 7 hrs ago0x148f8f90b924f6d10d82faac57a334b2b75a0ae9  IN   OpenANX0 Ether0.003830706
0x9476fabba497529d6352927b342d070d9683add896a2622115eb23ae0a68bd772 days 7 hrs agoBinance_1  IN   OpenANX0 Ether0.0026847
0x0a17def929a79d20b51bca1c9a554dd2b1d426e438323b3d62a1d172982960742 days 11 hrs ago0x860ca90f4eab837d230bc90ce0eeffbdd028f0eb  IN   OpenANX0 Ether0.00077644
0xb97df254cae1f00f3d8d154983de330cd83fa10380124407583e256284c52b8d2 days 11 hrs ago0x860ca90f4eab837d230bc90ce0eeffbdd028f0eb  IN   OpenANX0 Ether0.00107388
0x8d9e574740c3488979c086ddf1e269aa80acb4a58fa4ba0c1ceda826c38900db2 days 17 hrs agoOkex_1  IN   OpenANX0 Ether0.00187929
0x4d2a115d85f5f994a5256fb42ae4a1916dcbec3f696b9385f631b42f27b3042f2 days 19 hrs agoOkex_1  IN   OpenANX0 Ether0.00187929
0x58f8a3f0e6241021445309add59424e6e8aaed531a90940ed00a483b97e3a22f3 days 4 hrs ago0xc28e865d701a3573485a43d858c2db46fb156301  IN   OpenANX0 Ether0.0011403
0x0711e9848ea41b29713abf79ed913a4b840d56e72670d1f75cd1c54eb71efc0e3 days 19 hrs ago0x19bdd4def406ba1cb69da24a6a166fa9cfba126d  IN   OpenANX0 Ether0.000182448
0x6f381f38a6b7368839c1984cd813d1d10e7da5e643e069f7aa76a864db19dfd93 days 23 hrs ago0xd00ae2d78d950b07e6cc30dfbebcd30a02344068  IN   OpenANX0 Ether0.00047516
0x5a3e289b1531ed1ee7f5ad3fbd9d7a78cb3935925ed3c24fbb510708925da58c4 days 4 mins ago0x0861fca546225fbf8806986d211c8398f7457734  IN   OpenANX0 Ether0.0014622176
0x40d77c3676af04201ac05075b403ebef8dd6f8991f05deeef00866ed6f3d47a64 days 9 mins ago0x57fb9f13445beb946e00fae8c074d51d41771a07  IN   OpenANX0 Ether0.0001758092
[ 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
0xfdb6c1df82f588441b4b64cd47e917f792434bb338580b8dab0e18689588c0943971323530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.33 Ether
0x9a1a846a4bc862cd3e03b55122c212def7a9f9f7cb6b26a4ce9f8ec091e340883971318530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x2fc7aa09c1a42ba77fd6ff6bd4dfc03b9b7d9eb060031bfd1f78c1941fe333763971315530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.39867733 Ether
0xa38d81a305bd681c15959f83d471f5d426dad06438f4f5af8a56c7862bb051403971313530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.6 Ether
0xa7a89b55d39595b27399f65786fc64734c38793622b7806ecfce1c470e5888443971313530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.5 Ether
0x6f2135887209fb9db7e99bdfbde48b949843914b6d8d0d5b3606cbce0f9538363971313530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2 Ether
0xe6c5afe13f5f7137d296bcba696681349709791e3628d8ff8db4db8bbbfddc2c3971309530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.1 Ether
0x87f82c67affce46fad40a5bf4b4ccba4a9bc176af2fea4843d3de023828dbc1b3971304530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2.1 Ether
0x34a566e1d2c9d6e12422720e262e4617207918dce6c79e13484401ab3baf28873971304530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd6.95 Ether
0x35acb914a23c324eedfd55974dcb045dc67b6cc08671f258b5115ae719e7356b3971303530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1.015 Ether
0x04be090c4afd8d28b0cab67b6aa5a8f7a6da9793de35266a53e86f89920d1b413971301530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd10.08 Ether
0xe140e772a21cc63c37cd58ae2f420f1082f4d823c5444b94a21c842217498d853971298530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1.01 Ether
0x8afdf33936daaf50eb6097c674d32abc9be08ed736b3397e3d1725333177aaa73971295530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x8c70870f8a716bc667a9e409df730b02a17579f1d0d33bd597878ed51bed74503971292530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2.1908 Ether
0xfd3afb2df98d745758865c426809485676ce2a62922493dc17d37b65e33101ad3971287530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1.989 Ether
0xf7bec164d93a05fa2067d9446a3e3a1bada9f7b27a0b1febbc1f2d67b5b76e0d3971284530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x49e40e822f0530e3c43bb0b7a5b1224d3113e96fb424506be0f13ba659d708023971284530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.5 Ether
0x5d5470a7ba3e4ffd86107bc73c0bf4601d6909f93cc62b56dd2b249affc37a8b3971279530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x4af8b267a2382d69c0845d06b01a0addbaf5d0bffe26de2ddee98c36432624bb3971278530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd5.01 Ether
0x1afbeb4462c0071efe89b1794bf8a0517d98c136b168053aa1fbbb2f6cf769443971278530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd1 Ether
0x783653897ef6b77dac569af6fa3a0858e1995ce349d9396cdf2939c36878ecbb3971278530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.99 Ether
0xfc25bd116dfed8e1617c507b11e710cd8fd92d127ae52eac403cb487fe9d81213971276530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.345 Ether
0xd56fb1c4e7dfa9d1d00f385cbfe9a5d39deb8345e9e55481bb9391240b1adf293971273530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd0.039 Ether
0x43e488ec02f0d89f8f0b12616f6dbe6ad4cd43b9400cc5a1ca15db47f9d21f783971273530 days 16 hrs ago0x701c244b988a513c945973defa05de933b23fe1d0x2b3b67c6dffc2bcdda2315491eac9bbe868fbcdd2 Ether
0xbdd71b95c956b6b6f990de997d2e462c7c56a7ae1fcdf032d71168108a3079b63971273530 days 16 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.