Sponsored Link:  Monaco VISA® - World’s Best Cryptocurrency Card. Learn More.
This is the official contract address for the Indorse Token IND Sale
Contract Overview | IndorseCrowdsale
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 1041 txns
  Latest 25 txns from a total Of 1041 transactions View All

TxHash Age From To Value [TxFee]
0x61de5839da6f11469889b84bc5377c0eedcf3a6c31f6fc50ec2d96da8cec89f72 hrs 38 mins ago0xd6195e344660da29cb3f59fbf0a7ee880ced5337  IN   IndorseCrowdsale10 Ether0.0016016
0x08ce43227e33fedb62283b3f4db30192bdd29d946f6a963032d72284e82811ba2 hrs 42 mins ago0xd6195e344660da29cb3f59fbf0a7ee880ced5337  IN   IndorseCrowdsale26.5 Ether0.0019766
0xf73e70b963744a5f65e9ffece6caf4bffd8b6f3e63ea825f90ce63ca8a306d322 hrs 48 mins ago0xf647f49d42e78bc83b58d73cfe789811af02637d  IN   IndorseCrowdsale13 Ether0.0019766
0xbcdc4c06aa6087635627dc5f16c55792008e3588c6f5a601d03b65f8e2cd71102 hrs 48 mins ago0x32ba9a7d0423e03a525fe2ebeb661d2085778bd8  IN   IndorseCrowdsale25 Ether0.002213792
0xdd030d34b1d7ad98c188bb1b8a9ff98e0f9386ea06216df4a8349894f5276c652 hrs 56 mins ago0x00450dacaf9b1565770e3bea4cd2dad4532de4b3  IN   IndorseCrowdsale1 Ether0.00158128
0xd489ebd64e241d2364e3c4f7cf0d0de5dfbf2e3eae4705cb78e88b8b1f8955883 hrs 31 mins ago0xecd99af1253985f2475bae7b0aa824817b314de7  IN   IndorseCrowdsale1 Ether0.0019766
0x00a5b692b116acf0349cc65651c970fd4e82fb3087c047b9f721fdc4a3c295d74 hrs 59 mins ago0xd967a962e3948d27909d8baae95816ef6709aab1  IN   IndorseCrowdsale2 Ether0.00158128
0x3b8532a253d7e9d95e280f7f771b9ceb3cf71cfb645b472dad3a5068794818315 hrs 5 mins ago0xca0d29bd96be9200a742a0fe9374b69e0b16c5f5  IN   IndorseCrowdsale0.34669014 Ether0.0016016
0x0ebab75b98a80105b51108bdf32a26ea76098f9daaaa4e36aa0c9054f88a19605 hrs 50 mins ago0xca0d29bd96be9200a742a0fe9374b69e0b16c5f5  IN   IndorseCrowdsale0.0910561 Ether0.0019766
0xc5b357d29d06a861221275650080e0deadb81d9ca7dc23f25e08e149321e6db65 hrs 56 mins ago0xca0d29bd96be9200a742a0fe9374b69e0b16c5f5  IN   IndorseCrowdsale0.093 Ether0.000525
0x9c5507d338962c9ad1612a516de0f8e96dc9653152b1a38734b6d4d559ea18126 hrs 41 mins ago0x22021bb4404a637cc82cbff53bd30f9c16083095  IN   IndorseCrowdsale2 Ether0.00316256
0x670920a6141588d9d25aa7f2d7b2f449fe7136a73200dcad20dd8cca048c08dc7 hrs 42 mins ago0xdfce0720e843f4288e82e9993c30edeabdb145f7  IN   IndorseCrowdsale0.25 Ether0.001660344
0x85037b9d884eb5f477aee5668f67bf686c37ae76ddfca6b3bae25b4ad93d8eb28 hrs ago0x7a4fb0c165d417f0af77386754c397ff6243808e  IN   IndorseCrowdsale5 Ether0.001660344
0x41675863e061270ff6e139b192f6b0f0ab75e7f9008fb23c0ed954b98c7829d08 hrs 28 mins ago0x30654edb7e41217ec64ff048fbd03a161b356047  IN   IndorseCrowdsale12.995 Ether0.001345344
0x7dfff7f765e1626178555a449222cb5e3ce5cb09c00e975dd19b89f89d8731658 hrs 30 mins ago0x30654edb7e41217ec64ff048fbd03a161b356047  IN   IndorseCrowdsale12.995 Ether0.001344
0x38dd9d1b3b45eee00237005d3f29b02938cb69bdfe7418ff795dfcbb592d41df8 hrs 35 mins ago0x30654edb7e41217ec64ff048fbd03a161b356047  IN   IndorseCrowdsale0.05 Ether0.001660344
0xd3e366c9997268d7884498900bdda76a8f31513111a9c40996c681b2f8167a4d9 hrs 43 mins ago0x49b232544a54db58791f7b5deb0805da07faff6d  IN   IndorseCrowdsale4.1 Ether0.001660344
0x8749169880897513d2b34785a82715504a916793023f0c1f9bbf2603ea50e93f9 hrs 55 mins ago0x0d31d0b3b85ac5020e11a08c05f662540f77c293  IN   IndorseCrowdsale2.5 Ether0.0039532
0xfd1f343ff91e1ad915ec1db243ce7115ee5f7df2e06f91d3c0e3931c5d37715c10 hrs 37 mins ago0xaabb0cf46d3e3ee7c18dd9b633b45262caaeb059  IN   IndorseCrowdsale4 Ether0.0019766
0x1420f8e3af51e03eddaf3a67b72ce40875c98d0ceb2ddc4b1a952ce70ebc08d311 hrs 13 mins ago0x002a8e89cf6e9496bdd4dabb59155fd4d73ba895  IN   IndorseCrowdsale1.49 Ether0.00158128
0x47219d1d9ccea55398bbe374cf86a38e05d5fbba41904d18a609b6eb32bc511411 hrs 29 mins ago0x2773052087f99699013b4c06895fe69feebb4eee  IN   IndorseCrowdsale0.5 Ether0.0019766
0x7f9e4bdb80e7f7e945b295e2866b87ed35b394b4399d7cece3cdb94a1c437b1511 hrs 33 mins ago0x2773052087f99699013b4c06895fe69feebb4eee  IN   IndorseCrowdsale0.5 Ether0.000441
0x400acf9485ae986d1ff7c9f14d65403ab5a7a73838fb564ef6576c40285d9b0f13 hrs 9 mins ago0xfa45d06f58a59f2775796ea6098e780ae87640f1  IN   IndorseCrowdsale0.1 Ether0.0019766
0x7099d9b0ae0352dfddf7c06dd9a18e770d932b36e72a856fa3a696939f1befb413 hrs 32 mins ago0x1d6cb280e0ea8e3156029a4af2ccd3dc3610ae56  IN   IndorseCrowdsale0.5 Ether0.001660344
0xbcbe373900bfb23add6c11436fbb576dc08ba980afc8ba34de772d298e4db6c914 hrs 2 mins ago0x463231d01bf02583265b97f683653e838af55ae8  IN   IndorseCrowdsale3.15 Ether0.0019766
[ 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
0x61de5839da6f11469889b84bc5377c0eedcf3a6c31f6fc50ec2d96da8cec89f741966942 hrs 38 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f10 Ether
0x08ce43227e33fedb62283b3f4db30192bdd29d946f6a963032d72284e82811ba41966842 hrs 42 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f26.5 Ether
0xf73e70b963744a5f65e9ffece6caf4bffd8b6f3e63ea825f90ce63ca8a306d3241966652 hrs 48 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f13 Ether
0xbcdc4c06aa6087635627dc5f16c55792008e3588c6f5a601d03b65f8e2cd711041966652 hrs 48 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f25 Ether
0xdd030d34b1d7ad98c188bb1b8a9ff98e0f9386ea06216df4a8349894f5276c6541966502 hrs 56 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f1 Ether
0xd489ebd64e241d2364e3c4f7cf0d0de5dfbf2e3eae4705cb78e88b8b1f89558841965443 hrs 31 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f1 Ether
0x00a5b692b116acf0349cc65651c970fd4e82fb3087c047b9f721fdc4a3c295d741962724 hrs 59 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f2 Ether
0x3b8532a253d7e9d95e280f7f771b9ceb3cf71cfb645b472dad3a50687948183141962555 hrs 5 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.34669014 Ether
0x0ebab75b98a80105b51108bdf32a26ea76098f9daaaa4e36aa0c9054f88a196041961235 hrs 50 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.0910561 Ether
0x9c5507d338962c9ad1612a516de0f8e96dc9653152b1a38734b6d4d559ea181241959676 hrs 41 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f2 Ether
0x670920a6141588d9d25aa7f2d7b2f449fe7136a73200dcad20dd8cca048c08dc41957937 hrs 42 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.25 Ether
0x85037b9d884eb5f477aee5668f67bf686c37ae76ddfca6b3bae25b4ad93d8eb241957408 hrs ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f5 Ether
0x41675863e061270ff6e139b192f6b0f0ab75e7f9008fb23c0ed954b98c7829d041956578 hrs 28 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f12.995 Ether
0x38dd9d1b3b45eee00237005d3f29b02938cb69bdfe7418ff795dfcbb592d41df41956368 hrs 35 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.05 Ether
0xd3e366c9997268d7884498900bdda76a8f31513111a9c40996c681b2f8167a4d41954349 hrs 43 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f4.1 Ether
0x8749169880897513d2b34785a82715504a916793023f0c1f9bbf2603ea50e93f41953979 hrs 55 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f2.5 Ether
0xfd1f343ff91e1ad915ec1db243ce7115ee5f7df2e06f91d3c0e3931c5d37715c419528010 hrs 37 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f4 Ether
0x1420f8e3af51e03eddaf3a67b72ce40875c98d0ceb2ddc4b1a952ce70ebc08d3419518111 hrs 13 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f1.49 Ether
0x47219d1d9ccea55398bbe374cf86a38e05d5fbba41904d18a609b6eb32bc5114419513211 hrs 29 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.5 Ether
0x400acf9485ae986d1ff7c9f14d65403ab5a7a73838fb564ef6576c40285d9b0f419483213 hrs 9 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.1 Ether
0x7099d9b0ae0352dfddf7c06dd9a18e770d932b36e72a856fa3a696939f1befb4419476813 hrs 32 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.5 Ether
0xbcbe373900bfb23add6c11436fbb576dc08ba980afc8ba34de772d298e4db6c9419466614 hrs 2 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f3.15 Ether
0x6fca37c850d308c9b8e01cdb84c7a87e4465e285934ca996c5be157012687702419455314 hrs 39 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.13254904 Ether
0x21afec6d886184f1d052f2f5ede149d347a1d8c22a288e3f8edb019db57f9fa0419454414 hrs 42 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.3 Ether
0x8d5b7fd3fbd7a37e51b0552fce05b0160ac5ef6717ccc272ae3efa83f458548e419445015 hrs 18 mins ago0x5f6a9a1b4587759dcfec19f6c8e207e73ed988b80x26967201d4d1e1aa97554838defa4fc4d010ff6f0.5 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: IndorseSaleContract
Compiler Version: v0.4.11+commit.68ef5810
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.11;

// ================= Ownable Contract start =============================
/*
 * Ownable
 *
 * Base contract with an owner.
 * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner.
 */
contract Ownable {
  address public owner;

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

  modifier onlyOwner() {
    require(msg.sender == owner);
    
    _;
  }

  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }
}
// ================= Ownable Contract end ===============================

// ================= Safemath Contract start ============================
/* taking ideas from FirstBlood token */
contract SafeMath {

    function safeAdd(uint256 x, uint256 y) internal returns(uint256) {
      uint256 z = x + y;
      assert((z >= x) && (z >= y));
      return z;
    }

    function safeSubtract(uint256 x, uint256 y) internal returns(uint256) {
      assert(x >= y);
      uint256 z = x - y;
      return z;
    }

    function safeMult(uint256 x, uint256 y) internal returns(uint256) {
      uint256 z = x * y;
      assert((x == 0)||(z/x == y));
      return z;
    }
}
// ================= Safemath Contract end ==============================

// ================= ERC20 Token Contract start =========================
/*
 * ERC20 interface
 * see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function allowance(address owner, address spender) constant returns (uint);

  function transfer(address to, uint value) returns (bool ok);
  function transferFrom(address from, address to, uint value) returns (bool ok);
  function approve(address spender, uint value) returns (bool ok);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}
// ================= ERC20 Token Contract end ===========================

// ================= Standard Token Contract start ======================
contract StandardToken is ERC20, SafeMath {

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

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

  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32)  returns (bool success){
    balances[msg.sender] = safeSubtract(balances[msg.sender], _value);
    balances[_to] = safeAdd(balances[_to], _value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) returns (bool success) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because safeSub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = safeAdd(balances[_to], _value);
    balances[_from] = safeSubtract(balances[_from], _value);
    allowed[_from][msg.sender] = safeSubtract(_allowance, _value);
    Transfer(_from, _to, _value);
    return true;
  }

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

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

  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }
}
// ================= Standard Token Contract end ========================

// ================= Pausable Token Contract start ======================
/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev modifier to allow actions only when the contract IS paused
   */
  modifier whenNotPaused() {
    require (!paused);
    _;
  }

  /**
   * @dev modifier to allow actions only when the contract IS NOT paused
   */
  modifier whenPaused {
    require (paused) ;
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused returns (bool) {
    paused = true;
    Pause();
    return true;
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused returns (bool) {
    paused = false;
    Unpause();
    return true;
  }
}
// ================= Pausable Token Contract end ========================

// ================= Indorse Token Contract start =======================
contract IndorseToken is SafeMath, StandardToken, Pausable {
    // metadata
    string public constant name = "Indorse Token";
    string public constant symbol = "IND";
    uint256 public constant decimals = 18;
    string public version = "1.0";

    // contracts
    address public indSaleDeposit        = 0x0053B91E38B207C97CBff06f48a0f7Ab2Dd81449;      // deposit address for Indorse Sale contract
    address public indSeedDeposit        = 0x0083fdFB328fC8D07E2a7933e3013e181F9798Ad;      // deposit address for Indorse Seed Contributors
    address public indPresaleDeposit     = 0x007AB99FBf023Cb41b50AE7D24621729295EdBFA;      // deposit address for Indorse Presale Contributors
    address public indVestingDeposit     = 0x0011349f715cf59F75F0A00185e7B1c36f55C3ab;      // deposit address for Indorse Vesting for team and advisors
    address public indCommunityDeposit   = 0x0097ec8840E682d058b24E6e19E68358d97A6E5C;      // deposit address for Indorse Marketing, etc
    address public indFutureDeposit      = 0x00d1bCbCDE9Ca431f6dd92077dFaE98f94e446e4;      // deposit address for Indorse Future token sale
    address public indInflationDeposit   = 0x00D31206E625F1f30039d1Fa472303E71317870A;      // deposit address for Indorse Inflation pool
    
    uint256 public constant indSale      = 31603785 * 10**decimals;                         
    uint256 public constant indSeed      = 3566341  * 10**decimals; 
    uint256 public constant indPreSale   = 22995270 * 10**decimals;                       
    uint256 public constant indVesting   = 28079514 * 10**decimals;  
    uint256 public constant indCommunity = 10919811 * 10**decimals;  
    uint256 public constant indFuture    = 58832579 * 10**decimals;  
    uint256 public constant indInflation = 14624747 * 10**decimals;  
   
    // constructor
    function IndorseToken()
    {
      balances[indSaleDeposit]           = indSale;                                         // Deposit IND share
      balances[indSeedDeposit]           = indSeed;                                         // Deposit IND share
      balances[indPresaleDeposit]        = indPreSale;                                      // Deposit IND future share
      balances[indVestingDeposit]        = indVesting;                                      // Deposit IND future share
      balances[indCommunityDeposit]      = indCommunity;                                    // Deposit IND future share
      balances[indFutureDeposit]         = indFuture;                                       // Deposit IND future share
      balances[indInflationDeposit]      = indInflation;                                    // Deposit for inflation

      totalSupply = indSale + indSeed + indPreSale + indVesting + indCommunity + indFuture + indInflation;

      Transfer(0x0,indSaleDeposit,indSale);
      Transfer(0x0,indSeedDeposit,indSeed);
      Transfer(0x0,indPresaleDeposit,indPreSale);
      Transfer(0x0,indVestingDeposit,indVesting);
      Transfer(0x0,indCommunityDeposit,indCommunity);
      Transfer(0x0,indFutureDeposit,indFuture);
      Transfer(0x0,indInflationDeposit,indInflation);
   }

  function transfer(address _to, uint _value) whenNotPaused returns (bool success)  {
    return super.transfer(_to,_value);
  }

  function approve(address _spender, uint _value) whenNotPaused returns (bool success)  {
    return super.approve(_spender,_value);
  }
}
// ================= Indorse Token Contract end =======================

// ================= Actual Sale Contract Start ====================
contract IndorseSaleContract is  Ownable,SafeMath,Pausable {
    IndorseToken    ind;

    // crowdsale parameters
    uint256 public fundingStartTime = 1502193600;
    uint256 public fundingEndTime   = 1504785600;
    uint256 public totalSupply;
    address public ethFundDeposit   = 0x26967201d4D1e1aA97554838dEfA4fC4d010FF6F;      // deposit address for ETH for Indorse Fund
    address public indFundDeposit   = 0x0053B91E38B207C97CBff06f48a0f7Ab2Dd81449;      // deposit address for Indorse reserve
    address public indAddress       = 0xf8e386EDa857484f5a12e4B5DAa9984E06E73705;

    bool public isFinalized;                                                            // switched to true in operational state
    uint256 public constant decimals = 18;                                              // #dp in Indorse contract
    uint256 public tokenCreationCap;
    uint256 public constant tokenExchangeRate = 1000;                                   // 1000 IND tokens per 1 ETH
    uint256 public constant minContribution = 0.05 ether;
    uint256 public constant maxTokens = 1 * (10 ** 6) * 10**decimals;
    uint256 public constant MAX_GAS_PRICE = 50000000000 wei;                            // maximum gas price for contribution transactions
 
    function IndorseSaleContract() {
        ind = IndorseToken(indAddress);
        tokenCreationCap = ind.balanceOf(indFundDeposit);
        isFinalized = false;
    }

    event MintIND(address from, address to, uint256 val);
    event LogRefund(address indexed _to, uint256 _value);

    function CreateIND(address to, uint256 val) internal returns (bool success){
        MintIND(indFundDeposit,to,val);
        return ind.transferFrom(indFundDeposit,to,val);
    }

    function () payable {    
        createTokens(msg.sender,msg.value);
    }

    /// @dev Accepts ether and creates new IND tokens.
    function createTokens(address _beneficiary, uint256 _value) internal whenNotPaused {
      require (tokenCreationCap > totalSupply);                                         // CAP reached no more please
      require (now >= fundingStartTime);
      require (now <= fundingEndTime);
      require (_value >= minContribution);                                              // To avoid spam transactions on the network    
      require (!isFinalized);
      require (tx.gasprice <= MAX_GAS_PRICE);

      uint256 tokens = safeMult(_value, tokenExchangeRate);                             // check that we're not over totals
      uint256 checkedSupply = safeAdd(totalSupply, tokens);

      require (ind.balanceOf(msg.sender) + tokens <= maxTokens);
      
      // DA 8/6/2017 to fairly allocate the last few tokens
      if (tokenCreationCap < checkedSupply) {        
        uint256 tokensToAllocate = safeSubtract(tokenCreationCap,totalSupply);
        uint256 tokensToRefund   = safeSubtract(tokens,tokensToAllocate);
        totalSupply = tokenCreationCap;
        uint256 etherToRefund = tokensToRefund / tokenExchangeRate;

        require(CreateIND(_beneficiary,tokensToAllocate));                              // Create IND
        msg.sender.transfer(etherToRefund);
        LogRefund(msg.sender,etherToRefund);
        ethFundDeposit.transfer(this.balance);
        return;
      }
      // DA 8/6/2017 end of fair allocation code

      totalSupply = checkedSupply;
      require(CreateIND(_beneficiary, tokens));                                         // logs token creation
      ethFundDeposit.transfer(this.balance);
    }
    
    /// @dev Ends the funding period and sends the ETH home
    function finalize() external onlyOwner {
      require (!isFinalized);
      // move to operational
      isFinalized = true;
      ethFundDeposit.transfer(this.balance);                                            // send the eth to Indorse multi-sig
    }
}

  Contract ABI  
[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"indFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"indAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minContribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_GAS_PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"val","type":"uint256"}],"name":"MintIND","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogRefund","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000600060146101000a81548160ff021916908315150217905550635989a7c06002556359b134c06003557326967201d4d1e1aa97554838defa4fc4d010ff6f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507253b91e38b207c97cbff06f48a0f7ab2dd81449600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f8e386eda857484f5a12e4b5daa9984e06e73705600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550341561013557fe5b5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156102c057fe5b6102c65a03f115156102ce57fe5b505050604051805190506008819055506000600760146101000a81548160ff0219169083151502179055505b5b610f9d8061030a6000396000f30060606040523615610105576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd146101185780631df935581461013e578063313ce567146101645780633645ebfb1461018a5780633f4ba83a146101dc5780634172d080146102065780634bb278f31461022c5780635c975abb1461023e5780636f7920fd1461026857806370f199d21461028e57806374eedd46146102e05780638456cb59146103065780638d4e4083146103305780638da5cb5b1461035a578063a81c3bdf146103ac578063aaffadf3146103fe578063e3bbb4f114610424578063e83157421461044a578063f2fde38b14610470575b6101165b61011333346104a6565b5b565b005b341561012057fe5b61012861085f565b6040518082815260200191505060405180910390f35b341561014657fe5b61014e610865565b6040518082815260200191505060405180910390f35b341561016c57fe5b61017461086b565b6040518082815260200191505060405180910390f35b341561019257fe5b61019a610870565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101e457fe5b6101ec610896565b604051808215151515815260200191505060405180910390f35b341561020e57fe5b610216610965565b6040518082815260200191505060405180910390f35b341561023457fe5b61023c61096b565b005b341561024657fe5b61024e610a7d565b604051808215151515815260200191505060405180910390f35b341561027057fe5b610278610a90565b6040518082815260200191505060405180910390f35b341561029657fe5b61029e610a96565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102e857fe5b6102f0610abc565b6040518082815260200191505060405180910390f35b341561030e57fe5b610316610ac2565b604051808215151515815260200191505060405180910390f35b341561033857fe5b610340610b92565b604051808215151515815260200191505060405180910390f35b341561036257fe5b61036a610ba5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103b457fe5b6103bc610bcb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040657fe5b61040e610bf1565b6040518082815260200191505060405180910390f35b341561042c57fe5b610434610bfc565b6040518082815260200191505060405180910390f35b341561045257fe5b61045a610c05565b6040518082815260200191505060405180910390f35b341561047857fe5b6104a4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c12565b005b60006000600060006000600060149054906101000a900460ff161515156104cd5760006000fd5b6004546008541115156104e05760006000fd5b60025442101515156104f25760006000fd5b60035442111515156105045760006000fd5b66b1a2bc2ec50000861015151561051b5760006000fd5b600760149054906101000a900460ff161515156105385760006000fd5b640ba43b74003a1115151561054d5760006000fd5b610559866103e8610cec565b945061056760045486610d21565b93506012600a0a620f42400285600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561063657fe5b6102c65a03f1151561064457fe5b50505060405180519050011115151561065d5760006000fd5b8360085410156107be57610675600854600454610d4d565b92506106818584610d4d565b91506008546004819055506103e88281151561069957fe5b0490506106a68784610d6d565b15156106b25760006000fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051809050600060405180830381858888f1935050505015156106f257fe5b3373ffffffffffffffffffffffffffffffffffffffff167fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7826040518082815260200191505060405180910390a2600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f1935050505015156107b957fe5b610855565b836004819055506107cf8786610d6d565b15156107db5760006000fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f19350505050151561085457fe5b5b5b50505050505050565b60045481565b60025481565b601281565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108f55760006000fd5b600060149054906101000a900460ff1615156109115760006000fd5b6000600060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405180905060405180910390a1600190505b5b5b90565b6103e881565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109c85760006000fd5b600760149054906101000a900460ff161515156109e55760006000fd5b6001600760146101000a81548160ff021916908315150217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051809050600060405180830381858888f193505050501515610a7957fe5b5b5b565b600060149054906101000a900460ff1681565b60085481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b215760006000fd5b600060149054906101000a900460ff16151515610b3e5760006000fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405180905060405180910390a1600190505b5b5b90565b600760149054906101000a900460ff1681565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b66b1a2bc2ec5000081565b640ba43b740081565b6012600a0a620f42400281565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c6f5760006000fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515610ce75780600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b6000600082840290506000841480610d0e5750828482811515610d0b57fe5b04145b1515610d1657fe5b8091505b5092915050565b600060008284019050838110158015610d3a5750828110155b1515610d4257fe5b8091505b5092915050565b60006000828410151515610d5d57fe5b82840390508091505b5092915050565b60007fbb35b29cbf7a6a989c98cca0ffba1b027bfb3bd7e0a77120a5993df9dd8aec00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685856000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610f5057fe5b6102c65a03f11515610f5e57fe5b5050506040518051905090505b929150505600a165627a7a72305820221b74c8c85576c80cae7e37f4c8084386136778142af100baeb41c218e07d8f0029

   Swarm Source:
bzzr://221b74c8c85576c80cae7e37f4c8084386136778142af100baeb41c218e07d8f
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.