Contract 0x42d2b05b20565de5f2bef7503ebdad0754a5d4b4

 

TxHash Block Age From To Value [TxFee]
0xf42ec629980757b10f55020704c58de52b75a1bfa0bfdf5602564c7a978689a9730308118 days 9 mins ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.02927872
0x8e00edf1d9ca3fbf6d9cbffd7548c22326abdd96ffb8d84c19da5690d216ee0b718298844 days 1 hr ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.02987872
0x2d9f80d4079e50b420554d4c6dca4f06f83e34f868a635717e7d8708fff8c45a718231744 days 4 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00107695
0xb861604327f503706acb95c261bf2ed404cbfb31f8738169f6a3277e3d284408718228144 days 5 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00107695
0x851281d29d32cc298b6da5396c90fb4f1a017a966638e0bfa0173c26e5004565718225544 days 5 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00107695
0xd24d100656916d83937355932ec41f647d45c23da67106f7712e5eba898845736843302104 days 21 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.004661808
0xf2d26423f623dc8db3be6ec982142452fcee82825e3bf15201c457a01be9cc946708061127 days 4 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.004481808
0x6fde154d4acb0feb56bbea6e22f1055ad99b28bff0e96a34d7b1414a96fdf37b6492633162 days 10 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.004571808
0x60f53615fb7702b16246810dfaf6f6f9229188072d983db659af3b4b361ae82a6285686196 days 10 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.002285904
0x25b5f2fcec6a17e204c73ddd1940dbf8c8ed547645f408487d9a365a16efdf9c6275590198 days 3 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.000064617
0xc86bf01c4e640598f5d9c61638c97eab36080b9192e1584f016a27bae76c73656275516198 days 3 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.000064617
0xfc9bc28831656fe9f45c38eef8fdcb2ba581d6f132e3061f2d7a868ac587f0e76112938225 days 14 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00395984
0x7b213c6167584194e98fdaff3822d547b6c2b8c488b952be3dcb620489c397005785139281 days 10 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.04067872
0xfde33f52117c8bda797a7846f4b93bddfbb9bf72a0ac7bbb6c43fd40c4baae115785093281 days 10 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00147024
0x109888992527e519eecda38f1bf0ccc2b19f6051a3c55f23dc96003d876bdf9b5784853281 days 11 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00170788
0x71945e902ddbc1eff421e88abf1e2e52321f3dd58399b5037b5007857ac653925775688283 days 1 hr ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00201652
0xa66638a7cccadbab7f7a2e0e8c0ef8c0f9412c414b924f5e3c1066f1a1eaea4f5769292284 days 4 hrs ago0x5c70c5d97e676dd561ef8dab35f56a2098db5abc IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b420 Ether0.00473916
0x2382a4e44b69e943c67a8ee0d1b7123e2067bd5500ebbd0b8329e3787c8c51325768999284 days 5 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00266324
0x65c7ac5ba09d000bbf44c2c093ce16e117bc86df0d354147bc5f296782c7cb3b5758591286 days 2 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00175908
0x9d36824a1624ea43aa194e00088cfe2dde36acb8634ae567570c2df4d973536d5747374288 days 1 hr ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00176164
0x4da47d66d3e0faea246152069117f4305854c47857959fdf981b46fc03421b635740615289 days 6 hrs ago0x223b7a84e18b5ed76ccce5ec68a460b696a28fb1 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b45 Ether0.00473916
0x0712fa352753d81aef0fc4db38be29147a8e01c25e36a307826f05002b91736a5740613289 days 6 hrs ago0xedd888ae4e150f6ec8f400048e3a76d2dbc4bac1 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b412.8 Ether0.00473916
0x01a50807338c112fa582cd7c88820f905daa82a294c18ec7f1b5ecb7c33715455740586289 days 6 hrs ago0xedd888ae4e150f6ec8f400048e3a76d2dbc4bac1 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b412.8 Ether0.0016
0x6fb9f678da1f4b5e63e5d56c2170a229c711be32e737e7f4bbbf3759b1e042f45740568289 days 6 hrs ago0xedd888ae4e150f6ec8f400048e3a76d2dbc4bac1 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b412.8 Ether0.0006427575
0xaa47869922883d367751cf75732184289228c59ec2d2eda8271445f2d529d3355737662289 days 19 hrs ago0x53c4ac4cc6173cd49573f7c641350acd4d63c030 IN  0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40 Ether0.00967124
[ Download CSV Export 

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0xa66638a7cccadbab7f7a2e0e8c0ef8c0f9412c414b924f5e3c1066f1a1eaea4f5769292284 days 4 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2720 Ether
0x4da47d66d3e0faea246152069117f4305854c47857959fdf981b46fc03421b635740615289 days 6 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf275 Ether
0x0712fa352753d81aef0fc4db38be29147a8e01c25e36a307826f05002b91736a5740613289 days 6 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2712.8 Ether
0x072081b40cec0d8d76d27a822de8ba9bcfd1fbcfd48a2b43d2f78a536a822f575680623299 days 22 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2710 Ether
0x2243afbb02c131e647ef20ee68a6c1859a176f5b2dcede9c1c52c75daa3412a25680484299 days 22 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27158.8 Ether
0x406fb5fc986bb75605efc37ed80859b46174a82861a3f6f1c5b5fa6edf6c05475680354299 days 23 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27210 Ether
0x6630a378a2094c349b293390816f82b40dd0e11c92d3f8dd16775a8afc9cc6c75668486302 days 1 hr ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27100.01 Ether
0x3b4adb148cd04b52af56616276804d0fd6187def1e16191957b78d365d1b8fe85606494313 days 35 mins ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf276 Ether
0x441db9ab01549c977d8397204888bad2f662a6b4290d720d445c06b8b30f46125594285315 days 3 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27100 Ether
0xb5cba06e11fad92d455254d7ef0018ec3e6f9458789891ecac5ab466286add975580283317 days 14 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2720 Ether
0xc56a69bf844b05d93bb9a6e4190277cb1f0de20bee05b5148d4ef6f8ed6d34145519760328 days 4 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf272 Ether
0x9089e944f9146e21c558249062fea1e16046a8a3748543f953b15780be5dec645515536328 days 21 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf275 Ether
0x724a482571382c3a5e97974504ccb8e1ffc762ddce88972fedc93f19c69d39b45515417328 days 22 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf271.2 Ether
0xdae6a2229e35e93386a52bcd2d1f63256220c84b8b185143a68d3de5b34262445495885332 days 7 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2733 Ether
0x200ccc0c64f75a47f00a188fc096e961f7a876f07f5f994e909cad7ffa2cf5f55491455333 days 1 hr ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2735 Ether
0xda64c6fc369435fd50bac0bfdc793ca90e37fa64dc666751ca7fc32ccab6b7945490303333 days 6 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2766 Ether
0x754a7e31ddeb59669cb18a9c851c2ae4bf06b3f8ec8c88fe5b38f7a217d495785490280333 days 6 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27775 Ether
0x773ba0ff6caceb839280f6f896cab95d87d43062becead7829f788e1bf1752315490250333 days 6 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf271 Ether
0xad2b2301c7b4f452f8a47039e678de62442f405c120fcda6615c0245863056ba5427789343 days 22 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf275 Ether
0xb2677189af805379644075b812c79537b1c3643169a85bc788573033edfbd9565425261344 days 8 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2740 Ether
0x13573e9738598a8465f2534cdb9fc109cc6e032d4ea06b2bf4b66b0ea876e4795383638351 days 6 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf271.005 Ether
0xb61afa4571424c2dacc92f4f77919571e95af753a48f896a5760a6b97bb5a77f5307830363 days 21 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27300 Ether
0xbeab88c5e12f985cbde11dbae04e9c16c4be4d4bcc75e1301cc5ad37da61dda35307370363 days 23 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27100 Ether
0xa833b54b7f87ae58f69a1229811384b4bbcf701d167556f85138112016a134845306492364 days 3 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf2750 Ether
0x2617a0fbf1aeece113179b837d1eba234c1355dae4e46285e31ce67c6686332b5285796367 days 14 hrs ago0x42d2b05b20565de5f2bef7503ebdad0754a5d4b40x5f3f130e5d399247c29738b16d7bff746f24cf27100 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
SharesChainTokenCrowdFunding

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

pragma solidity ^0.4.18;

    /**
    * Math operations with safety checks
    */
    library SafeMath {
    function mul(uint a, uint b) internal pure returns (uint) {
        uint c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    function div(uint a, uint b) internal pure returns (uint) {
        assert(b > 0);
        uint c = a / b;
        assert(a == b * c + a % b);
        return c;
    }

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

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

    function max64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a >= b ? a : b;
    }

    function min64(uint64 a, uint64 b) internal pure returns (uint64) {
        return a < b ? a : b;
    }

    function max256(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    function min256(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }
    }


    contract Owned {

        /// @dev `owner` is the only address that can call a function with this
        /// modifier
        modifier onlyOwner() {
            require(msg.sender == owner);
            _;
        }

        address public owner;
        /// @notice The Constructor assigns the message sender to be `owner`
        function Owned() public {
            owner = msg.sender;
        }

        address public newOwner;

        /// @notice `owner` can step down and assign some other address to this role
        /// @param _newOwner The address of the new owner. 0x0 can be used to create
        ///  an unowned neutral vault, however that cannot be undone
        function changeOwner(address _newOwner) onlyOwner public {
            newOwner = _newOwner;
        }


        function acceptOwnership() public {
            if (msg.sender == newOwner) {
                owner = newOwner;
            }
        }
    }


    contract ERC20Protocol {
        /* This is a slight change to the ERC20 base standard.
        function totalSupply() constant returns (uint supply);
        is replaced with:
        uint public totalSupply;
        This automatically creates a getter function for the totalSupply.
        This is moved to the base contract since public getter functions are not
        currently recognised as an implementation of the matching abstract
        function by the compiler.
        */
        /// total amount of tokens
        uint public totalSupply;

        /// @param _owner The address from which the balance will be retrieved
        /// @return The balance
        function balanceOf(address _owner) constant public returns (uint balance);

        /// @notice send `_value` token to `_to` from `msg.sender`
        /// @param _to The address of the recipient
        /// @param _value The amount of token to be transferred
        /// @return Whether the transfer was successful or not
        function transfer(address _to, uint _value) public returns (bool success);

        /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
        /// @param _from The address of the sender
        /// @param _to The address of the recipient
        /// @param _value The amount of token to be transferred
        /// @return Whether the transfer was successful or not
        function transferFrom(address _from, address _to, uint _value) public returns (bool success);

        /// @notice `msg.sender` approves `_spender` to spend `_value` tokens
        /// @param _spender The address of the account able to transfer the tokens
        /// @param _value The amount of tokens to be approved for transfer
        /// @return Whether the approval was successful or not
        function approve(address _spender, uint _value) public returns (bool success);

        /// @param _owner The address of the account owning tokens
        /// @param _spender The address of the account able to transfer the tokens
        /// @return Amount of remaining tokens allowed to spent
        function allowance(address _owner, address _spender) constant public returns (uint remaining);

        event Transfer(address indexed _from, address indexed _to, uint _value);
        event Approval(address indexed _owner, address indexed _spender, uint _value);
    }

    contract StandardToken is ERC20Protocol {
        using SafeMath for uint;

        /**
        * @dev Fix for the ERC20 short address attack.
        */
        modifier onlyPayloadSize(uint size) {
            require(msg.data.length >= size + 4);
            _;
        }

        function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) public returns (bool success) {
            //Default assumes totalSupply can't be over max (2^256 - 1).
            //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
            //Replace the if with this one instead.
            //if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            if (balances[msg.sender] >= _value) {
                balances[msg.sender] -= _value;
                balances[_to] += _value;
                Transfer(msg.sender, _to, _value);
                return true;
            } else { return false; }
        }

        function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) public returns (bool success) {
            //same as above. Replace this line with the following if you want to protect against wrapping uints.
            //if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value) {
                balances[_to] += _value;
                balances[_from] -= _value;
                allowed[_from][msg.sender] -= _value;
                Transfer(_from, _to, _value);
                return true;
            } else { return false; }
        }

        function balanceOf(address _owner) constant public returns (uint balance) {
            return balances[_owner];
        }

        function approve(address _spender, uint _value) onlyPayloadSize(2 * 32) public returns (bool success) {
            // To change the approve amount you first have to reduce the addresses`
            //  allowance to zero by calling `approve(_spender, 0)` if it is not
            //  already 0 to mitigate the race condition described here:
            //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
            assert((_value == 0) || (allowed[msg.sender][_spender] == 0));

            allowed[msg.sender][_spender] = _value;
            Approval(msg.sender, _spender, _value);
            return true;
        }

        function allowance(address _owner, address _spender) constant public returns (uint remaining) {
        return allowed[_owner][_spender];
        }

        mapping (address => uint) balances;
        mapping (address => mapping (address => uint)) allowed;
    }

    contract SharesChainToken is StandardToken {
        /// Constant token specific fields
        string public constant name = "SharesChainToken";
        string public constant symbol = "SCTK";
        uint public constant decimals = 18;

        /// SharesChain total tokens supply
        uint public constant MAX_TOTAL_TOKEN_AMOUNT = 20000000000 ether;

        /// Fields that are only changed in constructor
        /// SharesChain contribution contract
        address public minter;

        /*
        * MODIFIERS
        */

        modifier onlyMinter {
            assert(msg.sender == minter);
            _;
        }

        modifier maxTokenAmountNotReached (uint amount){
            assert(totalSupply.add(amount) <= MAX_TOTAL_TOKEN_AMOUNT);
            _;
        }

        /**
        * CONSTRUCTOR
        *
        * @dev Initialize the SharesChain Token
        * @param _minter The SharesChain Crowd Funding Contract
        */
        function SharesChainToken(address _minter) public {
            minter = _minter;
        }


        /**
        * EXTERNAL FUNCTION
        *
        * @dev Contribution contract instance mint token
        * @param recipient The destination account owned mint tokens
        * be sent to this address.
        */
        function mintToken(address recipient, uint _amount)
            public
            onlyMinter
            maxTokenAmountNotReached(_amount)
            returns (bool)
        {
            totalSupply = totalSupply.add(_amount);
            balances[recipient] = balances[recipient].add(_amount);
            return true;
        }
    }

    contract SharesChainTokenCrowdFunding is Owned {
    using SafeMath for uint;

     /*
      * Constant fields
      */
    /// SharesChain total tokens supply
    uint public constant MAX_TOTAL_TOKEN_AMOUNT = 20000000000 ether;

    // 最大募集以太币数量
    uint public constant MAX_CROWD_FUNDING_ETH = 30000 ether;

    // Reserved tokens
    uint public constant TEAM_INCENTIVES_AMOUNT = 2000000000 ether; // 10%
    uint public constant OPERATION_AMOUNT = 2000000000 ether;       // 10%
    uint public constant MINING_POOL_AMOUNT = 8000000000 ether;     // 40%
    uint public constant MAX_PRE_SALE_AMOUNT = 8000000000 ether;    // 40%

    // Addresses of Patrons
    address public TEAM_HOLDER;
    address public MINING_POOL_HOLDER;
    address public OPERATION_HOLDER;

    /// Exchange rate 1 ether == 205128 SCTK
    uint public constant EXCHANGE_RATE = 205128;
    uint8 public constant MAX_UN_LOCK_TIMES = 10;

    /// Fields that are only changed in constructor
    /// All deposited ETH will be instantly forwarded to this address.
    address public walletOwnerAddress;
    /// Crowd sale start time
    uint public startTime;


    SharesChainToken public sharesChainToken;

    /// Fields that can be changed by functions
    uint16 public numFunders;
    uint public preSoldTokens;
    uint public crowdEther;

    /// tags show address can join in open sale
    mapping (address => bool) public whiteList;

    /// 记录投资人地址
    address[] private investors;

    /// 记录剩余释放次数
    mapping (address => uint8) leftReleaseTimes;

    /// 记录投资人锁定的Token数量
    mapping (address => uint) lockedTokens;

    /// Due to an emergency, set this to true to halt the contribution
    bool public halted;

    /// 记录当前众筹是否结束
    bool public close;

    /*
     * EVENTS
     */

    event NewSale(address indexed destAddress, uint ethCost, uint gotTokens);

    /*
     * MODIFIERS
     */
    modifier notHalted() {
        require(!halted);
        _;
    }

    modifier isHalted() {
        require(halted);
        _;
    }

    modifier isOpen() {
        require(!close);
        _;
    }

    modifier isClose() {
        require(close);
        _;
    }

    modifier onlyWalletOwner {
        require(msg.sender == walletOwnerAddress);
        _;
    }

    modifier initialized() {
        require(address(walletOwnerAddress) != 0x0);
        _;
    }

    modifier ceilingEtherNotReached(uint x) {
        require(crowdEther.add(x) <= MAX_CROWD_FUNDING_ETH);
        _;
    }

    modifier earlierThan(uint x) {
        require(now < x);
        _;
    }

    modifier notEarlierThan(uint x) {
        require(now >= x);
        _;
    }

    modifier inWhiteList(address user) {
        require(whiteList[user]);
        _;
    }

    /**
     * CONSTRUCTOR
     *
     * @dev Initialize the SharesChainToken contribution contract
     * @param _walletOwnerAddress The escrow account address, all ethers will be sent to this address.
     * @param _startTime ICO boot time
     */
    function SharesChainTokenCrowdFunding(address _owner, address _walletOwnerAddress, uint _startTime, address _teamHolder, address _miningPoolHolder, address _operationHolder) public {
        require(_walletOwnerAddress != 0x0);
        owner = _owner;
        halted = false;
        close = false;
        walletOwnerAddress = _walletOwnerAddress;
        startTime = _startTime;
        preSoldTokens = 0;
        crowdEther = 0;
        TEAM_HOLDER = _teamHolder;
        MINING_POOL_HOLDER = _miningPoolHolder;
        OPERATION_HOLDER = _operationHolder;
        sharesChainToken = new SharesChainToken(this);
        sharesChainToken.mintToken(_teamHolder, TEAM_INCENTIVES_AMOUNT);
        sharesChainToken.mintToken(_miningPoolHolder, MINING_POOL_AMOUNT);
        sharesChainToken.mintToken(_operationHolder, OPERATION_AMOUNT);
    }

    /**
     * Fallback function
     *
     * @dev If anybody sends Ether directly to this  contract, consider he is getting SharesChain token
     */
    function () public payable {
        buySCTK(msg.sender, msg.value);
    }


    /// @dev Exchange msg.value ether to SCTK for account receiver
    /// @param receiver SCTK tokens receiver
    function buySCTK(address receiver, uint costEth)
        private
        notHalted
        isOpen
        initialized
        inWhiteList(receiver)
        ceilingEtherNotReached(costEth)
        notEarlierThan(startTime)
        returns (bool)
    {
        require(receiver != 0x0);
        require(costEth >= 1 ether);

        // Do not allow contracts to game the system
        require(!isContract(receiver));

        if (lockedTokens[receiver] == 0) {
            numFunders++;
            investors.push(receiver);
            leftReleaseTimes[receiver] = MAX_UN_LOCK_TIMES; // 禁止在执行解锁之后重新启动众筹
        }

        // 根据投资者输入的以太坊数量确定赠送的SCTK数量
        uint gotTokens = calculateGotTokens(costEth);

        // 累计预售的Token不能超过最大预售量
        require(preSoldTokens.add(gotTokens) <= MAX_PRE_SALE_AMOUNT);
        lockedTokens[receiver] = lockedTokens[receiver].add(gotTokens);
        preSoldTokens = preSoldTokens.add(gotTokens);
        crowdEther = crowdEther.add(costEth);
        walletOwnerAddress.transfer(costEth);
        NewSale(receiver, costEth, gotTokens);
        return true;
    }


    /// @dev Set white list in batch.
    function setWhiteListInBatch(address[] users)
        public
        onlyOwner
    {
        for (uint i = 0; i < users.length; i++) {
            whiteList[users[i]] = true;
        }
    }

    /// @dev  Add one user into white list.
    function addOneUserIntoWhiteList(address user)
        public
        onlyOwner
    {
        whiteList[user] = true;
    }

    /// query locked tokens
    function queryLockedTokens(address user) public view returns(uint) {
        return lockedTokens[user];
    }


    // 根据投资者输入的以太坊数量确定赠送的SCTK数量
    function calculateGotTokens(uint costEther) pure internal returns (uint gotTokens) {
        gotTokens = costEther * EXCHANGE_RATE;
        if (costEther > 0 && costEther < 100 ether) {
            gotTokens = gotTokens.mul(1);
        }else if (costEther >= 100 ether && costEther < 500 ether) {
            gotTokens = gotTokens.mul(115).div(100);
        }else {
            gotTokens = gotTokens.mul(130).div(100);
        }
        return gotTokens;
    }

    /// @dev Emergency situation that requires contribution period to stop.
    /// Contributing not possible anymore.
    function halt() public onlyOwner {
        halted = true;
    }

    /// @dev Emergency situation resolved.
    /// Contributing becomes possible again withing the outlined restrictions.
    function unHalt() public onlyOwner {
        halted = false;
    }

    /// Stop crowding, cannot re-start.
    function stopCrowding() public onlyOwner {
        close = true;
    }

    /// @dev Emergency situation
    function changeWalletOwnerAddress(address newWalletAddress) public onlyWalletOwner {
        walletOwnerAddress = newWalletAddress;
    }


    /// @dev Internal function to determine if an address is a contract
    /// @param _addr The address being queried
    /// @return True if `_addr` is a contract
    function isContract(address _addr) constant internal returns(bool) {
        uint size;
        if (_addr == 0) {
            return false;
        }
        assembly {
            size := extcodesize(_addr)
        }
        return size > 0;
    }


    function releaseRestPreSaleTokens()
        public
        onlyOwner
        isClose
    {
        uint unSoldTokens = MAX_PRE_SALE_AMOUNT - preSoldTokens;
        sharesChainToken.mintToken(OPERATION_HOLDER, unSoldTokens);
    }

    /*
     * PUBLIC FUNCTIONS
     */

    /// Manually unlock 10% total tokens
    function unlock10PercentTokensInBatch()
        public
        onlyOwner
        isClose
        returns (bool)
    {
        for (uint8 i = 0; i < investors.length; i++) {
            if (leftReleaseTimes[investors[i]] > 0) {
                uint releasedTokens = lockedTokens[investors[i]] / leftReleaseTimes[investors[i]];
                sharesChainToken.mintToken(investors[i], releasedTokens);
                lockedTokens[investors[i]] = lockedTokens[investors[i]] - releasedTokens;
                leftReleaseTimes[investors[i]] = leftReleaseTimes[investors[i]] - 1;
            }
        }
        return true;
    }
}

Contract ABI

[{"constant":true,"inputs":[],"name":"preSoldTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_HOLDER","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"EXCHANGE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whiteList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINING_POOL_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"close","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_PRE_SALE_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlock10PercentTokensInBatch","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unHalt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"OPERATION_HOLDER","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseRestPreSaleTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_UN_LOCK_TIMES","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OPERATION_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"users","type":"address[]"}],"name":"setWhiteListInBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"}],"name":"addOneUserIntoWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"walletOwnerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TOTAL_TOKEN_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numFunders","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"queryLockedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_CROWD_FUNDING_ETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINING_POOL_HOLDER","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newWalletAddress","type":"address"}],"name":"changeWalletOwnerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_INCENTIVES_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sharesChainToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopCrowding","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_walletOwnerAddress","type":"address"},{"name":"_startTime","type":"uint256"},{"name":"_teamHolder","type":"address"},{"name":"_miningPoolHolder","type":"address"},{"name":"_operationHolder","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"destAddress","type":"address"},{"indexed":false,"name":"ethCost","type":"uint256"},{"indexed":false,"name":"gotTokens","type":"uint256"}],"name":"NewSale","type":"event"}]

Contract Creation Code

6060604052341561000f57600080fd5b60405160c080611ab083398101604052808051919060200180519190602001805191906020018051919060200180519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925086161515905061007857600080fd5b60008054600160a060020a0319908116600160a060020a03898116919091178355600e805461ffff191690556005805483168983161790556006879055600883905560099290925560028054821686841617905560038054821685841617905560048054909116918316919091179055306100f1610313565b600160a060020a039091168152602001604051809103906000f080151561011757600080fd5b60078054600160a060020a031916600160a060020a039283161790819055166379c65068846b06765c793fa10079d00000006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156101ae57600080fd5b6102c65a03f115156101bf57600080fd5b50505060405180515050600754600160a060020a03166379c65068836b19d971e4fe8401e7400000006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561024d57600080fd5b6102c65a03f1151561025e57600080fd5b50505060405180515050600754600160a060020a03166379c65068826b06765c793fa10079d00000006000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156102ec57600080fd5b6102c65a03f115156102fd57600080fd5b5050506040518051905050505050505050610323565b60405161073b8061137583390190565b611043806103326000396000f3006060604052600436106101875763ffffffff60e060020a60003504166307d20edc81146101945780631358937f146101b957806314a8bd0d146101e857806323f02f56146101fb578063372c12b11461020e578063431bff741461024157806343d726d6146102545780634e2e94f714610241578063571af13b146102675780635ed7ca5b1461027a57806376865eea1461028f57806378b290b5146102a257806378e97925146102b557806379ba5097146102c85780638da5cb5b146102db5780639140f6ee146102ee57806392c70af114610301578063944ea4771461032a57806396c0fb8b1461033d578063a0b061901461038c578063a0df9538146103ab578063a6f9dae1146103be578063a89c5be0146103dd578063b9632689146103f0578063b9b8af0b1461041a578063c450a08a1461042d578063c76144871461044c578063c870ef781461045f578063cac9a94e14610472578063d4ee1d9014610491578063d5c2d2b61461032a578063dabbbd0b146104a4578063ff4408ee146104b7575b61019133346104ca565b50005b341561019f57600080fd5b6101a76107a4565b60405190815260200160405180910390f35b34156101c457600080fd5b6101cc6107aa565b604051600160a060020a03909116815260200160405180910390f35b34156101f357600080fd5b6101a76107b9565b341561020657600080fd5b6101a76107c0565b341561021957600080fd5b61022d600160a060020a03600435166107c6565b604051901515815260200160405180910390f35b341561024c57600080fd5b6101a76107db565b341561025f57600080fd5b61022d6107eb565b341561027257600080fd5b61022d6107f9565b341561028557600080fd5b61028d610ada565b005b341561029a57600080fd5b61028d610b04565b34156102ad57600080fd5b6101cc610b2b565b34156102c057600080fd5b6101a7610b3a565b34156102d357600080fd5b61028d610b40565b34156102e657600080fd5b6101cc610b89565b34156102f957600080fd5b61028d610b98565b341561030c57600080fd5b610314610c64565b60405160ff909116815260200160405180910390f35b341561033557600080fd5b6101a7610c69565b341561034857600080fd5b61028d6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610c7995505050505050565b341561039757600080fd5b61028d600160a060020a0360043516610cf2565b34156103b657600080fd5b6101cc610d31565b34156103c957600080fd5b61028d600160a060020a0360043516610d40565b34156103e857600080fd5b6101a7610d8a565b34156103fb57600080fd5b610403610d9a565b60405161ffff909116815260200160405180910390f35b341561042557600080fd5b61022d610dbc565b341561043857600080fd5b6101a7600160a060020a0360043516610dc5565b341561045757600080fd5b6101a7610de0565b341561046a57600080fd5b6101cc610dee565b341561047d57600080fd5b61028d600160a060020a0360043516610dfd565b341561049c57600080fd5b6101cc610e47565b34156104af57600080fd5b6101cc610e56565b34156104c257600080fd5b61028d610e65565b600e54600090819060ff16156104df57600080fd5b600e54610100900460ff16156104f457600080fd5b600554600160a060020a0316151561050b57600080fd5b600160a060020a0384166000908152600a6020526040902054849060ff16151561053457600080fd5b8369065a4da25d3016c0000061055582600954610e9190919063ffffffff16565b111561056057600080fd5b600654428190101561057157600080fd5b600160a060020a038716151561058657600080fd5b670de0b6b3a764000086101561059b57600080fd5b6105a487610ea7565b156105ae57600080fd5b600160a060020a0387166000908152600d6020526040902054151561067a5760078054600161ffff74010000000000000000000000000000000000000000808404821683019091160275ffff00000000000000000000000000000000000000001990921691909117909155600b80549091810161062b8382610fcd565b5060009182526020808320919091018054600160a060020a038b1673ffffffffffffffffffffffffffffffffffffffff1990911681179091558252600c905260409020805460ff1916600a1790555b61068386610ed4565b93506b19d971e4fe8401e7400000006106a785600854610e9190919063ffffffff16565b11156106b257600080fd5b600160a060020a0387166000908152600d60205260409020546106db908563ffffffff610e9116565b600160a060020a0388166000908152600d6020526040902055600854610707908563ffffffff610e9116565b60085560095461071d908763ffffffff610e9116565b600955600554600160a060020a031686156108fc0287604051600060405180830381858888f19350505050151561075357600080fd5b86600160a060020a03167fa3ed4207b1480804a4590a74f4b9cc310dc0fc839af8d10e2141ca3b72fd9348878660405191825260208201526040908101905180910390a25060019695505050505050565b60085481565b600254600160a060020a031681565b6203214881565b60095481565b600a6020526000908152604090205460ff1681565b6b19d971e4fe8401e74000000081565b600e54610100900460ff1681565b600080548190819033600160a060020a0390811691161461081957600080fd5b600e54610100900460ff16151561082f57600080fd5b600091505b600b5460ff83161015610ad1576000600c6000600b8560ff1681548110151561085957fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161115610ac657600c6000600b8460ff1681548110151561089d57fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812054600b805460ff92831693600d939092919087169081106108de57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205481151561090c57fe5b600754600b8054939092049350600160a060020a0316916379c65068919060ff861690811061093757fe5b6000918252602082200154600160a060020a03169084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561099857600080fd5b6102c65a03f115156109a957600080fd5b505050604051805190505080600d6000600b8560ff168154811015156109cb57fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812054600b80549390910392600d92919060ff8716908110610a0b57fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812091909155600b8054600192600c92909160ff8716908110610a4c57fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812054600b805460ff9283169490940393600c93928716908110610a8e57fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff191660ff929092169190911790555b600190910190610834565b60019250505090565b60005433600160a060020a03908116911614610af557600080fd5b600e805460ff19166001179055565b60005433600160a060020a03908116911614610b1f57600080fd5b600e805460ff19169055565b600454600160a060020a031681565b60065481565b60015433600160a060020a0390811691161415610b87576001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b600054600160a060020a031681565b6000805433600160a060020a03908116911614610bb457600080fd5b600e54610100900460ff161515610bca57600080fd5b506008546007546004546b19d971e4fe8401e7400000009290920391600160a060020a03918216916379c6506891168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610c4657600080fd5b6102c65a03f11515610c5757600080fd5b5050506040518051505050565b600a81565b6b06765c793fa10079d000000081565b6000805433600160a060020a03908116911614610c9557600080fd5b5060005b8151811015610cee576001600a6000848481518110610cb457fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610c99565b5050565b60005433600160a060020a03908116911614610d0d57600080fd5b600160a060020a03166000908152600a60205260409020805460ff19166001179055565b600554600160a060020a031681565b60005433600160a060020a03908116911614610d5b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6b409f9cbc7c4a04c22000000081565b60075474010000000000000000000000000000000000000000900461ffff1681565b600e5460ff1681565b600160a060020a03166000908152600d602052604090205490565b69065a4da25d3016c0000081565b600354600160a060020a031681565b60055433600160a060020a03908116911614610e1857600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600154600160a060020a031681565b600754600160a060020a031681565b60005433600160a060020a03908116911614610e8057600080fd5b600e805461ff001916610100179055565b600082820183811015610ea057fe5b9392505050565b600080600160a060020a0383161515610ec35760009150610ece565b823b90506000811191505b50919050565b620321488102600082118015610ef2575068056bc75e2d6310000082105b15610f0f57610f0881600163ffffffff610f7516565b9050610f70565b68056bc75e2d631000008210158015610f305750681b1ae4d6e2ef50000082105b15610f5757610f086064610f4b83607363ffffffff610f7516565b9063ffffffff610f9916565b610f6d6064610f4b83608263ffffffff610f7516565b90505b919050565b6000828202831580610f915750828482811515610f8e57fe5b04145b1515610ea057fe5b600080808311610fa557fe5b8284811515610fb057fe5b0490508284811515610fbe57fe5b068184020184141515610ea057fe5b815481835581811511610ff157600083815260209020610ff1918101908301610ff6565b505050565b61101491905b808211156110105760008155600101610ffc565b5090565b905600a165627a7a723058206742056ca8d9fa8478b9e60470fa65528ce5f60a632543ed34dda643a28e30fa00296060604052341561000f57600080fd5b60405160208061073b8339810160405280805160038054600160a060020a03909216600160a060020a031990921691909117905550506106e7806100546000396000f3006060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be5780630754617214610148578063095ea7b31461017757806318160ddd146101ad57806323b872dd146101d2578063313ce567146101fa57806370a082311461020d57806379c650681461022c57806395d89b411461024e578063a89c5be014610261578063a9059cbb14610274578063dd62ed3e14610296575b600080fd5b34156100c957600080fd5b6100d16102bb565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010d5780820151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015357600080fd5b61015b6102f2565b604051600160a060020a03909116815260200160405180910390f35b341561018257600080fd5b610199600160a060020a0360043516602435610301565b604051901515815260200160405180910390f35b34156101b857600080fd5b6101c06103b7565b60405190815260200160405180910390f35b34156101dd57600080fd5b610199600160a060020a03600435811690602435166044356103bd565b341561020557600080fd5b6101c06104be565b341561021857600080fd5b6101c0600160a060020a03600435166104c3565b341561023757600080fd5b610199600160a060020a03600435166024356104de565b341561025957600080fd5b6100d161058a565b341561026c57600080fd5b6101c06105c1565b341561027f57600080fd5b610199600160a060020a03600435166024356105d1565b34156102a157600080fd5b6101c0600160a060020a036004358116906024351661067a565b60408051908101604052601081527f536861726573436861696e546f6b656e00000000000000000000000000000000602082015281565b600354600160a060020a031681565b60006040604436101561031357600080fd5b8215806103435750600160a060020a03338116600090815260026020908152604080832093881683529290522054155b151561034b57fe5b600160a060020a03338116600081815260026020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5092915050565b60005481565b6000606060643610156103cf57600080fd5b600160a060020a03851660009081526001602052604090205483901080159061041f5750600160a060020a0380861660009081526002602090815260408083203390941683529290522054839010155b156104b157600160a060020a03808516600081815260016020908152604080832080548901905589851680845281842080548a90039055600283528184203390961684529490915290819020805487900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191506104b6565b600091505b509392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a039081169116146104f957fe5b816b409f9cbc7c4a04c22000000061051c826000546106a590919063ffffffff16565b111561052457fe5b600054610537908463ffffffff6106a516565b6000908155600160a060020a038516815260016020526040902054610562908463ffffffff6106a516565b600160a060020a03851660009081526001602081905260409091209190915591505092915050565b60408051908101604052600481527f5343544b00000000000000000000000000000000000000000000000000000000602082015281565b6b409f9cbc7c4a04c22000000081565b6000604060443610156105e357600080fd5b600160a060020a03331660009081526001602052604090205483901061067157600160a060020a033381166000818152600160205260408082208054889003905592871680825290839020805487019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191506103b0565b600091506103b0565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6000828201838110156106b457fe5b93925050505600a165627a7a72305820273e4c16741436dca23ae5a0de356cf68f59ecd8b989be656fc6e6fa8d78bca6002900000000000000000000000053c4ac4cc6173cd49573f7c641350acd4d63c0300000000000000000000000005f3f130e5d399247c29738b16d7bff746f24cf27000000000000000000000000000000000000000000000000000000005aa7f580000000000000000000000000f6519f1fad76dc335a9817d176972ee7002bb44e000000000000000000000000742145dd89df55e19d9898a40bf9ec0ce4520a74000000000000000000000000070332da74385047f247b4e3ae67fcc4358e57fb

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

00000000000000000000000053c4ac4cc6173cd49573f7c641350acd4d63c0300000000000000000000000005f3f130e5d399247c29738b16d7bff746f24cf27000000000000000000000000000000000000000000000000000000005aa7f580000000000000000000000000f6519f1fad76dc335a9817d176972ee7002bb44e000000000000000000000000742145dd89df55e19d9898a40bf9ec0ce4520a74000000000000000000000000070332da74385047f247b4e3ae67fcc4358e57fb

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000053c4ac4cc6173cd49573f7c641350acd4d63c030
Arg [1] : 0000000000000000000000005f3f130e5d399247c29738b16d7bff746f24cf27
Arg [2] : 000000000000000000000000000000000000000000000000000000005aa7f580
Arg [3] : 000000000000000000000000f6519f1fad76dc335a9817d176972ee7002bb44e
Arg [4] : 000000000000000000000000742145dd89df55e19d9898a40bf9ec0ce4520a74
Arg [5] : 000000000000000000000000070332da74385047f247b4e3ae67fcc4358e57fb

Swarm Source

bzzr://273e4c16741436dca23ae5a0de356cf68f59ecd8b989be656fc6e6fa8d78bca6
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.