Latest 25 txns From a total of 6822 Transactions

TxHash Age From To Value [TxFee]
0x72c03c603dd0125f9af2d1b9d6ae7fe21ab124296e2d1eb112a8298aabd1b75f5 hrs 56 mins ago0x9b7e2697d1a213fc00162f7b453b64347186d367  IN   Adshares0 Ether0.000329904
0xb6624d0c67d5a7d31781db3d6f262247094533ba64cc11845212c0da6001f63d2 days 4 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.001607531
0xa5c8116441163282710f12f111f93fc2504244466a3fe902d004319495f4dc302 days 18 hrs agoCoinExchange.io  IN   Adshares0 Ether0.0003640904
0xc12cb91bb0456f35934f5596a3a34cfb5ed428c5f8126fad2756fc33f74f0f093 days 1 hr ago0xf80e866e3c41e76643b4da4a3ffed88100dc5bff  IN   Adshares0 Ether0.000064776
0x488ea065180b09f5aa0d617663b8f6406d066fed3cf2a25e2eab00396c3b1ff33 days 1 hr ago0xf80e866e3c41e76643b4da4a3ffed88100dc5bff  IN   Adshares0 Ether0.000073184
0xf83d7f50a6f5ae5e9d016263c2ecede7fd3998af1ad62630422cfc0afd59fd535 days 5 hrs ago0x1ac702a18fc6c6012265480c8348916a1f0efc37  IN   Adshares0 Ether0.0000878208
0x6f196c6244a152b6e60cac2e5a5cf5a4252af8c9a45c6e9f879f9c94f41873e96 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.0000767776
0x5ac5057ff2e9cba54bf69f79fb5e8782a3456e4db5e954d4d75bc9a00b4027ef6 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.00023993
0xf73bfb9c714d920dd6f578ef7fee92842022f0a12f8d2636e88da85d7cc055f06 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.000047582
0x1c7074b9703eb36207907e1ddbae244ea0a2263e7818cf5e172942de7e9767036 days 3 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.001806440125
0x496cea13fc5857cc0e0c01e585880810ac07cbdaca066edcf71d1612ac5291826 days 3 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.001128424
0xccb8953f86d93858e18cee27e80385aa039a5b382deb2c111f53ec04f361e3666 days 3 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.00136971
0x7e78e436d6de17c54f01dc7f244627b87a6305a169acaf2f859a5393f753fc0e6 days 3 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.000023791
0xae5d99b2f195e7b57e7575e7aa6c8bc34fd0ae5a13426e6068240ae5fe17b0aa6 days 3 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.0001692636
0xd38b88c914c2d03f907fb6d56ee07248920004bf2883f6f8b597913ab0f4bbde6 days 3 hrs ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.000023993
0x27424c5802e14a3733ccbd3b83d6ed4c291bb1cf133b8751d6b0e39277251d9a7 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.00045849
0xa403c0e887a499c1f3fa62848907dae22127bfc35887e3e7875aec7054617b457 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.000143958
0x576a49f991628c0ef3fca4355584360d8d2e27c1ea36ae3795f7b1fd0b87297e7 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.000102720031
0xbffa9ee882493f697c460e7c32df391588858995f78ad41c9e02ca93f3ddba1e7 days 1 hr ago0xb97f29cd722ab11b0cc8697fd06c41220b29f00b  IN   Adshares0 Ether0.001799475
0xda4481a739e675cd6b0fd268a6d1a72d0b7cadc8879c8105bcf04246043fb2717 days 8 hrs ago0x873dc5af4b3845ac90daa78383909f25efe295ac  IN   Adshares0.01 Ether0.000521592
0x64702afea54af2bbd338fcec40be24725d4acd9239c9a0eebc07cb476f5222d17 days 16 hrs agoCoinExchange.io  IN   Adshares0 Ether0.000311032
0xd43d9290398697ffa93b6d239b56a79690d56b8f3e5edc556f6e9ba38e2897027 days 16 hrs ago0x8ca227d006b813ca5eb6ead64d9ed2f1209c777d  IN   Adshares0 Ether0.001497648
0xbcf15deb7e767a99ed3ede20cdb4dd7edf1f04215eda1c85c66e36aea7a396487 days 18 hrs ago0x2984581ece53a4390d1f568673cf693139c97049  IN   Adshares0 Ether0.00073312
0x2f8fead04b4fa323545070e30a6ce0cd1a91f5fb263473a3260653bdd110735310 days 8 hrs agoCoinExchange.io  IN   Adshares0 Ether0.000329328
0x6a095f6871d3e9c084608adf0c9c7fe069076ace835c0b003f78efeff99f9f7d11 days 12 hrs ago0xd5d550f26861a29c85053bcd041021f6419baabc  IN   Adshares0 Ether0.000188792
[ 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
0x34f13b48f46eed3cd2f1aa82c5adba8c226279b9a4d386be5477d2c04f4437544897942277 days 14 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xef82b51cd11b2cd198e7d9f7c75a486dd072194c8,940.165488039886634104 Ether
0x3ff18ef1013e2a951201a624fa48f62920119f1862477b54c3429e4e265fe6284897766277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x99f3387d25e81578df744925b04d438c8e323d7b0.00055316688 Ether
0x8d2da119eecebbf7d72f4843bf3dcd961e7c7f3a0588d592046eb16ba8a5045b4897765277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x24026c97c97c9db4daef5c692e29eaf2670d26a80.000320117 Ether
0x833f6f2216a6a1bea72b456f961a5b0d9f14e017ee64eacdcd36ef9202dfd3dc4897761277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x2725e5dfd1a210fbafdfd671c2315795200e2b710.00015992992 Ether
0xb161d6c47045fec5c88715a642673f9d97f726baa5f0de9391d39a347ebdff614897756277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xf75427dfe1052ba748492f30d8f591527dae95650.00026639708 Ether
0x0e5e175545869cb72e53abf8d846240efd20dd1d3efe0b34edf4fb401f27ed4b4897752277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x59b2a2b803b644de12d5559bf3993c054ac6d0210.00047314368 Ether
0xb3b2ec7613608aa0991ccd5f9bf02e770f7aea2468efeb671e7aa393f620cce94897749277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x184dd2d937360922369c85a68c5241cc696752610.00024963064 Ether
0x82af4fd7e476a53b90b95307a55e3166d5b31b91975d390375eff7d11155d5e04897746277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xe9052d7d437802c7759a8842d9f1a5f09a5d32760.00019461396 Ether
0x9c1aa835477d1f30f72e44a3f187dd12196747443122c390bd19839842256fe34897745277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xb1206619f933fb02c2930f4e29abcd9a10856b220.00047118724 Ether
0x7685c5589686f765b461036d0dd9c93132cfab482b427731fda94e219f94edcb4897743277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x3691027703974c8903007f65a1ed48e094c635390.00035333948 Ether
0xcb2380b7725a0793acd480a2f23bb2c492d577efca800c31b18c05dfc20701b44897732277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xbe3e794053260eca6c44dd222d7e14bd9eb7e5790.00015748728 Ether
0x6a6d57ab64aebeef3ca6842b611503b2f2138cb04be0033e38d5ddd3183dcb2c4897727277 days 15 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x84c8268f8c8f4fef2003e40d7b210141c0b0fce90.00076828512 Ether
0x9218a81a022920975db43d17b696cd9f0253d046a108b4d1278ae40eeae7f4d74897721277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xf89cbb1a22084bfc3f6c833dacd7d833f377c4470.000583595051686304 Ether
0x05feaf3dcfb577479bdf236d7ee4f95d963a0ace236b8f46a575d9d897d21d3b4897712277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x8009bfa8ea7c18be3a1d9c084610cf5983e2c7ad0.00052987656 Ether
0x7d1424900b58d0038fe025d6ebf7ab9ad10a9e0d61cba4071f7fef6d07c332714897711277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xda1ed835ad24fa87a7c77651699afbfb2c2e3ac90.00045282572 Ether
0xd64b59757422ef32cf327dc049c8486fb9a4f2838d703b87ae4088f9969f02014897705277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x64db4219fcf543a2333b3c683f8a3b326fd152460.00009889192 Ether
0x7c2911ab8827aedc1fa49d7b2c7edcfbdede3c4486ce4989603597d99e44634c4897704277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x81de3b06e89c4da3b4f782fb49c83001853de73a0.00024357316 Ether
0x88724f27d9fbeb562329931b8317f6747929c57d66a84a1ce53b68f66276b8434897699277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x3ed53015fdb336d9c77c044164501161d9179b5c0.00027786064 Ether
0x79b273fbcb8312fca818fe5ddb1ea63164dd4d162393a49ded8064d4b1222a4c4897695277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x2e809c5decd52d5602d10833ba92294ccec720790.00049579500903086 Ether
0x0f81d10969481d61559030ed04edabfb637c94a3c1d205a6a4f54ec4b1f952b74897676277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x6d2ee64e8af65c226be171f5729c1d1fe45b72d30.00031432036 Ether
0x9e240dc21e2deff0f63bf28923f8daf3ca8e559e083d1a2d9d19032f73a26c1f4897673277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x39fc1e41fdb0b9619ed25be6c5f89faa7497de660.00024000084 Ether
0xe9a0d7b7d1e4ae0522bf671877c252664fab2c7176765bb67b467a9d9b5792694897673277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x3691027703974c8903007f65a1ed48e094c635390.000385187 Ether
0x96173c464cc1af15e37dc4a4f34963901ebaf38b88552d1bb76e61a409ded9fc4897671277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xd3abc3bfd485078e32be8cc365b85ce4a280b9700.0002579424 Ether
0x7bcec10bd00364767c3d7a87f5f984a9cee868ae83423f763cbfd150ea3b71d34897663277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00x98fed13044249e2f1b11e734a4665eb9e06a6f0a0.0004835688 Ether
0x082cc42fc0c6a4f99dd3734acece19e069799cbc652f147e08c2799825db95bf4897663277 days 16 hrs ago0x422866a8f0b032c5cf1dfbdef31a20f4509562b00xb69afd253d105f54afe6d4251ff1c4fb26c5bf700.00005990676 Ether
[ Download CSV Export  ] 
Contract Name: AdsharesToken
Compiler Text: v0.4.11+commit.68ef5810
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.11;

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function transfer(address to, uint value);
  event Transfer(address indexed from, address indexed to, uint value);
}

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

  function div(uint a, uint b) internal returns (uint) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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

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

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

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

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }
  
  /**
   * Based on http://www.codecodex.com/wiki/Calculate_an_integer_square_root
   */
  function sqrt(uint num) internal returns (uint) {
    if (0 == num) { // Avoid zero divide 
      return 0; 
    }   
    uint n = (num / 2) + 1;      // Initial estimate, never low  
    uint n1 = (n + (num / n)) / 2;  
    while (n1 < n) {  
      n = n1;  
      n1 = (n + (num / n)) / 2;  
    }  
    return n;  
  }

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

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

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

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint);
  function transferFrom(address from, address to, uint value);
  function approve(address spender, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implemantation of the basic standart token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {

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

  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
    var _allowance = allowed[_from][msg.sender];

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

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on beahlf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint _value) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

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

  /**
   * @dev Function to check the amount of tokens than an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}

/**
 * @title Adshares ICO token
 * 
 * see https://github.com/adshares/ico
 *
 */
contract AdsharesToken is StandardToken {
    using SafeMath for uint;

    // metadata
    string public constant name = "Adshares Token";
    string public constant symbol = "ADST";
    uint public constant decimals = 0;
    
    // crowdsale parameters
    uint public constant tokenCreationMin = 10000000;
    uint public constant tokenPriceMin = 0.0004 ether;
    uint public constant tradeSpreadInvert = 50; // 2%
    uint public constant crowdsaleEndLockTime = 1 weeks;
    uint public constant fundingUnlockPeriod = 1 weeks;
    uint public constant fundingUnlockFractionInvert = 100; // 1 %
    
    // contructor parameters
    uint public crowdsaleStartBlock;
    address public owner1;
    address public owner2;
    address public withdrawAddress; // multi-sig wallet that will receive ether

    
    // contract state
    bool public minFundingReached;
    uint public crowdsaleEndDeclarationTime = 0;
    uint public fundingUnlockTime = 0;  
    uint public unlockedBalance = 0;  
    uint public withdrawnBalance = 0;
    bool public isHalted = false;

    // events
    event LogBuy(address indexed who, uint tokens, uint purchaseValue, uint supplyAfter);
    event LogSell(address indexed who, uint tokens, uint saleValue, uint supplyAfter);
    event LogWithdraw(uint amount);
    event LogCrowdsaleEnd(bool completed);    
    
    /**
     * @dev Checks if funding is active
     */
    modifier fundingActive() {
      // Not yet started
      if (block.number < crowdsaleStartBlock) {
        throw;
      }
      // Already ended
      if (crowdsaleEndDeclarationTime > 0 && block.timestamp > crowdsaleEndDeclarationTime + crowdsaleEndLockTime) {
          throw;
        }
      _;
    }
    
    /**
     * @dev Throws if called by any account other than one of the owners. 
     */
    modifier onlyOwner() {
      if (msg.sender != owner1 && msg.sender != owner2) {
        throw;
      }
      _;
    }
    
    // constructor
    function AdsharesToken (address _owner1, address _owner2, address _withdrawAddress, uint _crowdsaleStartBlock)
    {
        owner1 = _owner1;
        owner2 = _owner2;
        withdrawAddress = _withdrawAddress;
        crowdsaleStartBlock = _crowdsaleStartBlock;
    }
    
    /**
     * Returns not yet unlocked balance
     */
    function getLockedBalance() private constant returns (uint lockedBalance) {
        return this.balance.sub(unlockedBalance);
      }
    
    /**
     * @dev Calculates how many tokens one can buy for specified value
     * @return Amount of tokens one will receive and purchase value without remainder. 
     */
    function getBuyPrice(uint _bidValue) constant returns (uint tokenCount, uint purchaseValue) {

        // Token price formula is twofold. We have flat pricing below tokenCreationMin, 
        // and above that price linarly increases with supply. 

        uint flatTokenCount;
        uint startSupply;
        uint linearBidValue;
        
        if(totalSupply < tokenCreationMin) {
            uint maxFlatTokenCount = _bidValue.div(tokenPriceMin);
            // entire purchase in flat pricing
            if(totalSupply.add(maxFlatTokenCount) <= tokenCreationMin) {
                return (maxFlatTokenCount, maxFlatTokenCount.mul(tokenPriceMin));
            }
            flatTokenCount = tokenCreationMin.sub(totalSupply);
            linearBidValue = _bidValue.sub(flatTokenCount.mul(tokenPriceMin));
            startSupply = tokenCreationMin;
        } else {
            flatTokenCount = 0;
            linearBidValue = _bidValue;
            startSupply = totalSupply;
        }
        
        // Solves quadratic equation to calculate maximum token count that can be purchased
        uint currentPrice = tokenPriceMin.mul(startSupply).div(tokenCreationMin);
        uint delta = (2 * startSupply).mul(2 * startSupply).add(linearBidValue.mul(4 * 1 * 2 * startSupply).div(currentPrice));

        uint linearTokenCount = delta.sqrt().sub(2 * startSupply).div(2);
        uint linearAvgPrice = currentPrice.add((startSupply+linearTokenCount+1).mul(tokenPriceMin).div(tokenCreationMin)).div(2);
        
        // double check to eliminate rounding errors
        linearTokenCount = linearBidValue / linearAvgPrice;
        linearAvgPrice = currentPrice.add((startSupply+linearTokenCount+1).mul(tokenPriceMin).div(tokenCreationMin)).div(2);
        
        purchaseValue = linearTokenCount.mul(linearAvgPrice).add(flatTokenCount.mul(tokenPriceMin));
        return (
            flatTokenCount + linearTokenCount,
            purchaseValue
        );
     }
    
    /**
     * @dev Calculates average token price for sale of specified token count
     * @return Total value received for given sale size. 
     */
    function getSellPrice(uint _askSizeTokens) constant returns (uint saleValue) {
        
        uint flatTokenCount;
        uint linearTokenMin;
        
        if(totalSupply <= tokenCreationMin) {
            return tokenPriceMin * _askSizeTokens;
        }
        if(totalSupply.sub(_askSizeTokens) < tokenCreationMin) {
            flatTokenCount = tokenCreationMin - totalSupply.sub(_askSizeTokens);
            linearTokenMin = tokenCreationMin;
        } else {
            flatTokenCount = 0;
            linearTokenMin = totalSupply.sub(_askSizeTokens);
        }
        uint linearTokenCount = _askSizeTokens - flatTokenCount;
        
        uint minPrice = (linearTokenMin).mul(tokenPriceMin).div(tokenCreationMin);
        uint maxPrice = (totalSupply+1).mul(tokenPriceMin).div(tokenCreationMin);
        
        uint linearAveragePrice = minPrice.add(maxPrice).div(2);
        return linearAveragePrice.mul(linearTokenCount).add(flatTokenCount.mul(tokenPriceMin));
    }
    
    /**
     * Default function called by sending Ether to this address with no arguments.
     * @dev Buy tokens with market order
     */
    function() payable fundingActive
    {
        buyLimit(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
    }
    
    /**
     * @dev Buy tokens without price limit
     */
    function buy() payable external fundingActive {
        buyLimit(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);    
    }
    
    /**
     * @dev Buy tokens with limit maximum average price
     * @param _maxPrice Maximum price user want to pay for one token
     */
    function buyLimit(uint _maxPrice) payable public fundingActive {
        require(msg.value >= tokenPriceMin);
        assert(!isHalted);
        
        uint boughtTokens;
        uint averagePrice;
        uint purchaseValue;
        
        (boughtTokens, purchaseValue) = getBuyPrice(msg.value);
        if(boughtTokens == 0) { 
            // bid to small, return ether and abort
            msg.sender.transfer(msg.value);
            return; 
        }
        averagePrice = purchaseValue.div(boughtTokens);
        if(averagePrice > _maxPrice) { 
            // price too high, return ether and abort
            msg.sender.transfer(msg.value);
            return; 
        }
        assert(averagePrice >= tokenPriceMin);
        assert(purchaseValue <= msg.value);
        
        totalSupply = totalSupply.add(boughtTokens);
        balances[msg.sender] = balances[msg.sender].add(boughtTokens);
        
        if(!minFundingReached && totalSupply >= tokenCreationMin) {
            minFundingReached = true;
            fundingUnlockTime = block.timestamp;
            // this.balance contains ether sent in this message
            unlockedBalance += this.balance.sub(msg.value).div(tradeSpreadInvert);
        }
        if(minFundingReached) {
            unlockedBalance += purchaseValue.div(tradeSpreadInvert);
        }
        
        LogBuy(msg.sender, boughtTokens, purchaseValue, totalSupply);
        
        if(msg.value > purchaseValue) {
            msg.sender.transfer(msg.value.sub(purchaseValue));
        }
    }
    
    /**
     * @dev Sell tokens without limit on price
     * @param _tokenCount Amount of tokens user wants to sell
     */
    function sell(uint _tokenCount) external fundingActive {
        sellLimit(_tokenCount, 0);
    }
    
    /**
     * @dev Sell tokens with limit on minimum average priceprice
     * @param _tokenCount Amount of tokens user wants to sell
     * @param _minPrice Minimum price user wants to receive for one token
     */
    function sellLimit(uint _tokenCount, uint _minPrice) public fundingActive {
        require(_tokenCount > 0);

        assert(balances[msg.sender] >= _tokenCount);
        
        uint saleValue = getSellPrice(_tokenCount);
        uint averagePrice = saleValue.div(_tokenCount);
        assert(averagePrice >= tokenPriceMin);
        if(minFundingReached) {
            averagePrice -= averagePrice.div(tradeSpreadInvert);
            saleValue -= saleValue.div(tradeSpreadInvert);
        }
        
        if(averagePrice < _minPrice) {
            // price too high, abort
            return;
        }
        // not enough ether for buyback
        assert(saleValue <= this.balance);
          
        totalSupply = totalSupply.sub(_tokenCount);
        balances[msg.sender] = balances[msg.sender].sub(_tokenCount);
        
        LogSell(msg.sender, _tokenCount, saleValue, totalSupply);
        
        msg.sender.transfer(saleValue);
    }   
    
    /**
     * @dev Unlock funds for withdrawal. Only 1% can be unlocked weekly.
     */
    function unlockFunds() external onlyOwner fundingActive {
        assert(minFundingReached);
        assert(block.timestamp >= fundingUnlockTime);
        
        uint unlockedAmount = getLockedBalance().div(fundingUnlockFractionInvert);
        unlockedBalance += unlockedAmount;
        assert(getLockedBalance() > 0);
        
        fundingUnlockTime += fundingUnlockPeriod;
    }
    
    /**
     * @dev Withdraw funds. Only unlocked funds can be withdrawn.
     */
    function withdrawFunds(uint _value) external onlyOwner fundingActive onlyPayloadSize(32) {
        require(_value <= unlockedBalance);
        assert(minFundingReached);
             
        unlockedBalance -= _value;
        withdrawnBalance += _value;
        LogWithdraw(_value);
        
        withdrawAddress.transfer(_value);
    }
    
    /**
     * @dev Declares that crowdsale is about to end. Users have one week to decide if the want to keep token or sell them to contract.
     */
    function declareCrowdsaleEnd() external onlyOwner fundingActive {
        assert(minFundingReached);
        assert(crowdsaleEndDeclarationTime == 0);
        
        crowdsaleEndDeclarationTime = block.timestamp;
        LogCrowdsaleEnd(false);
    }
    
    /**
     * @dev Can be called one week after initial declaration. Withdraws ether and stops trading. Tokens remain in circulation.
     */
    function confirmCrowdsaleEnd() external onlyOwner {
        assert(crowdsaleEndDeclarationTime > 0 && block.timestamp > crowdsaleEndDeclarationTime + crowdsaleEndLockTime);
        
        LogCrowdsaleEnd(true);
        withdrawAddress.transfer(this.balance);
    }
    
    /**
     * @dev Halts crowdsale. Can only be called before minimumFunding is reached. 
     * @dev When contract is halted no one can buy new tokens, but can sell them back to contract.
     * @dev Function will be called if minimum funding target isn't reached for extended period of time
     */
    function haltCrowdsale() external onlyOwner fundingActive {
        assert(!minFundingReached);
        isHalted = !isHalted;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_bidValue","type":"uint256"}],"name":"getBuyPrice","outputs":[{"name":"tokenCount","type":"uint256"},{"name":"purchaseValue","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"withdrawnBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdrawFunds","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"withdrawAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tradeSpreadInvert","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleEndDeclarationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner2","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingUnlockFractionInvert","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"haltCrowdsale","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner1","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"confirmCrowdsaleEnd","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_maxPrice","type":"uint256"}],"name":"buyLimit","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"fundingUnlockPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"unlockedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenPriceMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unlockFunds","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_askSizeTokens","type":"uint256"}],"name":"getSellPrice","outputs":[{"name":"saleValue","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"declareCrowdsaleEnd","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingUnlockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isHalted","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenCount","type":"uint256"},{"name":"_minPrice","type":"uint256"}],"name":"sellLimit","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minFundingReached","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleEndLockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenCount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_owner1","type":"address"},{"name":"_owner2","type":"address"},{"name":"_withdrawAddress","type":"address"},{"name":"_crowdsaleStartBlock","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"who","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"purchaseValue","type":"uint256"},{"indexed":false,"name":"supplyAfter","type":"uint256"}],"name":"LogBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"who","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"saleValue","type":"uint256"},{"indexed":false,"name":"supplyAfter","type":"uint256"}],"name":"LogSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"completed","type":"bool"}],"name":"LogCrowdsaleEnd","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"},{"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"}]

  Contract Creation Code Switch To Opcodes View
60606040526000600781905560088190556009819055600a55600b805460ff19169055341561002a57fe5b604051608080611a1983398101604090815281516020830151918301516060909301519092905b60048054600160a060020a03808716600160a060020a03199283161790925560058054868416908316179055600680549285169290911691909117905560038190555b505050505b611971806100a86000396000f300606060405236156101bf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461020757806308d4db1414610297578063095ea7b3146102c3578063154e8152146102e4578063155dd5ee146103065780631581b6001461031b57806318160ddd1461034757806323b872dd14610369578063313ce567146103905780633724fb24146103b25780633985a4ab146103d457806352709725146103f65780635949e525146104225780635d51b5501461044457806370a082311461045657806373688914146104845780638b322791146104b057806395d89b41146104c25780639b7edbdb146105525780639ea03ccb1461055f578063a6f2ae3a14610581578063a9059cbb1461058b578063ab6ad452146105ac578063b4c2aaee146105ce578063b4d1c485146105f0578063ba730e5314610602578063bd95758514610627578063c039daf614610639578063c12736761461065b578063c7ff15841461067d578063cab9c32a146106a1578063cdd3574a146106b9578063d34b1537146106db578063dd62ed3e146106ff578063deb83bcc1461055f578063e4849b3214610755575b6102055b6003544310156101d35760006000fd5b60006007541180156101eb575062093a806007540142115b156101f65760006000fd5b61020160001961076a565b5b5b565b005b341561020f57fe5b610217610a12565b60408051602080825283518183015283519192839290830191850190808383821561025d575b80518252602083111561025d57601f19909201916020918201910161023d565b505050905090810190601f1680156102895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029f57fe5b6102aa600435610a49565b6040805192835260208301919091528051918290030190f35b34156102cb57fe5b610205600160a060020a0360043516602435610cb7565b005b34156102ec57fe5b6102f4610d57565b60408051918252519081900360200190f35b341561030e57fe5b610205600435610d5d565b005b341561032357fe5b61032b610e7c565b60408051600160a060020a039092168252519081900360200190f35b341561034f57fe5b6102f4610e8b565b60408051918252519081900360200190f35b341561037157fe5b610205600160a060020a0360043581169060243516604435610e91565b005b341561039857fe5b6102f4610fb5565b60408051918252519081900360200190f35b34156103ba57fe5b6102f4610fba565b60408051918252519081900360200190f35b34156103dc57fe5b6102f4610fbf565b60408051918252519081900360200190f35b34156103fe57fe5b61032b610fc5565b60408051600160a060020a039092168252519081900360200190f35b341561042a57fe5b6102f4610fd4565b60408051918252519081900360200190f35b341561044c57fe5b610205610fd9565b005b341561045e57fe5b6102f4600160a060020a0360043516611070565b60408051918252519081900360200190f35b341561048c57fe5b61032b61108f565b60408051600160a060020a039092168252519081900360200190f35b34156104b857fe5b61020561109e565b005b34156104ca57fe5b610217611161565b60408051602080825283518183015283519192839290830191850190808383821561025d575b80518252602083111561025d57601f19909201916020918201910161023d565b505050905090810190601f1680156102895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020560043561076a565b005b341561056757fe5b6102f4611198565b60408051918252519081900360200190f35b6102056101c3565b005b341561059357fe5b610205600160a060020a03600435166024356111e1565b005b34156105b457fe5b6102f46112af565b60408051918252519081900360200190f35b34156105d657fe5b6102f46112b5565b60408051918252519081900360200190f35b34156105f857fe5b6102056112c0565b005b341561060a57fe5b6102f4600435611395565b60408051918252519081900360200190f35b341561062f57fe5b6102056114eb565b005b341561064157fe5b6102f46115b3565b60408051918252519081900360200190f35b341561066357fe5b6102f46115ba565b60408051918252519081900360200190f35b341561068557fe5b61068d6115c0565b604080519115158252519081900360200190f35b34156106a957fe5b6102056004356024356115c9565b005b34156106c157fe5b6102f461178d565b60408051918252519081900360200190f35b34156106e357fe5b61068d611793565b604080519115158252519081900360200190f35b341561070757fe5b6102f4600160a060020a03600435811690602435166117a3565b60408051918252519081900360200190f35b341561056757fe5b6102f4611198565b60408051918252519081900360200190f35b341561075d57fe5b6102056004356117d7565b005b6000600060006003544310156107805760006000fd5b6000600754118015610798575062093a806007540142115b156107a35760006000fd5b66016bcc41e900003410156107b85760006000fd5b600b5460ff16156107c557fe5b6107ce34610a49565b909350905082151561080b57604051600160a060020a033316903480156108fc02916000818181858888f19350505050151561080657fe5b610a09565b61081b818463ffffffff61181a16565b91508382111561085657604051600160a060020a033316903480156108fc02916000818181858888f19350505050151561080657fe5b610a09565b66016bcc41e9000082101561086757fe5b3481111561087157fe5b600054610884908463ffffffff61183716565b6000908155600160a060020a0333168152600160205260409020546108af908463ffffffff61183716565b33600160a060020a031660009081526001602052604090205560065460a060020a900460ff161580156108e757506298968060005410155b15610949576006805474ff0000000000000000000000000000000000000000191660a060020a1790554260085561093f6032610933600160a060020a033016313463ffffffff61185316565b9063ffffffff61181a16565b6009805490910190555b60065460a060020a900460ff16156109765761096c81603263ffffffff61181a16565b6009805490910190555b60005460408051858152602081018490528082019290925251600160a060020a033316917fc5620ded95cbb91682a998bc6df1a310612e51388b47c88b6dfb3f00d8248ddb919081900360600190a280341115610a0957600160a060020a0333166108fc6109ea348463ffffffff61185316565b6040518115909202916000818181858888f193505050501515610a0957fe5b5b5b5b50505050565b60408051808201909152600e81527f416473686172657320546f6b656e000000000000000000000000000000000000602082015281565b6000600060006000600060006000600060006000629896806000541015610b0f57610a818b66016bcc41e9000063ffffffff61181a16565b945062989680610a9c8660005461183790919063ffffffff16565b11610ac25784610ab98166016bcc41e9000063ffffffff61186c16565b99509950610caa565b600054610ad990629896809063ffffffff61185316565b9750610b02610af58966016bcc41e9000063ffffffff61186c16565b8c9063ffffffff61185316565b9550629896809650610b1c565b600097508a955060005496505b610b466298968061093366016bcc41e900008a63ffffffff61186c16565b9063ffffffff61181a16565b9350610b8d610b6e856109338960088c0263ffffffff61186c16565b9063ffffffff61181a16565b610b8160028a028063ffffffff61186c16565b9063ffffffff61183716565b9250610bbc600261093389600202610ba48761189b565b9063ffffffff61185316565b9063ffffffff61181a16565b9150610c0c6002610933610bf3629896808260018d89010166016bcc41e9000063ffffffff61186c16565b9063ffffffff61181a16565b879063ffffffff61183716565b9063ffffffff61181a16565b90508086811515610c1957fe5b049150610c6a6002610933610bf3629896808260018d89010166016bcc41e9000063ffffffff61186c16565b9063ffffffff61181a16565b879063ffffffff61183716565b9063ffffffff61181a16565b9050610ca2610c868966016bcc41e9000063ffffffff61186c16565b610b81848463ffffffff61186c16565b9063ffffffff61183716565b8883019a5098505b5050505050505050915091565b8015801590610cea5750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b15610cf55760006000fd5b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b600a5481565b60045433600160a060020a03908116911614801590610d8b575060055433600160a060020a03908116911614155b15610d965760006000fd5b600354431015610da65760006000fd5b6000600754118015610dbe575062093a806007540142115b15610dc95760006000fd5b60206024361015610dda5760006000fd5b600954821115610dea5760006000fd5b60065460a060020a900460ff161515610dff57fe5b600980548390039055600a8054830190556040805183815290517f879a83fc17750905b8aef4ef85e6701b84a50e15d4463dc3c2e7fb0f9dbcf75d9181900360200190a1600654604051600160a060020a039091169083156108fc029084906000818181858888f193505050501515610d5357fe5b5b5b505b5b50565b600654600160a060020a031681565b60005481565b600060606064361015610ea45760006000fd5b600160a060020a038086166000908152600260209081526040808320338516845282528083205493881683526001909152902054909250610eeb908463ffffffff61183716565b600160a060020a038086166000908152600160205260408082209390935590871681522054610f20908463ffffffff61185316565b600160a060020a038616600090815260016020526040902055610f49828463ffffffff61185316565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35b5b5050505050565b600081565b603281565b60075481565b600554600160a060020a031681565b606481565b60045433600160a060020a03908116911614801590611007575060055433600160a060020a03908116911614155b156110125760006000fd5b6003544310156110225760006000fd5b600060075411801561103a575062093a806007540142115b156110455760006000fd5b60065460a060020a900460ff161561105957fe5b600b805460ff19811660ff909116151790555b5b5b565b600160a060020a0381166000908152600160205260409020545b919050565b600454600160a060020a031681565b60045433600160a060020a039081169116148015906110cc575060055433600160a060020a03908116911614155b156110d75760006000fd5b60006007541180156110ef575062093a806007540142115b15156110f757fe5b604080516001815290517fba57225df0fc3a1a33e9e3d3b2c5393bb165aecc4a9e348fb7e8c5b0f45dd99b9181900360200190a1600654604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561020157fe5b5b5b565b60408051808201909152600481527f4144535400000000000000000000000000000000000000000000000000000000602082015281565b62093a8081565b6003544310156101d35760006000fd5b60006007541180156101eb575062093a806007540142115b156101f65760006000fd5b61020160001961076a565b5b5b565b604060443610156111f25760006000fd5b600160a060020a03331660009081526001602052604090205461121b908363ffffffff61185316565b600160a060020a033381166000908152600160205260408082209390935590851681522054611250908363ffffffff61183716565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35b5b505050565b60095481565b66016bcc41e9000081565b60045460009033600160a060020a039081169116148015906112f1575060055433600160a060020a03908116911614155b156112fc5760006000fd5b60035443101561130c5760006000fd5b6000600754118015611324575062093a806007540142115b1561132f5760006000fd5b60065460a060020a900460ff16151561134457fe5b60085442101561135057fe5b611369606461093361190d565b9063ffffffff61181a16565b60098054820190559050600061137d61190d565b1161138457fe5b6008805462093a800190555b5b5b50565b6000600060006000600060006000629896806000541115156113c2578766016bcc41e900000296506114e0565b60005462989680906113da908a63ffffffff61185316565b1015611405576000546113f3908963ffffffff61185316565b6298968003955062989680945061141f565b6000805490965061141c908963ffffffff61185316565b94505b858803935061144e629896806109338766016bcc41e9000063ffffffff61186c16565b9063ffffffff61181a16565b92506114826298968061093366016bcc41e9000060005460010161186c90919063ffffffff16565b9063ffffffff61181a16565b91506114a56002610933858563ffffffff61183716565b9063ffffffff61181a16565b90506114dd6114c18766016bcc41e9000063ffffffff61186c16565b610b81838763ffffffff61186c16565b9063ffffffff61183716565b96505b505050505050919050565b60045433600160a060020a03908116911614801590611519575060055433600160a060020a03908116911614155b156115245760006000fd5b6003544310156115345760006000fd5b600060075411801561154c575062093a806007540142115b156115575760006000fd5b60065460a060020a900460ff16151561156c57fe5b6007541561157657fe5b42600755604080516000815290517fba57225df0fc3a1a33e9e3d3b2c5393bb165aecc4a9e348fb7e8c5b0f45dd99b9181900360200190a15b5b5b565b6298968081565b60085481565b600b5460ff1681565b600060006003544310156115dd5760006000fd5b60006007541180156115f5575062093a806007540142115b156116005760006000fd5b6000841161160e5760006000fd5b600160a060020a0333166000908152600160205260409020548490101561163157fe5b61163a84611395565b915061164c828563ffffffff61181a16565b905066016bcc41e9000081101561165f57fe5b60065460a060020a900460ff161561169a5761168281603263ffffffff61181a16565b900361169582603263ffffffff61181a16565b820391505b828110156116a757610a09565b600160a060020a033016318211156116bb57fe5b6000546116ce908563ffffffff61185316565b6000908155600160a060020a0333168152600160205260409020546116f9908563ffffffff61185316565b600160a060020a0333166000818152600160209081526040808320949094559054835188815291820186905281840152915190917f3871b69498aaad3449bcd3d955642c834792b1e823c5e12a8de3130f139937ff919081900360600190a2604051600160a060020a0333169083156108fc029084906000818181858888f193505050501515610a0957fe5b5b5b50505050565b60035481565b60065460a060020a900460ff1681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b62093a8081565b6003544310156117e75760006000fd5b60006007541180156117ff575062093a806007540142115b1561180a5760006000fd5b610e788160006115c9565b5b5b50565b60006000828481151561182957fe5b0490508091505b5092915050565b600082820161184884821015611934565b8091505b5092915050565b600061186183831115611934565b508082035b92915050565b600082820261184884158061188b575083858381151561188857fe5b04145b611934565b8091505b5092915050565b600080808315156118af5760009250611906565b6002845b046001019150600282858115156118c657fe5b0483018115156118d257fe5b0490505b8181101561190257809150600282858115156118ee57fe5b0483018115156118fa57fe5b0490506118d6565b8192505b5050919050565b600061192e60095430600160a060020a03163161185390919063ffffffff16565b90505b90565b801515610e785760006000fd5b5b505600a165627a7a72305820af9623b560cc5be9532279843d39a290d62fb8422ed5d6f9eba3d7a8909bc8bf00290000000000000000000000004ffadb8bc4d364af060a46d041592bc98acb1c15000000000000000000000000dbc78ef6d1b3e8ef8567b3b773c276dc225f42b5000000000000000000000000ef82b51cd11b2cd198e7d9f7c75a486dd072194c00000000000000000000000000000000000000000000000000000000003cd700

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

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000004ffadb8bc4d364af060a46d041592bc98acb1c15
Arg [1] : 000000000000000000000000dbc78ef6d1b3e8ef8567b3b773c276dc225f42b5
Arg [2] : 000000000000000000000000ef82b51cd11b2cd198e7d9f7c75a486dd072194c
Arg [3] : 00000000000000000000000000000000000000000000000000000000003cd700


   Swarm Source:
bzzr://af9623b560cc5be9532279843d39a290d62fb8422ed5d6f9eba3d7a8909bc8bf

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.