Sponsored Link: DCORP - Stock Market - Derivatives Exchange on the Blockchain - Join the ICO Now!
Contract Overview
ETH Balance: 102.39968792 Ether
ETH USD Value: $33,167.26 (@ $323.90/ETH)
No Of Transactions: 106 txns + 52 internalTxns
  Latest 25 txns from a total Of 106 transactions View All

TxHash Block Age From To Value [TxFee]
0x9518da1a0adde3565f8d916084996f3599eb20095df5986c17aadd0ca2854c1538698199 days 14 hrs ago0xff2694cd9ca6a72c7864749072fab8db6090a1ca  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.0010255
0x45dcbb38de3d114b9da2cc95591fceed8183cdc605dff8499546623395f962af385841611 days 18 hrs ago0x60f297644bddf49885ffa59a5080b14a842f6931  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0x2c980aafcecf6757673e810d96ed13c789637d7f056fce312085c4689f03e23d382682417 days 18 hrs ago0x489b3f604624feafebe44ea247e3e5ee45963ae3  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00049377
0xc6f5508ee5c34e7defdc652aa30dde6d78f955989b08c8f0d8361abda6860abb381068320 days 21 hrs ago0x60fec4d4731772b85ff0990198eb9bbe0885275a  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00049377
0x18ef9248a01f23965962386a82667eab991d58ba8c83101cf8a0cb5590cebbb8381067820 days 21 hrs ago0x1203c41ae7469b837b340870ce4f2205b035e69f  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0x0628a679796b17eb1284cdd7bf61dea4a9a27e788878c2fc45ec2ab00a787f46379575923 days 17 hrs ago0xcb5a0bc5efc931c336fa844c920e070e6fc4e6ee  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0x0eeb8add40bd89421ce80d8e2362cb4211ad75c94febde33870abbcb79812194378859425 days 11 mins ago0xc83ce4e0d62c3497dd8b4eb6250053d5ffc024b8  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.0004102
0x8e3344f39c2fa1dea3aaa98a4ee1d9e745115af5f17a7f0c852aab24ea0e9767377069428 days 6 hrs ago0xe902741cd4666e4023b7e3ab46d3de2985c996f1  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0x8c6359032fcdbc6bfbc190df958d7521799e35f53cee377f69a8cc2b36ef0691376558429 days 4 hrs ago0x83c201484fe80256beb3a7bf41a8addd92234444  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0x1fcc6ab1f0ea8b3dcdd2b8b708791e4e912d7669312171f4fdc2b26b1a375b3f375903330 days 9 hrs ago0xd99c11895789edabab4505f0b6260b27e5b8e27d  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0xd93a8d721daafba08e7a2b9b64ecb0700a167096c16909d21851238aad9feca8375856030 days 11 hrs ago0x3a848a0c9b3979ab9b1e54e5c67b2e540c29fc3c  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0x12c54bed5e026ea5e7fd36b19e90fe5fa617013fe664ab4ef1f90b8a32c1ff7b375663930 days 20 hrs ago0xeaf92113f4e8de35b9deb2d742b1746f1a8aa155  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0x49e7efda4f2a22d653c12b46af6b06a7aa122d5b354393ddeb5eef5a24c217b3375506931 days 3 hrs ago0x19c2f640996f740448eaa48cfda50fe2ad356902  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0xe207c86c4f1bc5a6195cc43cc369064fbe9d6585c1fc62cb51e39ac9b8e15713375465131 days 5 hrs ago0x8bbac3e58c628add0b59efc2aea2a06eaed9a311  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00084353
0x5863ed34479b3aa84fcba9c6a4c24a1378ed0a8c9f74558b49ce41a2f0538042375417031 days 7 hrs ago0xeefcd01087281d035ece6a3bc369eb3afafc4cec  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0xd6bc32c65a83d61177ed7deab9fbc789fe25b85dc4b74db7f9aa8268f165df57375181331 days 17 hrs ago0x489b3f604624feafebe44ea247e3e5ee45963ae3  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00074167
0x61e01e13f4d53fc6650a422c77c532b8c96e8c3d218dade6508cc718c3267a2a374886832 days 6 hrs ago0xf5cdf339de573c51b25bf55ccb85821c440315b9  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0x53727218e981236f0a8556d134b9bd99b5f8bac1942952422e5205f7efdc58fc374449633 days 1 hr ago0x1804c47dec9be435c8edffc92e20c7d3fbae3909  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0xfa5369e25e4d88f3fd47a6c8b40b08ac71bc0d4cd006d261bbae51b7711d8767373701934 days 10 hrs ago0xe0b9c253b9040b12f4aa8eb7b42d91adb6653566  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0x5492a901514bf6f72eed46d3186ec6623422d6af1f12659a430154146cfbd304373389535 days 43 mins ago0xd663be6b87a992c5245f054d32c7f5e99f5acc47  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043205
0xac9828b7075a991695342ec54156b0ea9443ac04eadc95b1d2f98d119ff53bd9372804836 days 2 hrs ago0xb8540d00fdcadd494d53a62429c26c5dd46b812d  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043339
0xc8da21efac3c9181ebc1eecef3f8ebd9de7ef9da5c7e72de18b993dcca043286372726936 days 5 hrs ago0xaa8b781576c2275c3db5a1e16d239b6a060173d6  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0x068f8a2b08fe8d76d4a9b3f261ac69c858e62ec5c983de6160ec3ee684a4b863372648336 days 9 hrs ago0xb1d7ba92d19ba98c105090fdf66bc54dcdf5363a  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00022561
0x729899298e0d34de0946f2be5ecb215eba682ee42e00d2472445503337bd8b1e372597236 days 11 hrs ago0x8efdb5ee103c2295dab1410b4e3d1ed7a91584d4  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071
0xe53cd29992b1eeacc4167477e8beaf8adbca7cf46383cffd9f7afc9915de3a1c372432736 days 18 hrs ago0x6f92d0c2938f1e35268cb0edd16294565b95b816  IN   0x812ade7bc90c34e8b2ca92590e525305c85f2d030 Ether0.00043071

[Download: CSV Export ]    
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns from a total of 52 View All
ParentTxHash Block Age From To Value
0x9518da1a0adde3565f8d916084996f3599eb20095df5986c17aadd0ca2854c1538698199 days 14 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xff2694cd9ca6a72c7864749072fab8db6090a1ca10 Ether
0x45dcbb38de3d114b9da2cc95591fceed8183cdc605dff8499546623395f962af385841611 days 18 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x60f297644bddf49885ffa59a5080b14a842f69316 Ether
0x2c980aafcecf6757673e810d96ed13c789637d7f056fce312085c4689f03e23d382682417 days 18 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x489b3f604624feafebe44ea247e3e5ee45963ae32.999999997 Ether
0xc6f5508ee5c34e7defdc652aa30dde6d78f955989b08c8f0d8361abda6860abb381068320 days 21 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x60fec4d4731772b85ff0990198eb9bbe0885275a3.16193757 Ether
0x18ef9248a01f23965962386a82667eab991d58ba8c83101cf8a0cb5590cebbb8381067820 days 21 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x1203c41ae7469b837b340870ce4f2205b035e69f5 Ether
0x0628a679796b17eb1284cdd7bf61dea4a9a27e788878c2fc45ec2ab00a787f46379575923 days 17 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xcb5a0bc5efc931c336fa844c920e070e6fc4e6ee0.27371429 Ether
0x0eeb8add40bd89421ce80d8e2362cb4211ad75c94febde33870abbcb79812194378859425 days 11 mins ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xc83ce4e0d62c3497dd8b4eb6250053d5ffc024b81 Ether
0x8e3344f39c2fa1dea3aaa98a4ee1d9e745115af5f17a7f0c852aab24ea0e9767377069428 days 6 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xe902741cd4666e4023b7e3ab46d3de2985c996f10.647 Ether
0x8c6359032fcdbc6bfbc190df958d7521799e35f53cee377f69a8cc2b36ef0691376558429 days 4 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x83c201484fe80256beb3a7bf41a8addd9223444421 Ether
0x1fcc6ab1f0ea8b3dcdd2b8b708791e4e912d7669312171f4fdc2b26b1a375b3f375903330 days 9 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xd99c11895789edabab4505f0b6260b27e5b8e27d102 Ether
0xd93a8d721daafba08e7a2b9b64ecb0700a167096c16909d21851238aad9feca8375856030 days 11 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x3a848a0c9b3979ab9b1e54e5c67b2e540c29fc3c1 Ether
0x12c54bed5e026ea5e7fd36b19e90fe5fa617013fe664ab4ef1f90b8a32c1ff7b375663930 days 20 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xeaf92113f4e8de35b9deb2d742b1746f1a8aa1551.90958 Ether
0x49e7efda4f2a22d653c12b46af6b06a7aa122d5b354393ddeb5eef5a24c217b3375506931 days 3 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x19c2f640996f740448eaa48cfda50fe2ad3569026.8 Ether
0xe207c86c4f1bc5a6195cc43cc369064fbe9d6585c1fc62cb51e39ac9b8e15713375465131 days 5 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x8bbac3e58c628add0b59efc2aea2a06eaed9a31120 Ether
0x5863ed34479b3aa84fcba9c6a4c24a1378ed0a8c9f74558b49ce41a2f0538042375417031 days 7 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xeefcd01087281d035ece6a3bc369eb3afafc4cec1 Ether
0xd6bc32c65a83d61177ed7deab9fbc789fe25b85dc4b74db7f9aa8268f165df57375181331 days 17 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x489b3f604624feafebe44ea247e3e5ee45963ae30.000000003 Ether
0x61e01e13f4d53fc6650a422c77c532b8c96e8c3d218dade6508cc718c3267a2a374886832 days 6 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xf5cdf339de573c51b25bf55ccb85821c440315b932 Ether
0x53727218e981236f0a8556d134b9bd99b5f8bac1942952422e5205f7efdc58fc374449633 days 1 hr ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x1804c47dec9be435c8edffc92e20c7d3fbae39091 Ether
0xfa5369e25e4d88f3fd47a6c8b40b08ac71bc0d4cd006d261bbae51b7711d8767373701934 days 10 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xe0b9c253b9040b12f4aa8eb7b42d91adb665356611 Ether
0x5492a901514bf6f72eed46d3186ec6623422d6af1f12659a430154146cfbd304373389535 days 43 mins ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xd663be6b87a992c5245f054d32c7f5e99f5acc4750 Ether
0xac9828b7075a991695342ec54156b0ea9443ac04eadc95b1d2f98d119ff53bd9372804836 days 2 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xb8540d00fdcadd494d53a62429c26c5dd46b812d24.9979 Ether
0xc8da21efac3c9181ebc1eecef3f8ebd9de7ef9da5c7e72de18b993dcca043286372726936 days 5 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xaa8b781576c2275c3db5a1e16d239b6a060173d610 Ether
0x068f8a2b08fe8d76d4a9b3f261ac69c858e62ec5c983de6160ec3ee684a4b863372648336 days 9 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030xb1d7ba92d19ba98c105090fdf66bc54dcdf5363a3 Ether
0x729899298e0d34de0946f2be5ecb215eba682ee42e00d2472445503337bd8b1e372597236 days 11 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x8efdb5ee103c2295dab1410b4e3d1ed7a91584d42 Ether
0xe53cd29992b1eeacc4167477e8beaf8adbca7cf46383cffd9f7afc9915de3a1c372432736 days 18 hrs ago0x812ade7bc90c34e8b2ca92590e525305c85f2d030x6f92d0c2938f1e35268cb0edd16294565b95b8161 Ether

[Download: CSV Export ]    
Warning: The compiled contract might be susceptible to SkipEmptyStringLiteral (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: SikobaPresale
Compiler Version: v0.4.10+commit.f0d539ae
Optimization Enabled: No
Online Solidity Editor:  -NA-



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.8;

/**
 * SIKOBA PRESALE CONTRACTS
 *
 * Version 0.1
 *
 * Author Roland Kofler, Alex Kampa, Bok 'BokkyPooBah' Khoo
 *
 * MIT LICENSE Copyright 2017 Sikoba Ltd
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 **/


/**
 *
 * Important information about the Sikoba token presale
 *
 * For details about the Sikoba token presale, and in particular to find out
 * about risks and limitations, please visit:
 *
 * http://www.sikoba.com/www/presale/index.html
 *
 **/


contract Owned {
    address public owner;

    function Owned() {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        if (msg.sender != owner) {
            throw;
        }
        _;
    }
}

/// ----------------------------------------------------------------------------------------
/// @title Sikoba Presale Contract
/// @author Roland Kofler, Alex Kampa, Bok 'Bokky Poo Bah' Khoo
/// @dev Changes to this contract will invalidate any security audits done before.
/// It is MANDATORY to protocol audits in the "Security reviews done" section
///  # Security checklists to use in each review:
///  - Consensys checklist https://github.com/ConsenSys/smart-contract-best-practices
///  - Roland Kofler's checklist https://github.com/rolandkofler/ether-security
///  - Read all of the code and use creative and lateral thinking to discover bugs
///  # Security reviews done:
///  Date         Auditors       Short summary of the review executed
///  Mar 03 2017 - Roland Kofler  - NO SECURITY REVIEW DONE
///  Mar 07 2017 - Roland Kofler, - Informal Security Review; added overflow protections;
///                Alex Kampa       fixed wrong inequality operators; added maximum amount
///                                 per transactions
///  Mar 07 2017 - Alex Kampa     - Some code clean up; removed restriction of
///                                 MINIMUM_PARTICIPATION_AMOUNT for preallocations
///  Mar 08 2017 - Bok Khoo       - Complete security review and modifications
///  Mar 09 2017 - Roland Kofler  - Check the diffs between MAR 8 and MAR 7 versions
///  Mar 12 2017 - Bok Khoo       - Renamed TOTAL_PREALLOCATION_IN_WEI
///                                 to TOTAL_PREALLOCATION.
///                                 Removed isPreAllocation from addBalance(...)
///  Mar 13 2017 - Bok Khoo       - Made dates in comments consistent
///  Apr 05 2017 - Roland Kofler  - removed the necessity of presale end before withdrawing
///                                 thus price drops during presale can be mitigated
///  Apr 24 2017 - Alex Kampa     - edited constants and added pre-allocation amounts
///                                 
/// ----------------------------------------------------------------------------------------
contract SikobaPresale is Owned {
    // -------------------------------------------------------------------------------------
    // TODO Before deployment of contract to Mainnet
    // 1. Confirm MINIMUM_PARTICIPATION_AMOUNT and MAXIMUM_PARTICIPATION_AMOUNT below
    // 2. Adjust PRESALE_MINIMUM_FUNDING and PRESALE_MAXIMUM_FUNDING to desired EUR
    //    equivalents
    // 3. Adjust PRESALE_START_DATE and confirm the presale period
    // 4. Update TOTAL_PREALLOCATION to the total preallocations received
    // 5. Add each preallocation address and funding amount from the Sikoba bookmaker
    //    to the constructor function
    // 6. Test the deployment to a dev blockchain or Testnet to confirm the constructor
    //    will not run out of gas as this will vary with the number of preallocation
    //    account entries
    // 7. A stable version of Solidity has been used. Check for any major bugs in the
    //    Solidity release announcements after this version.
    // 8. Remember to send the preallocated funds when deploying the contract!
    // -------------------------------------------------------------------------------------

    // Keep track of the total funding amount
    uint256 public totalFunding;

    // Minimum and maximum amounts per transaction for public participants
    uint256 public constant MINIMUM_PARTICIPATION_AMOUNT =   1 ether;
    uint256 public constant MAXIMUM_PARTICIPATION_AMOUNT = 250 ether;

    // Minimum and maximum goals of the presale
    uint256 public constant PRESALE_MINIMUM_FUNDING = 4000 ether;
    uint256 public constant PRESALE_MAXIMUM_FUNDING = 8000 ether;

    // Total preallocation in wei
    uint256 public constant TOTAL_PREALLOCATION = 496.46472668 ether;

    // Public presale period
    // Starts Apr 25 2017 @ 12:00pm (UTC) 2017-04-05T12:00:00+00:00 in ISO 8601
    // Ends May 15 2017 @ 12:00pm (UTC) 2017-05-15T12:00:00+00:00 in ISO 8601
    uint256 public constant PRESALE_START_DATE = 1493121600;
    uint256 public constant PRESALE_END_DATE = 1494849600;

    // Owner can clawback after a date in the future, so no ethers remain
    // trapped in the contract. This will only be relevant if the
    // minimum funding level is not reached
    // Jan 01 2018 @ 12:00pm (UTC) 2018-01-01T12:00:00+00:00 in ISO 8601
    uint256 public constant OWNER_CLAWBACK_DATE = 1514808000;

    /// @notice Keep track of all participants contributions, including both the
    ///         preallocation and public phases
    /// @dev Name complies with ERC20 token standard, etherscan for example will recognize
    ///      this and show the balances of the address
    mapping (address => uint256) public balanceOf;

    /// @notice Log an event for each funding contributed during the public phase
    /// @notice Events are not logged when the constructor is being executed during
    ///         deployment, so the preallocations will not be logged
    event LogParticipation(address indexed sender, uint256 value, uint256 timestamp);

    function SikobaPresale () payable {
        assertEquals(TOTAL_PREALLOCATION, msg.value);
        // Pre-allocations
        addBalance(0xe902741cD4666E4023b7E3AB46D3DE2985c996f1, 0.647 ether);
        addBalance(0x98aB52E249646cA2b013aF8F2E411bB90C1c9b4d, 66.98333494 ether);
        addBalance(0x7C6003EDEB99886E8D65b5a3AF81Cd82962266f6, 1.0508692 ether);
        addBalance(0x7C6003EDEB99886E8D65b5a3AF81Cd82962266f6, 1.9491308 ether);
        addBalance(0x99a4f90e16C043197dA52d5d8c9B36A106c27042, 13 ether);
        addBalance(0x452F7faa5423e8D38435FFC5cFBA6Da806F159a5, 0.412 ether);
        addBalance(0x7FEA1962E35D62059768C749bedd96cAB930D378, 127.8142 ether);
        addBalance(0x0bFEc3578B7174997EFBf145b8d5f5b5b66F273f, 10 ether);
        addBalance(0xB4f14EDd0e846727cAe9A4B866854ed1bfE95781, 110 ether);
        addBalance(0xB6500cebED3334DCd9A5484D27a1986703BDcB1A, 0.9748227 ether);
        addBalance(0x8FBCE39aB5f2664506d6C3e3CD39f8A419784f62, 75.1 ether);
        addBalance(0x665A816F54020a5A255b366b7763D5dfE6f87940, 9 ether);
        addBalance(0x665A816F54020a5A255b366b7763D5dfE6f87940, 12 ether);
        addBalance(0x9cB37d0Ae943C8B4256e71F98B2dD0935e89344f, 10 ether);
        addBalance(0x00F87D9949B8E96f7c70F9Dd5a6951258729c5C3, 22.24507475 ether);
        addBalance(0xFf2694cd9Ca6a72C7864749072Fab8DB6090a1Ca, 10 ether);
        addBalance(0xCb5A0bC5EfC931C336fa844C920E070E6fc4e6ee, 0.27371429 ether);
        addBalance(0xd956d333BF4C89Cb4e3A3d833610817D8D4bedA3, 1 ether);
        addBalance(0xBA43Bbd58E0F389B5652a507c8F9d30891750C00, 2 ether);
        addBalance(0x1203c41aE7469B837B340870CE4F2205b035E69F, 5 ether);
        addBalance(0x8efdB5Ee103c2295dAb1410B4e3d1eD7A91584d4, 1 ether);
        addBalance(0xed1B8bbAE30a58Dc1Ce57bCD7DcA51eB75e1fde9, 6.01458 ether);
        addBalance(0x96050f871811344Dd44C2F5b7bc9741Dff296f5e, 10 ether);
        assertEquals(TOTAL_PREALLOCATION, totalFunding);
    }

    /// @notice A participant sends a contribution to the contract's address
    ///         between the PRESALE_STATE_DATE and the PRESALE_END_DATE
    /// @notice Only contributions between the MINIMUM_PARTICIPATION_AMOUNT and
    ///         MAXIMUM_PARTICIPATION_AMOUNT are accepted. Otherwise the transaction
    ///         is rejected and contributed amount is returned to the participant's
    ///         account
    /// @notice A participant's contribution will be rejected if the presale
    ///         has been funded to the maximum amount
    function () payable {
        // A participant cannot send funds before the presale start date
        if (now < PRESALE_START_DATE) throw;
        // A participant cannot send funds after the presale end date
        if (now > PRESALE_END_DATE) throw;
        // A participant cannot send less than the minimum amount
        if (msg.value < MINIMUM_PARTICIPATION_AMOUNT) throw;
        // A participant cannot send more than the maximum amount
        if (msg.value > MAXIMUM_PARTICIPATION_AMOUNT) throw;
        // A participant cannot send funds if the presale has been reached the maximum
        // funding amount
        if (safeIncrement(totalFunding, msg.value) > PRESALE_MAXIMUM_FUNDING) throw;
        // Register the participant's contribution
        addBalance(msg.sender, msg.value);
    }

    /// @notice The owner can withdraw ethers already during presale,
    ///         only if the minimum funding level has been reached
    function ownerWithdraw(uint256 value) external onlyOwner {
        // The owner cannot withdraw if the presale did not reach the minimum funding amount
        if (totalFunding < PRESALE_MINIMUM_FUNDING) throw;
        // Withdraw the amount requested
        if (!owner.send(value)) throw;
    }

    /// @notice The participant will need to withdraw their funds from this contract if
    ///         the presale has not achieved the minimum funding level
    function participantWithdrawIfMinimumFundingNotReached(uint256 value) external {
        // Participant cannot withdraw before the presale ends
        if (now <= PRESALE_END_DATE) throw;
        // Participant cannot withdraw if the minimum funding amount has been reached
        if (totalFunding >= PRESALE_MINIMUM_FUNDING) throw;
        // Participant can only withdraw an amount up to their contributed balance
        if (balanceOf[msg.sender] < value) throw;
        // Participant's balance is reduced by the claimed amount.
        balanceOf[msg.sender] = safeDecrement(balanceOf[msg.sender], value);
        // Send ethers back to the participant's account
        if (!msg.sender.send(value)) throw;
    }

    /// @notice The owner can clawback any ethers after a date in the future, so no
    ///         ethers remain trapped in this contract. This will only be relevant
    ///         if the minimum funding level is not reached
    function ownerClawback() external onlyOwner {
        // The owner cannot withdraw before the clawback date
        if (now < OWNER_CLAWBACK_DATE) throw;
        // Send remaining funds back to the owner
        if (!owner.send(this.balance)) throw;
    }

    /// @dev Keep track of participants contributions and the total funding amount
    function addBalance(address participant, uint256 value) private {
        // Participant's balance is increased by the sent amount
        balanceOf[participant] = safeIncrement(balanceOf[participant], value);
        // Keep track of the total funding amount
        totalFunding = safeIncrement(totalFunding, value);
        // Log an event of the participant's contribution
        LogParticipation(participant, value, now);
    }

    /// @dev Throw an exception if the amounts are not equal
    function assertEquals(uint256 expectedValue, uint256 actualValue) private constant {
        if (expectedValue != actualValue) throw;
    }

    /// @dev Add a number to a base value. Detect overflows by checking the result is larger
    ///      than the original base value.
    function safeIncrement(uint256 base, uint256 increment) private constant returns (uint256) {
        uint256 result = base + increment;
        if (result < base) throw;
        return result;
    }

    /// @dev Subtract a number from a base value. Detect underflows by checking that the result
    ///      is smaller than the original base value
    function safeDecrement(uint256 base, uint256 increment) private constant returns (uint256) {
        uint256 result = base - increment;
        if (result > base) throw;
        return result;
    }
}

  Contract ABI  
[{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"participantWithdrawIfMinimumFundingNotReached","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOTAL_PREALLOCATION","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_PARTICIPATION_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"ownerWithdraw","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_MINIMUM_FUNDING","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"OWNER_CLAWBACK_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_MAXIMUM_FUNDING","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAXIMUM_PARTICIPATION_AMOUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"ownerClawback","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_END_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_START_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalFunding","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":true,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"LogParticipation","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040525b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b62000071681ae9d5068858cbf000346200060b6401000000000262000892176401000000009004565b620000ad73e902741cd4666e4023b7e3ab46d3de2985c996f16708fa9b1271ad80006200062064010000000002620003bb176401000000009004565b620000ea7398ab52e249646ca2b013af8f2e411bb90c1c9b4d6803a1949c3c29b618006200062064010000000002620003bb176401000000009004565b62000126737c6003edeb99886e8d65b5a3af81cd82962266f6670e956ff83b6620006200062064010000000002620003bb176401000000009004565b62000162737c6003edeb99886e8d65b5a3af81cd82962266f6671b0cb422bac5e0006200062064010000000002620003bb176401000000009004565b6200019e7399a4f90e16c043197da52d5d8c9b36a106c2704267b469471f801400006200062064010000000002620003bb176401000000009004565b620001da73452f7faa5423e8d38435ffc5cfba6da806f159a56705b7b7d12f7600006200062064010000000002620003bb176401000000009004565b62000217737fea1962e35d62059768c749bedd96cab930d3786806edc741b61abb80006200062064010000000002620003bb176401000000009004565b62000253730bfec3578b7174997efbf145b8d5f5b5b66f273f678ac7230489e800006200062064010000000002620003bb176401000000009004565b6200029073b4f14edd0e846727cae9a4b866854ed1bfe957816805f68e8131ecf800006200062064010000000002620003bb176401000000009004565b620002cc73b6500cebed3334dcd9a5484d27a1986703bdcb1a670d874414b07cb8006200062064010000000002620003bb176401000000009004565b62000309738fbce39ab5f2664506d6c3e3cd39f8a419784f6268041238cc1a67d600006200062064010000000002620003bb176401000000009004565b6200034573665a816f54020a5a255b366b7763d5dfe6f87940677ce66c50e28400006200062064010000000002620003bb176401000000009004565b6200038173665a816f54020a5a255b366b7763d5dfe6f8794067a688906bd8b000006200062064010000000002620003bb176401000000009004565b620003bd739cb37d0ae943c8b4256e71f98b2dd0935e89344f678ac7230489e800006200062064010000000002620003bb176401000000009004565b620003f972f87d9949b8e96f7c70f9dd5a6951258729c5c3680134b661a02bc2ec006200062064010000000002620003bb176401000000009004565b6200043573ff2694cd9ca6a72c7864749072fab8db6090a1ca678ac7230489e800006200062064010000000002620003bb176401000000009004565b6200047173cb5a0bc5efc931c336fa844c920e070e6fc4e6ee6703cc6db25165f4006200062064010000000002620003bb176401000000009004565b620004ad73d956d333bf4c89cb4e3a3d833610817d8d4beda3670de0b6b3a76400006200062064010000000002620003bb176401000000009004565b620004e973ba43bbd58e0f389b5652a507c8f9d30891750c00671bc16d674ec800006200062064010000000002620003bb176401000000009004565b62000525731203c41ae7469b837b340870ce4f2205b035e69f674563918244f400006200062064010000000002620003bb176401000000009004565b62000561738efdb5ee103c2295dab1410b4e3d1ed7a91584d4670de0b6b3a76400006200062064010000000002620003bb176401000000009004565b6200059d73ed1b8bbae30a58dc1ce57bcd7dca51eb75e1fde967537814a4b52b40006200062064010000000002620003bb176401000000009004565b620005d97396050f871811344dd44c2f5b7bc9741dff296f5e678ac7230489e800006200062064010000000002620003bb176401000000009004565b62000604681ae9d5068858cbf0006001546200060b6401000000000262000892176401000000009004565b5b62000768565b80821415156200061b5760006000fd5b5b5050565b6200067f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482620007456401000000000262000399176401000000009004565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006e460015482620007456401000000000262000399176401000000009004565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167f0d0c0c5120500a67dc7f367c4b7f7afc5a39488be49264d6bd4a6c7e19b245ca8242604051808381526020018281526020019250505060405180910390a25b5050565b600060008284019050838110156200075d5760006000fd5b8091505b5092915050565b6108d280620007786000396000f300606060405236156100ce576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632350e762146101555780632bc402fa146101755780632e87edd91461019b57806333f707d1146101c1578063475ec95a146101e15780635a4a04a714610207578063619622651461022d5780636586bb251461025357806370a08231146102795780638da5cb5b146102c3578063b63e93dc14610315578063b644ee4114610327578063f0b800001461034d578063fe47a8a714610373575b6101535b6358ff3a404210156100e45760006000fd5b63591998404211156100f65760006000fd5b670de0b6b3a764000034101561010c5760006000fd5b680d8d726b7177a800003411156101235760006000fd5b6901b1ae4d6e2ef500000061013a60015434610399565b11156101465760006000fd5b61015033346103bb565b5b565b005b341561015d57fe5b61017360048080359060200190919050506104b4565b005b341561017d57fe5b610185610602565b6040518082815260200191505060405180910390f35b34156101a357fe5b6101ab61060f565b6040518082815260200191505060405180910390f35b34156101c957fe5b6101df600480803590602001909190505061061b565b005b34156101e957fe5b6101f16106fc565b6040518082815260200191505060405180910390f35b341561020f57fe5b610217610709565b6040518082815260200191505060405180910390f35b341561023557fe5b61023d610711565b6040518082815260200191505060405180910390f35b341561025b57fe5b61026361071f565b6040518082815260200191505060405180910390f35b341561028157fe5b6102ad600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061072c565b6040518082815260200191505060405180910390f35b34156102cb57fe5b6102d3610744565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561031d57fe5b61032561076a565b005b341561032f57fe5b61033761085a565b6040518082815260200191505060405180910390f35b341561035557fe5b61035d610862565b6040518082815260200191505060405180910390f35b341561037b57fe5b61038361086a565b6040518082815260200191505060405180910390f35b600060008284019050838110156103b05760006000fd5b8091505b5092915050565b610404600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610399565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061045360015482610399565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167f0d0c0c5120500a67dc7f367c4b7f7afc5a39488be49264d6bd4a6c7e19b245ca8242604051808381526020018281526020019250505060405180910390a25b5050565b6359199840421115156104c75760006000fd5b68d8d726b7177a8000006001541015156104e15760006000fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561052e5760006000fd5b610577600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482610870565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051809050600060405180830381858888f1935050505015156105fe5760006000fd5b5b50565b681ae9d5068858cbf00081565b670de0b6b3a764000081565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106785760006000fd5b68d8d726b7177a80000060015410156106915760006000fd5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051809050600060405180830381858888f1935050505015156106f75760006000fd5b5b5b50565b68d8d726b7177a80000081565b635a4a22c081565b6901b1ae4d6e2ef500000081565b680d8d726b7177a8000081565b60026020528060005260406000206000915090505481565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107c75760006000fd5b635a4a22c04210156107d95760006000fd5b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f1935050505015156108565760006000fd5b5b5b565b635919984081565b6358ff3a4081565b60015481565b600060008284039050838111156108875760006000fd5b8091505b5092915050565b80821415156108a15760006000fd5b5b50505600a165627a7a72305820390a0625f1eb25d4d0aa5c13782ea9c4c4854937d2a46e5862a82fe1bc35c9800029

   Swarm Source:
bzzr://390a0625f1eb25d4d0aa5c13782ea9c4c4854937d2a46e5862a82fe1bc35c980
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward