Sponsored Link:   trade.io - The Future of Crypto Trading - A Better, Faster, Smarter Crypto Exchange - Pre-Register Now!
Contract Overview | FirstBlood
Balance: 0.041 Ether
Ether Value: $20.44 (@ $498.43/ETH)
Transactions: 78593 txns
Token Contract: FirstBlood (ST)
 Latest 25 txns from a total Of 78593 transactions

TxHash Age From To Value [TxFee]
0xf2e8444e87e8a612f178288cd9596c8c301ac1e6e6fc7645786bb18dc1eb31ed17 mins ago0x02127ef33e1adc51c70e4e7b87c009e9be859e8e  IN   FirstBlood0 Ether0.00022776
0xffc619ad894fa0b8b3ff0a64cd3fa4e5f4d09a53dbb50768f760fb2607f6abed19 mins ago0x396c559513cdf3d080f8c140b538e64db0b33acb  IN   FirstBlood0 Ether0.000422208
0x067af4921e98771202550dedc3410b9644cbab6548080855036e1a6268c8d3cd22 mins ago0xed8e8a9f0dc12e657294ea32ed65b5620e1c6441  IN   FirstBlood0 Ether0.000302208
0x3a671b9715e20a4c754c9464d94b92188f0a057351b0d130324507a4bfdc19eb31 mins ago0xbd06185a955f9e124600d4f56d254c31ed362ac0  IN   FirstBlood0 Ether0.001864687
0xad9525d8808d34b088a2843fc5a973a19abbfba10f32e58b9222a58da3a52ce933 mins ago0xc456f8cca211595be64efd1b19895c1e692143ff  IN   FirstBlood0 Ether0.00302208
0x265d6e8191e190f7de6f301ee79521f20fe33d6a3a43165a0c4986557c69c10c1 hr 1 min ago0x88f7d9166370f1d685526cd5e97723ab1ffb6d97  IN   FirstBlood0 Ether0.000745670443
0x923375fb28591ce6c1c60e0ae13679b06ebcd9cc0b72c7967b0d258edc8830991 hr 26 mins agoHitBTC_2  IN   FirstBlood0 Ether0.00075552
0x46e76db1b45c2e98ebd4166c70b92e2f65352ccf98647ed063b66466a3f6187f1 hr 27 mins ago0xa12431d0b9db640034b0cdfceef9cce161e62be4  IN   FirstBlood0 Ether0.00075552
0xf6d63f6bde89ade74c12c79bb3608e6e2602e341972382437f8498f4b0172abc1 hr 55 mins ago0x1db226ba32e42ce31044ae298876d541361b35ba  IN   FirstBlood0 Ether0.00302208
0xd462fb9243dec23ad5b705255df63ab98d7e8a661aab7bdf69ec08f264d961633 hrs 17 mins ago0x4bce2000e958a18d7860bb2484e5ef5a743dfc3c  IN   FirstBlood0 Ether0.00226656
0x7db6737b65d379cdfa9eabd647ba9185d30cd9b57315808895a63897469363cb3 hrs 19 mins ago0x9c9b121fef51be936dce33e97586266999673bda  IN   FirstBlood0 Ether0.0030272
0x526794a34875c8d84913e4f9136032fefd45396a7575ac1a3a55ad9a1b4913454 hrs 15 mins ago0x33e51deaed68f738eee099992d9262e2f4cc834a  IN   FirstBlood0 Ether0.000779572837
0x28f79a569c2c103566527b416a7c3a7684a73b3cf2fda0ab665edee5b70f9bf84 hrs 23 mins agoBittrex  IN   FirstBlood0 Ether0.003784
0x12eb4207a49e356711761e56e2c50a5c726806d285b5224153420710bcce58944 hrs 26 mins agoBittrex  IN   FirstBlood0 Ether0.0037648
0x6c5fc5e28294108275ab426535edb12e9f3bc67ae6a3c5e9715a8f99e09a89ab4 hrs 42 mins ago0x68e368c36fd7e0dda45e2e96268a570096aa1010  IN   FirstBlood0 Ether0.00303232
0x2cb2c8ad9892776d271c8074c94eb6c10d5c44589dcefb0ef4ef879074971ac26 hrs 5 mins ago0x2ca4ea153a2c424a98031bad3bfe49b0ece77a5f  IN   FirstBlood0 Ether0.00303232
0x4c6d44c1f073505c9034be316d5a4ff50bb6c8a23e21ca4f1d56facbb118daa86 hrs 54 mins ago0xbc6dc20eb86bbe97ad352a5348ac73508b774d6a  IN   FirstBlood0 Ether0.000158136
0xf91e5e9a081adcc31a2e990312fd346823680dc79b2c892cfe23be56fcb9727f6 hrs 58 mins ago0x6485fc77be2186fc60feea38d0ef4331d8404b60  IN   FirstBlood0 Ether0.002003056
0xb2f79e425f9a7a9c160b55637792fee52b1709792f801a5d75f15158fc6cd4957 hrs 26 mins ago0x95f3d62158d60f054bf00735e81ce64a2a895a58  IN   FirstBlood0 Ether0.0030272
0xa94caeed1c30c67adae66bf2cc425b39e7cf8373d7719b867c7ceacb017f8b017 hrs 30 mins agoHitBTC_2  IN   FirstBlood0 Ether0.00116248
0x9f981c2c6a4cbeb503ae9dfa7dcc40f02cd59371d9971ca8d46335859620a7d78 hrs 47 mins ago0x1187b803b6bb8361ac3c08b5d108e3d5aca1f767  IN   FirstBlood0 Ether0.0030272
0x557ca72b059d8efd91507cecf845c3b73a027ab9e3a23c2efaf76f37d781d6029 hrs 31 mins agoBittrex  IN   FirstBlood0 Ether0.0052776
0x7c5b5c18f10520a5a55e71d3abd987984145f0e7148864fa978bcf4e92ed12899 hrs 43 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   FirstBlood0 Ether0.002929068
0x4df5562f569fe2e145b296675a5e4a3f264b8abff9387908671803a4422a7ca59 hrs 53 mins agoBittrex  IN   FirstBlood0 Ether0.0052712
0xaf91beddf325e8ab71fe1d11429063037ce9fa8b5bcfd25862883a318407be9810 hrs 7 mins ago0x265c73d9567bcaf11c403d63b00faab7745ea230  IN   FirstBlood0 Ether0.00301696
[ 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
0x8a89392af27ed588ef095192143532bd6a8815f0d072110612308c9f32e0dd6e2346771657 days 4 hrs ago0xaa1a6e3e6ef20068f7f8d8c835d2d22fd51164440xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70.01 Ether
0x656331405c6c06606e0625cd5b30aee9b63d734775699f09d3544e8bd0b275662327898660 days 7 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef70.026 Ether
0xcdf3dac8e37353cea709df5776f838c7e902b9e5f1ea4b78204761f2a388e84c2327830660 days 8 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef70.1 Ether
0x22992b3d6f24a8049c60c11e1e2cb0935d38a51fdff098e51a1dfa2b46839fd92327823660 days 8 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef70.1 Ether
0x327cdbd6688c5c3f45207bf9e6c9d4f7527e36efbc989de8a3e9c78069fc0c1a2327818660 days 8 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef70.1 Ether
0x6acc698ca05ad2335040401075b0a05edf4ed4975e46ad55341d7f1895a997bd2327532660 days 9 hrs ago0x1ca4a86bba124426507d1ef67ad271cc5a02820a0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc72 Ether
0x860a0a6de1e64f835a9d71f5fc9193ed989e8253a92d9ba5ba96626b7d5b76dc2327512660 days 9 hrs ago0x1ca4a86bba124426507d1ef67ad271cc5a02820a0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc74.689 Ether
0x4d3a3bc82c349bf2d3840151f434234230bd8e0af6df198bad276206089874af2327381660 days 9 hrs ago0xaa1a6e3e6ef20068f7f8d8c835d2d22fd51164440xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc71 Ether
0x269f15635aa5d4cc6a3d34bf62b5928001ecfa8024bc8fa7c97ca3a3c2c5bf422327281660 days 10 hrs ago0xaa1a6e3e6ef20068f7f8d8c835d2d22fd51164440xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc71 Ether
0xc0b3fce147ca08801dbb287c29a87a55fd67ed7c35dd3ad414106e1713f2b8392327256660 days 10 hrs ago0xaa1a6e3e6ef20068f7f8d8c835d2d22fd51164440xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc7500 Ether
0x30bd5b485c314faad4e9b823ca86eaf0d986bc71a885a0599f9d59b6d2bc7eea2327255660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef71 Ether
0xf40e3e9f46295e9f474faf5fea9fe91fe2ec2f93040768104db945a657fe1d942327255660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef71 Ether
0x5c1ce2f41b22950584ed6adc8557cf7e237faa737c49ef143e57596e12f9d9bd2327251660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef71 Ether
0x3039c40b3072e4769c9afd2a835b3e5705413c6ddf840a713e047416ce2686df2327251660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef710 Ether
0x1f5c567dbe93d2ec0dbd5da36f1da2159ad3def17ad196441c697c42324f8b9f2327249660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef710.9 Ether
0x11b37badbf485cfd6174c4dffdbd09830c08a6146b902b83850d5e5e304161302327249660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef7230 Ether
0x0e0baadc9923ed3a043d9e9f2d2f55d57573b06ef7da445b852df071cef4c63d2327249660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef71 Ether
0x0f883bcd00b54b9d3a26133d19034901cbbf9dac00acf08414e3bda45f3588772327248660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef774.7 Ether
0x3aba3ef2c050201273412ffb70bba0325f2906ff85fcd089d0010825b9d8b8082327248660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef7121 Ether
0xcdcc70bba9a873627ce9eaa4287ad41b2d9aa47a24f2fa73939c9c066c68c0352327248660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef76 Ether
0x3fd3fdcdadef3a2f31ce61a3dfc51987c8eab6db2e090b9505cad8fb0b7359962327248660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef72.5 Ether
0xced4311be65b064fccf999ca7c6e4cdcc0a586538c9a92d1c6cc4ee2f3806c252327248660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef7100 Ether
0xfafc122b63f5617685df7a131f88dc5e12c9c1fa4ba75da7176dabae33bf08012327248660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef7100 Ether
0x97ae861827b8fc648de773980100587e817ac2f4732ab44e690a9a79dca37f692327243660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef7690 Ether
0x9780c63678ace4a6a347a0b5b0d17bc47d19c0c28f984af913dfa902be1137332327243660 days 10 hrs ago0xaf30d2a7e90d7dc361c8c4585e9bb7d2f6f15bc70xa5384627f6dcd3440298e2d8b0da9d5f0fcbcef7600 Ether
[ Download CSV Export  ] 
Contract Name: FirstBloodToken
Compiler Version: v0.3.6-nightly.2016.8.15+commit.868a167
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

/**
 * Overflow aware uint math functions.
 *
 * Inspired by https://github.com/MakerDAO/maker-otc/blob/master/contracts/simple_market.sol
 */
contract SafeMath {
  //internals

  function safeMul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

  function assert(bool assertion) internal {
    if (!assertion) throw;
  }
}

/**
 * ERC 20 token
 *
 * https://github.com/ethereum/EIPs/issues/20
 */
contract Token {

    /// @return total amount of tokens
    function totalSupply() constant returns (uint256 supply) {}

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant returns (uint256 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, uint256 _value) 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, uint256 _value) returns (bool success) {}

    /// @notice `msg.sender` approves `_addr` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of wei to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) 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 returns (uint256 remaining) {}

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

}

/**
 * ERC 20 token
 *
 * https://github.com/ethereum/EIPs/issues/20
 */
contract StandardToken is Token {

    /**
     * Reviewed:
     * - Interger overflow = OK, checked
     */
    function transfer(address _to, uint256 _value) 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 && _value > 0) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else { return false; }
    }

    function transferFrom(address _from, address _to, uint256 _value) 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 && _value > 0) {
            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 returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

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

    mapping(address => uint256) balances;

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

    uint256 public totalSupply;

}


/**
 * First blood crowdsale crowdsale contract.
 *
 * Security criteria evaluated against http://ethereum.stackexchange.com/questions/8551/methodological-security-review-of-a-smart-contract
 *
 *
 */
contract FirstBloodToken is StandardToken, SafeMath {

    string public name = "FirstBlood Token";
    string public symbol = "1ST";
    uint public decimals = 18;
    uint public startBlock; //crowdsale start block (set in constructor)
    uint public endBlock; //crowdsale end block (set in constructor)

    // Initial founder address (set in constructor)
    // All deposited ETH will be instantly forwarded to this address.
    // Address is a multisig wallet.
    address public founder = 0x0;

    // signer address (for clickwrap agreement)
    // see function() {} for comments
    address public signer = 0x0;

    uint public etherCap = 465313 * 10**18; //max amount raised during crowdsale (5.5M USD worth of ether will be measured with a moving average market price at beginning of the crowdsale)
    uint public transferLockup = 370285; //transfers are locked for this many blocks after endBlock (assuming 14 second blocks, this is 2 months)
    uint public founderLockup = 2252571; //founder allocation cannot be created until this many blocks after endBlock (assuming 14 second blocks, this is 1 year)
    uint public bountyAllocation = 2500000 * 10**18; //2.5M tokens allocated post-crowdsale for the bounty fund
    uint public ecosystemAllocation = 5 * 10**16; //5% of token supply allocated post-crowdsale for the ecosystem fund
    uint public founderAllocation = 10 * 10**16; //10% of token supply allocated post-crowdsale for the founder allocation
    bool public bountyAllocated = false; //this will change to true when the bounty fund is allocated
    bool public ecosystemAllocated = false; //this will change to true when the ecosystem fund is allocated
    bool public founderAllocated = false; //this will change to true when the founder fund is allocated
    uint public presaleTokenSupply = 0; //this will keep track of the token supply created during the crowdsale
    uint public presaleEtherRaised = 0; //this will keep track of the Ether raised during the crowdsale
    bool public halted = false; //the founder address can set this to true to halt the crowdsale due to emergency
    event Buy(address indexed sender, uint eth, uint fbt);
    event Withdraw(address indexed sender, address to, uint eth);
    event AllocateFounderTokens(address indexed sender);
    event AllocateBountyAndEcosystemTokens(address indexed sender);

    function FirstBloodToken(address founderInput, address signerInput, uint startBlockInput, uint endBlockInput) {
        founder = founderInput;
        signer = signerInput;
        startBlock = startBlockInput;
        endBlock = endBlockInput;
    }

    /**
     * Security review
     *
     * - Integer overflow: does not apply, blocknumber can't grow that high
     * - Division is the last operation and constant, should not cause issues
     * - Price function plotted https://github.com/Firstbloodio/token/issues/2
     */
    function price() constant returns(uint) {
        if (block.number>=startBlock && block.number<startBlock+250) return 170; //power hour
        if (block.number<startBlock || block.number>endBlock) return 100; //default price
        return 100 + 4*(endBlock - block.number)/(endBlock - startBlock + 1)*67/4; //crowdsale price
    }

    // price() exposed for unit tests
    function testPrice(uint blockNumber) constant returns(uint) {
        if (blockNumber>=startBlock && blockNumber<startBlock+250) return 170; //power hour
        if (blockNumber<startBlock || blockNumber>endBlock) return 100; //default price
        return 100 + 4*(endBlock - blockNumber)/(endBlock - startBlock + 1)*67/4; //crowdsale price
    }

    // Buy entry point
    function buy(uint8 v, bytes32 r, bytes32 s) {
        buyRecipient(msg.sender, v, r, s);
    }

    /**
     * Main token buy function.
     *
     * Security review
     *
     * - Integer math: ok - using SafeMath
     *
     * - halt flag added - ok
     *
     * Applicable tests:
     *
     * - Test halting, buying, and failing
     * - Test buying on behalf of a recipient
     * - Test buy
     * - Test unhalting, buying, and succeeding
     * - Test buying after the sale ends
     *
     */
    function buyRecipient(address recipient, uint8 v, bytes32 r, bytes32 s) {
        bytes32 hash = sha256(msg.sender);
        if (ecrecover(hash,v,r,s) != signer) throw;
        if (block.number<startBlock || block.number>endBlock || safeAdd(presaleEtherRaised,msg.value)>etherCap || halted) throw;
        uint tokens = safeMul(msg.value, price());
        balances[recipient] = safeAdd(balances[recipient], tokens);
        totalSupply = safeAdd(totalSupply, tokens);
        presaleEtherRaised = safeAdd(presaleEtherRaised, msg.value);

        if (!founder.call.value(msg.value)()) throw; //immediately send Ether to founder address

        Buy(recipient, msg.value, tokens);
    }

    /**
     * Set up founder address token balance.
     *
     * allocateBountyAndEcosystemTokens() must be calld first.
     *
     * Security review
     *
     * - Integer math: ok - only called once with fixed parameters
     *
     * Applicable tests:
     *
     * - Test bounty and ecosystem allocation
     * - Test bounty and ecosystem allocation twice
     *
     */
    function allocateFounderTokens() {
        if (msg.sender!=founder) throw;
        if (block.number <= endBlock + founderLockup) throw;
        if (founderAllocated) throw;
        if (!bountyAllocated || !ecosystemAllocated) throw;
        balances[founder] = safeAdd(balances[founder], presaleTokenSupply * founderAllocation / (1 ether));
        totalSupply = safeAdd(totalSupply, presaleTokenSupply * founderAllocation / (1 ether));
        founderAllocated = true;
        AllocateFounderTokens(msg.sender);
    }

    /**
     * Set up founder address token balance.
     *
     * Set up bounty pool.
     *
     * Security review
     *
     * - Integer math: ok - only called once with fixed parameters
     *
     * Applicable tests:
     *
     * - Test founder token allocation too early
     * - Test founder token allocation on time
     * - Test founder token allocation twice
     *
     */
    function allocateBountyAndEcosystemTokens() {
        if (msg.sender!=founder) throw;
        if (block.number <= endBlock) throw;
        if (bountyAllocated || ecosystemAllocated) throw;
        presaleTokenSupply = totalSupply;
        balances[founder] = safeAdd(balances[founder], presaleTokenSupply * ecosystemAllocation / (1 ether));
        totalSupply = safeAdd(totalSupply, presaleTokenSupply * ecosystemAllocation / (1 ether));
        balances[founder] = safeAdd(balances[founder], bountyAllocation);
        totalSupply = safeAdd(totalSupply, bountyAllocation);
        bountyAllocated = true;
        ecosystemAllocated = true;
        AllocateBountyAndEcosystemTokens(msg.sender);
    }

    /**
     * Emergency Stop crowdsale.
     *
     *  Applicable tests:
     *
     * - Test unhalting, buying, and succeeding
     */
    function halt() {
        if (msg.sender!=founder) throw;
        halted = true;
    }

    function unhalt() {
        if (msg.sender!=founder) throw;
        halted = false;
    }

    /**
     * Change founder address (where crowdsale ETH is being forwarded).
     *
     * Applicable tests:
     *
     * - Test founder change by hacker
     * - Test founder change
     * - Test founder token allocation twice
     *
     */

    function changeFounder(address newFounder) {
        if (msg.sender!=founder) throw;
        founder = newFounder;
    }

    /**
     * ERC 20 Standard Token interface transfer function
     *
     * Prevent transfers until freeze period is over.
     *
     * Applicable tests:
     *
     * - Test restricted early transfer
     * - Test transfer after restricted period
     */
    function transfer(address _to, uint256 _value) returns (bool success) {
        if (block.number <= endBlock + transferLockup && msg.sender!=founder) throw;
        return super.transfer(_to, _value);
    }
    /**
     * ERC 20 Standard Token interface transfer function
     *
     * Prevent transfers until freeze period is over.
     */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        if (block.number <= endBlock + transferLockup && msg.sender!=founder) throw;
        return super.transferFrom(_from, _to, _value);
    }

    /**
     * Do not allow direct deposits.
     *
     * All crowdsale depositors must have read the legal agreement.
     * This is confirmed by having them signing the terms of service on the website.
     * They give their crowdsale Ethereum source address on the website.
     * Website signs this address using crowdsale private key (different from founders key).
     * buy() takes this signature as input and rejects all deposits that do not have
     * signature you receive after reading terms of service.
     *
     */
    function() {
        throw;
    }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"bountyAllocated","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"signer","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"blockNumber","type":"uint256"}],"name":"testPrice","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"presaleEtherRaised","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"allocateBountyAndEcosystemTokens","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"etherCap","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"ecosystemAllocated","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"founderAllocation","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"founderLockup","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"newFounder","type":"address"}],"name":"changeFounder","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[],"name":"founderAllocated","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"allocateFounderTokens","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"ecosystemAllocation","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferLockup","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"presaleTokenSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"buyRecipient","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"buy","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"bountyAllocation","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"inputs":[{"name":"founderInput","type":"address"},{"name":"signerInput","type":"address"},{"name":"startBlockInput","type":"uint256"},{"name":"endBlockInput","type":"uint256"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"eth","type":"uint256"},{"indexed":false,"name":"fbt","type":"uint256"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"eth","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"}],"name":"AllocateFounderTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"}],"name":"AllocateBountyAndEcosystemTokens","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
60a060405260106060527f4669727374426c6f6f6420546f6b656e000000000000000000000000000000006080526003805460008290527f4669727374426c6f6f6420546f6b656e0000000000000000000000000000002082556100b5907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b602060026001841615610100026000190190931692909204601f01919091048101905b8082111561014857600081556001016100a1565b505060408051808201909152600381527f31535400000000000000000000000000000000000000000000000000000000006020918201908152600480546000829052915160ff191660061781559161014c9160026001821615610100026000190190911604601f01047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b908101906100a1565b5090565b50506012600581905560088054600160a060020a0319908116909155600980549091169055696288ab14061109e40000600a556205a66d600b5562225f1b600c556a0211654585005212800000600d5566b1a2bc2ec50000600e5567016345785d8a0000600f556010805462ffffff191690556000601181905590556013805460ff19169055604051608080610faf8339810160405280805190602001909190805190602001909190805190602001909190805190602001909190505060088054600160a060020a0319908116861790915560098054909116841790556006829055600781905550505050610d6a806102456000396000f36060604052361561018a5760e060020a600035046306fdde038114610192578063083c6323146101f0578063095ea7b3146101f957806318160ddd1461026d5780631bc59aa614610276578063238ac9331461028257806323b872dd146102945780632af7ceff146102d4578063313ce5671461030057806344b499581461030957806348cd4cb1146103125780634a8b53891461031b5780634d853ee51461033b5780635ed7ca5b1461034d57806370a082311461036d5780637228b9db14610392578063771d9d051461039b578063824338bd146103ac57806383e811a6146103b557806393c32e06146103be57806395d89b41146103e157806399d22e481461043f578063a035b1fe14610451578063a9059cbb1461047b578063b9b8af0b146104b8578063bcfcb03e146104c4578063c0f496ac146104e4578063c24fe21b146104ed578063c4fc3a3b146104f6578063cb3e64fd146104ff578063dd62ed3e1461051f578063dda44b1014610553578063e5fe4f3114610610578063f6b9d05d14610628575b610631610002565b6040805160038054602060026001831615610100026000190190921691909104601f8101829004820284018201909452838352610633939083018282801561070f5780601f106106e45761010080835404028352916020019161070f565b6106a160075481565b6106b3600435602435600160a060020a03338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6106a160025481565b6106b360105460ff1681565b6106c7600954600160a060020a031681565b6106b3600435602435604435600754600b546000910143118015906102ca5750600854600160a060020a03908116339190911614155b1561072157610002565b6106a160043560065460009082108015906102f3575060065460fa0182105b15610820575060aa61038d565b6106a160055481565b6106a160125481565b6106a160065481565b610631600854600160a060020a0390811633919091161461086357610002565b6106c7600854600160a060020a031681565b610631600854600160a060020a039081163391909116146109cd57610002565b6106a1600435600160a060020a0381166000908152602081905260409020545b919050565b6106a1600a5481565b6106b3601054610100900460ff1681565b6106a1600f5481565b6106a1600c5481565b610631600435600854600160a060020a039081163391909116146109dc57610002565b6040805160048054602060026001831615610100026000190190921691909104601f8101829004820284018201909452838352610633939083018282801561070f5780601f106106e45761010080835404028352916020019161070f565b6106b360105462010000900460ff1681565b6106a15b600654600090431080159061046e575060065460fa0143105b15610a2a575060aa610a27565b6106b3600435602435600754600b546000910143118015906104ae5750600854600160a060020a03908116339190911614155b15610a4857610002565b6106b360135460ff1681565b610631600854600160a060020a03908116339190911614610b0057610002565b6106a1600e5481565b6106a1600b5481565b6106a160115481565b610631600854600160a060020a03908116339190911614610c0757610002565b6106a1600435602435600160a060020a03828116600090815260016020908152604080832093851683529290522054610267565b6106316004356024356044356064355b600060006002336040518082600160a060020a03166c010000000000000000000000000281526014019150506020604051808303816000866161da5a03f11561000257505060408051805160095460ff8916602084810191909152838501899052606084018890529351919550600160a060020a0316926001926080818101939182900301816000866161da5a03f11561000257505060405151600160a060020a031614610c1357610002565b610631600435602435604435610d5533848484610563565b6106a1600d5481565b005b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b820191906000526020600020905b8154815290600101906020018083116106f257829003601f168201915b505050505081565b90505b9392505050565b610717848484600160a060020a03831660009081526020819052604081205482901080159061076e5750600160209081526040808320600160a060020a0333168452909152812054829010155b80156107935750600160a060020a038316600090815260208190526040902054808301115b15610d5a57600160a060020a038381166000818152602081815260408083208054880190558885168084528184208054899003905560018352818420339690961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600161071a565b600654821080610831575060075482115b1561083e5750606461038d565b506007546006546004908203600101918390038102919091046043020460640161038d565b600754431161087157610002565b60105460ff16806108895750601054610100900460ff165b1561089357610002565b6002546011819055600854600160a060020a0316600090815260208190526040902054600e546108ee92670de0b6b3a76400009102045b600082820161071a8482108015906108e25750838210155b8015156109fc57610002565b600854600160a060020a0316600090815260208190526040902055600254601154600e546109289291670de0b6b3a76400009102046108ca565b600255600854600160a060020a0316600090815260208190526040902054600d5461095391906108ca565b600854600160a060020a0316600090815260208190526040902055600254600d5461097e91906108ca565b6002556010805460ff191660011761ff001916610100179055604051600160a060020a033316907fad156d34337c07db4f9b140cea03fb74d167641e252f85c85ccf3b47f36c9c4990600090a2565b6013805460ff19166001179055565b6008805473ffffffffffffffffffffffffffffffffffffffff1916821790555b50565b6004600660005054600760005054036001014360076000505403600402046043020460640190505b90565b600654431080610a3b575060075443115b156109ff57506064610a27565b610af98383600160a060020a033316600090815260208190526040812054829010801590610a875750600160a060020a03831681526040812054808301115b15610d6257600160a060020a0333811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610267565b9050610267565b600c54600754014311610b1257610002565b60105462010000900460ff1615610b2857610002565b60105460ff161580610b425750601054610100900460ff16155b15610b4c57610002565b600854600160a060020a0316600090815260208190526040902054600f54601154610b839291670de0b6b3a76400009102046108ca565b600854600160a060020a0316600090815260208190526040902055600254600f54601154610bbd9291670de0b6b3a76400009102046108ca565b6002556010805462ff0000191662010000179055604051600160a060020a033316907f1c8a3821e439862f28669f7fbc210e74e947ebf0e947b591cc5a02e41003026590600090a2565b6013805460ff19169055565b600654431080610c24575060075443115b80610c3c5750600a54601254610c3a90346108ca565b115b80610c49575060135460ff165b15610c5357610002565b610c5f34610c85610455565b600160a060020a038716600090815260208190526040902054909150610ca090826108ca565b600082820261071a848314806108e2575083858304146108e2565b600160a060020a038716600090815260208190526040902055600254610cc690826108ca565b600255601254610cd690346108ca565b601255600854604051600160a060020a0391909116903490600081818185876185025a03f1925050501515610d0a57610002565b60408051348152602081018390528151600160a060020a038916927f1cbc5ab135991bd2b6a4b034a04aa2aa086dac1371cb9b16b8b5e2ed6b036bed928290030190a2505050505050565b505050565b50600061071a565b50600061026756

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

-----Decoded View---------------
Found 4 constructor arguments :
Arg [0] : 000000000000000000000000a5384627f6dcd3440298e2d8b0da9d5f0fcbcef7
Arg [1] : 0000000000000000000000003286652eacf7abf27383dd1a9218ba9d8169d15e
Arg [2] : 00000000000000000000000000000000000000000000000000000000002382ac
Arg [3] : 00000000000000000000000000000000000000000000000000000000002625ac


 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.