Contract 0xe3818504c1B32bF1557b16C238B2E01Fd3149C17 3

 
Txn Hash
Method
Block
From
To
Value
0x9f96a509d7e03282b163b569b4962eb6ed25955412b94c0813ad3b429739ef4dApprove(pending)2022-10-06 4:41:167 hrs 17 mins ago0x44da17635aad8f326f98bfaf6e0f233e718d6a4e IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0x020c36ab18ca4610de879f3108e5e8988081fcce2100a63bd49a03401d1f4d03Transfer(pending)2022-10-04 23:41:491 day 12 hrs ago0x0444d9c0fe5e06f0ffecde55cb89b2f01cc21c27 IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0x3aae06ae54c6a623984f472a71cfb88692e9a6cad819453f0d575bc3204ed075Transfer(pending)2022-10-04 23:31:311 day 12 hrs ago0x2d6c4492644a14f594c6f242bf7a262413f2342e IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0x57e3ec3ec9847f9278c20e529a767c876e070417483f8a50f7a46a0bf56eb6bbTransfer(pending)2022-10-04 23:28:541 day 12 hrs ago0xcc7dc1008404d4d15227e49329fff5960b161edc IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0x23132f200e6e2b03babeffbfbc91b937cce0ceacc5cd3740f0dbae3f57a79c59Transfer(pending)2022-10-04 22:31:261 day 13 hrs ago0xcd78e588fff8d7af81a460c93105e282705014eb IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0x718656e4974a18a162185050ffb2e72b66e8885ec639725720a456ecdcb563c6Transfer(pending)2022-10-04 22:24:251 day 13 hrs ago0x4141f2be1a16db26db1e177d30a8dd6c073af594 IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0xe8cabb1bbfb2e04f866ed4ddeea1b09d4ed4317de80afd97a3eead073e58af60Transfer(pending)2022-10-04 22:20:321 day 13 hrs ago0x5dca76b863246b26f2533effe7b745f2f514b397 IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0xde29e3a359b2529d43576377238aa85fabac62a2e086394e56cd1c71a37a5a14Transfer(pending)2022-10-04 21:52:131 day 14 hrs ago0xe2a626eaa747da0b157099b9e4d6a4f620a8a303 IN Pillar Project: PLR Token0 Ether(Pending)(Pending)
0xe8776fa130f7f2e9b0674693b082647afa391846ab0e687e8d62578ba20bb7adApprove156883682022-10-06 10:08:351 hr 49 mins ago0xd3bdf816c55bcf706312d044820c67a6aa4b8f3b IN  Pillar Project: PLR Token0 Ether0.0002504 5.36541976
0x62d100ab497d176e458a87c59a1aea5d830f4361a3bb4f7551619f71485f46e9Transfer156870012022-10-06 5:33:116 hrs 25 mins ago0x3e3a8b339fd13bb5a0a1e78e748c77e4a5c6a88e IN  Pillar Project: PLR Token0 Ether0.000091233
0x6c717ee2228dc2806c05a266e35230779c1ab19ab390c42a8922e34542429c99Approve156812582022-10-05 10:17:591 day 1 hr ago0x88347d7b27b85b21ee1c817b22ef64a13cac397e IN  Pillar Project: PLR Token0 Ether0.00024258 5.19793429
0x939c4b3cde8a36362ce0eab19c97f1b3cd9bb370986b27f6796523958a3f33daApprove156651012022-10-03 3:59:593 days 7 hrs ago0x58434b97bd4becc73f03b161063ce209b476a69a IN  Pillar Project: PLR Token0 Ether0.000356197.6816534
0x7610dae035c2daa3721c1b8c350cac56847f19d9cb1eeed315392d8ac346ab1fTransfer156635932022-10-02 22:56:593 days 13 hrs ago0x71cb8048df6c5b53102cc00538edaf724f4f8064 IN  Pillar Project: PLR Token0 Ether0.000151935
0x6455e949663b54c7683ebbf9761ba2185612259e046405620c8d5a15fd75c81dTransfer156512902022-10-01 5:42:115 days 6 hrs ago0x589c561a1286bf3c7c98d7edee3dce0599148b32 IN  Pillar Project: PLR Token0 Ether0.00036184 6.9315939
0x32e04d17fd299578db051f58fa1b9ca7c7f35cccc12972f98fb9f7eb0e6bd90aApprove156462762022-09-30 12:53:235 days 23 hrs ago0x2193c89f21a2809a30321536f0de96b9fef33fc2 IN  Pillar Project: PLR Token0 Ether0.00074527 15.96909155
0xdb2ff247412dbf0cc4f35ab86b7ffa2ef85e8c98b52fe00262448c9603a20343Transfer156418292022-09-29 21:58:476 days 13 hrs ago0x57efab17ebfb2b05837519ca24d7d3577ef65fa7 IN  Pillar Project: PLR Token0 Ether0.00065846 13.8629515
0x3f872a54c50cb207f62384ae1da4156ffd442c49505757f75b9f3bc39b51cf98Transfer156343112022-09-28 20:45:357 days 15 hrs ago0x48c04ed5691981c42154c6167398f95e8f38a7ff IN  Pillar Project: PLR Token0 Ether0.0003870411
0xe91e3b9ab20def5dcb027a512f9b9d7149f34c0118a0c09a9818721f8f3715c2Approve156326182022-09-28 15:05:237 days 20 hrs ago0xdb11d18aa83204c14490ec0371f737316392f63a IN  Pillar Project: PLR Token0 Ether0.00085334 18.28474668
0xeee30c223ba234b123f1f1dd90fd8d821c7dcb0d0019dc5c4e77548002e6555fTransfer156312292022-09-28 10:25:598 days 1 hr ago0x48c04ed5691981c42154c6167398f95e8f38a7ff IN  Pillar Project: PLR Token0 Ether0.000492614
0x3aff2c0b77a85e0bc2146ca670b7888f3022b8b76b8fc60d2e8b899b8669441aTransfer156311692022-09-28 10:13:598 days 1 hr ago0x48c04ed5691981c42154c6167398f95e8f38a7ff IN  Pillar Project: PLR Token0 Ether0.0003871711
0x16484c61f949bb61b775dd609405dd71b840dea032fc54fba77aaa0f9fdb71efTransfer156256862022-09-27 15:48:478 days 20 hrs ago0x3d1b6e6757cc0334f0b468f4c7c93b3b30859649 IN  Pillar Project: PLR Token0 Ether0.0008869 18.67242529
0xc845f219120d46c5e2bab359bbd81916209ef14a29c5cb0f95930f5c2b699348Transfer156241222022-09-27 10:33:359 days 1 hr ago0x48c04ed5691981c42154c6167398f95e8f38a7ff IN  Pillar Project: PLR Token0 Ether0.0003871711
0x28a7e15585bb85368f0dcd035ebc34e71be316e6bb0104cbb28a12c4f670f89bTransfer156199492022-09-26 20:33:359 days 15 hrs ago0x48c04ed5691981c42154c6167398f95e8f38a7ff IN  Pillar Project: PLR Token0 Ether0.0006333418
0x1a51c8e86b4bd3eecf75d2273d5d23f58db17c380d7a0adc90dbdb4dbf25fb24Transfer156198422022-09-26 20:12:119 days 15 hrs ago0x48c04ed5691981c42154c6167398f95e8f38a7ff IN  Pillar Project: PLR Token0 Ether0.0007391521
0x6b0fe8d9942bc2ee775f3ec687a4a1657219f0590dce2ff0ff6cfa4a0f26a7caApprove156198242022-09-26 20:08:359 days 15 hrs ago0xa12e1462d0ced572f396f58b6e2d03894cd7c8a4 IN  Pillar Project: PLR Token0 Ether0.0008346618
[ Download CSV Export 

OVERVIEW

A cryptocurrency and token wallet that aims to become the dashboard for its users' digital life.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x84f80e363eace9923ee4b1b6ea326d2a96637e74c75fa24b3cf89663f2a1a9c840362312017-07-17 20:24:011906 days 15 hrs ago Pillar Project: PLR Token  Contract Creation0 Ether
0x84f80e363eace9923ee4b1b6ea326d2a96637e74c75fa24b3cf89663f2a1a9c840362312017-07-17 20:24:011906 days 15 hrs ago Pillar Project: PLR Token  Contract Creation0 Ether
0xda146b67bf35d050abd885234ad76ab65061ffef5dfaa47f70ce500d78a2b61140361992017-07-17 20:13:011906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.51 Ether
0xc46116da79d49aef7867365fee04cd782c55cc3dc5001fc3f2c0fcad9bbe07b840361952017-07-17 20:12:291906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b5 Ether
0xaed3fcc6145aa290afadb444390da0a5287eefdf3c2571aa162691f0a99d6bde40361932017-07-17 20:11:411906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.5 Ether
0x9c148ece49f839cfc5c0b15d7d764dc57f5319296b926ffe248fd64a979e543c40361932017-07-17 20:11:411906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.1 Ether
0x555b6fe11141673e6c84364e84fe51c4799226f2e08b2b6adfae502e9fa6b58640361902017-07-17 20:11:011906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b10 Ether
0x0ace4f02614a0dcaa5f2de197995fb73f20ff573a364b82fe8bcbb9b9e310d4b40361902017-07-17 20:11:011906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b1.44 Ether
0x075128fdaac6d23ab5b7c71ea721fe334c32c773b21787f2963ced88ed8ad08840361892017-07-17 20:10:181906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b4.3 Ether
0x61dc75caef5222083b3763bb07777d515bb1f896ddddd0faafa9d4bee337a80e40361832017-07-17 20:09:151906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b5.5 Ether
0xd1a9dbd9fb5315ba63ec3f7aa1b4c7ae8f8f26fac8767039ca46c6ef4a775a7940361802017-07-17 20:08:521906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b1.33 Ether
0xd701f9eb855a3b7d84f4eeba4a2db404897565427d7f320f702659f541c013fa40361752017-07-17 20:07:071906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b3.99 Ether
0x36abdc8eb3a125b91ecd709d492f14ce299597be7471e0a6c7d9c08a8705b8cc40361722017-07-17 20:06:371906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.03816422 Ether
0x3f9629110022e8995be43a1cd227ee2a49eaec57a9a0e597f9cba5d93e248bf340361722017-07-17 20:06:371906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b1.7 Ether
0x140916ef4dc199b9df54931cb73c36a18874cea64f1927a5daff8e15059d6db940361712017-07-17 20:05:561906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.05 Ether
0x68bb9ee6ac842a7d38e835d8b4433924d3a198014ac763a1028084fe67a7109340361692017-07-17 20:05:251906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.00958 Ether
0x964736dce62bf9c19a4479574fe0d56d303c2b68cb124b1772c944ccb0df86de40361692017-07-17 20:05:251906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b2 Ether
0xbd501601a5a3dd9711b4d0bd8b07235689d4b2098208a35438fd9faab2e39a0440361602017-07-17 20:02:291906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b3.5 Ether
0x5dc518130dfd203164a6692f4dff8477be856137b5e6061ecd9c76d4fe438ba240361542017-07-17 20:00:411906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b2 Ether
0xdd7048f3d3bdd165180ee9c35c98150718f2ddd98755a41e1d42c2888c9bf4b440361452017-07-17 19:59:111906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.57 Ether
0x520c142881ffdcfc4e2aa543fcd324bc2c9ae674886058af784555505498dfc640361452017-07-17 19:59:111906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b2 Ether
0x31b820d8367dbb5581afef9854cfac87a3d2dd8c080bfce2a7dffb62ad9d83f340361452017-07-17 19:59:111906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b1 Ether
0x00459dcf78916392cd5e1b2165b76e393575ca05c1e437ffec6f6e6cf41e48b840361442017-07-17 19:58:571906 days 15 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b2.8 Ether
0x4e4b5564b74f165df520216fcf7c2bb1865a10e64f765113c6f975fd14d3209d40361392017-07-17 19:56:491906 days 16 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b0.5 Ether
0x198444c62d837208919c369b16d12a0fce47c4d83ae628325ed8cd1e7c2a322040361242017-07-17 19:53:161906 days 16 hrs ago Pillar Project: PLR Token 0x05a9afd79a05c3e1afefa282ef8d58f9366b160b1.5 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PillarToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 0 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-07-15
*/

pragma solidity ^0.4.11;


/**
 * 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;
  }

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

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control 
 * functions, this simplifies the implementation of "user permissions". 
 */
contract Ownable {
  address public owner;


  /** 
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner. 
   */
  modifier onlyOwner() {
    if (msg.sender != owner) {
      throw;
    }
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to. 
   */
  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

contract TeamAllocation is Ownable {
  using SafeMath for uint;
  //uint public constant lockedTeamAllocationTokens = 16000000;
  uint public unlockedAt;
  PillarToken plr;
  mapping (address => uint) allocations;
  uint tokensCreated = 0;
  uint constant public lockedTeamAllocationTokens = 16000000e18;
  //address of the team storage vault
  address public teamStorageVault = 0x3f5D90D5Cc0652AAa40519114D007Bf119Afe1Cf;

  function TeamAllocation() {
    plr = PillarToken(msg.sender);
    // Locked time of approximately 9 months before team members are able to redeeem tokens.
    uint nineMonths = 9 * 30 days;
    unlockedAt = now.add(nineMonths);
    //2% tokens from the Marketing bucket which are locked for 9 months
    allocations[teamStorageVault] = lockedTeamAllocationTokens;
  }

  function getTotalAllocation() returns (uint){
      return lockedTeamAllocationTokens;
  }

  function unlock() external payable {
    if (now < unlockedAt) throw;

    if (tokensCreated == 0) {
      tokensCreated = plr.balanceOf(this);
    }
    //transfer the locked tokens to the teamStorageAddress
    plr.transfer(teamStorageVault, tokensCreated);
  }
}

contract UnsoldAllocation is Ownable {
  using SafeMath for uint;
  uint unlockedAt;
  uint allocatedTokens;
  PillarToken plr;
  mapping (address => uint) allocations;

  uint tokensCreated = 0;

  /*
    Split among team members
    Tokens reserved for Team: 1,000,000
    Tokens reserved for 20|30 projects: 1,000,000
    Tokens reserved for future sale: 1,000,000
  */

  function UnsoldAllocation(uint _lockTime, address _owner, uint _tokens) {
    if(_lockTime == 0) throw;

    if(_owner == address(0)) throw;

    plr = PillarToken(msg.sender);
    uint lockTime = _lockTime * 1 years;
    unlockedAt = now.add(lockTime);
    allocatedTokens = _tokens;
    allocations[_owner] = _tokens;
  }

  function getTotalAllocation()returns(uint){
      return allocatedTokens;
  }

  function unlock() external payable {
    if (now < unlockedAt) throw;

    if (tokensCreated == 0) {
      tokensCreated = plr.balanceOf(this);
    }

    var allocation = allocations[msg.sender];
    allocations[msg.sender] = 0;
    var toTransfer = (tokensCreated.mul(allocation)).div(allocatedTokens);
    plr.transfer(msg.sender, toTransfer);
  }
}

/**
 * @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() {
    if (paused) throw;
    _;
  }

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

  /**
   * @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;
  }
}


/**
 * @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);
}

/**
 * @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 PillarToken - Crowdfunding code for the Pillar Project
/// @author Parthasarathy Ramanujam, Gustavo Guimaraes, Ronak Thacker
contract PillarToken is StandardToken, Ownable {

    using SafeMath for uint;
    string public constant name = "PILLAR";
    string public constant symbol = "PLR";
    uint public constant decimals = 18;

    TeamAllocation public teamAllocation;
    UnsoldAllocation public unsoldTokens;
    UnsoldAllocation public twentyThirtyAllocation;
    UnsoldAllocation public futureSaleAllocation;

    uint constant public minTokensForSale  = 32000000e18;

    uint constant public maxPresaleTokens             =  48000000e18;
    uint constant public totalAvailableForSale        = 528000000e18;
    uint constant public futureTokens                 = 120000000e18;
    uint constant public twentyThirtyTokens           =  80000000e18;
    uint constant public lockedTeamAllocationTokens   =  16000000e18;
    uint constant public unlockedTeamAllocationTokens =   8000000e18;

    address public unlockedTeamStorageVault = 0x4162Ad6EEc341e438eAbe85f52a941B078210819;
    address public twentyThirtyVault = 0xe72bA5c6F63Ddd395DF9582800E2821cE5a05D75;
    address public futureSaleVault = 0xf0231160Bd1a2a2D25aed2F11B8360EbF56F6153;
    address unsoldVault;

    //Storage years
    uint constant coldStorageYears = 10;
    uint constant futureStorageYears = 3;

    uint totalPresale = 0;

    // Funding amount in ether
    uint public constant tokenPrice  = 0.0005 ether;

    // Multisigwallet where the proceeds will be stored.
    address public pillarTokenFactory;

    uint fundingStartBlock;
    uint fundingStopBlock;

    // flags whether ICO is afoot.
    bool fundingMode;

    //total used tokens
    uint totalUsedTokens;

    event Refund(address indexed _from,uint256 _value);
    event Migrate(address indexed _from, address indexed _to, uint256 _value);
    event MoneyAddedForRefund(address _from, uint256 _value,uint256 _total);

    modifier isNotFundable() {
        if (fundingMode) throw;
        _;
    }

    modifier isFundable() {
        if (!fundingMode) throw;
        _;
    }

    //@notice  Constructor of PillarToken
    //@param `_pillarTokenFactory` - multisigwallet address to store proceeds.
    //@param `_icedWallet` - Multisigwallet address to which unsold tokens are assigned
    function PillarToken(address _pillarTokenFactory, address _icedWallet) {
      if(_pillarTokenFactory == address(0)) throw;
      if(_icedWallet == address(0)) throw;

      pillarTokenFactory = _pillarTokenFactory;
      totalUsedTokens = 0;
      totalSupply = 800000000e18;
      unsoldVault = _icedWallet;

      //allot 8 million of the 24 million marketing tokens to an address
      balances[unlockedTeamStorageVault] = unlockedTeamAllocationTokens;

      //allocate tokens for 2030 wallet locked in for 3 years
      futureSaleAllocation = new UnsoldAllocation(futureStorageYears,futureSaleVault,futureTokens);
      balances[address(futureSaleAllocation)] = futureTokens;

      //allocate tokens for future wallet locked in for 3 years
      twentyThirtyAllocation = new UnsoldAllocation(futureStorageYears,twentyThirtyVault,twentyThirtyTokens);
      balances[address(twentyThirtyAllocation)] = twentyThirtyTokens;

      fundingMode = false;
    }

    //@notice Fallback function that accepts the ether and allocates tokens to
    //the msg.sender corresponding to msg.value
    function() payable isFundable external {
      purchase();
    }

    //@notice function that accepts the ether and allocates tokens to
    //the msg.sender corresponding to msg.value
    function purchase() payable isFundable {
      if(block.number < fundingStartBlock) throw;
      if(block.number > fundingStopBlock) throw;
      if(totalUsedTokens >= totalAvailableForSale) throw;

      if (msg.value < tokenPrice) throw;

      uint numTokens = msg.value.div(tokenPrice);
      if(numTokens < 1) throw;
      //transfer money to PillarTokenFactory MultisigWallet
      pillarTokenFactory.transfer(msg.value);

      uint tokens = numTokens.mul(1e18);
      totalUsedTokens = totalUsedTokens.add(tokens);
      if (totalUsedTokens > totalAvailableForSale) throw;

      balances[msg.sender] = balances[msg.sender].add(tokens);

      //fire the event notifying the transfer of tokens
      Transfer(0, msg.sender, tokens);
    }

    //@notice Function reports the number of tokens available for sale
    function numberOfTokensLeft() constant returns (uint256) {
      uint tokensAvailableForSale = totalAvailableForSale.sub(totalUsedTokens);
      return tokensAvailableForSale;
    }

    //@notice Finalize the ICO, send team allocation tokens
    //@notice send any remaining balance to the MultisigWallet
    //@notice unsold tokens will be sent to icedwallet
    function finalize() isFundable onlyOwner external {
      if (block.number <= fundingStopBlock) throw;

      if (totalUsedTokens < minTokensForSale) throw;

      if(unsoldVault == address(0)) throw;

      // switch funding mode off
      fundingMode = false;

      //Allot team tokens to a smart contract which will frozen for 9 months
      teamAllocation = new TeamAllocation();
      balances[address(teamAllocation)] = lockedTeamAllocationTokens;

      //allocate unsold tokens to iced storage
      uint totalUnSold = numberOfTokensLeft();
      if(totalUnSold > 0) {
        unsoldTokens = new UnsoldAllocation(coldStorageYears,unsoldVault,totalUnSold);
        balances[address(unsoldTokens)] = totalUnSold;
      }

      //transfer any balance available to Pillar Multisig Wallet
      pillarTokenFactory.transfer(this.balance);
    }

    //@notice Function that can be called by purchasers to refund
    //@notice Used only in case the ICO isn't successful.
    function refund() isFundable external {
      if(block.number <= fundingStopBlock) throw;
      if(totalUsedTokens >= minTokensForSale) throw;

      uint plrValue = balances[msg.sender];
      if(plrValue == 0) throw;

      balances[msg.sender] = 0;

      uint ethValue = plrValue.mul(tokenPrice).div(1e18);
      msg.sender.transfer(ethValue);
      Refund(msg.sender, ethValue);
    }

    //@notice Function used for funding in case of refund.
    //@notice Can be called only by the Owner
    function allocateForRefund() external payable onlyOwner returns (uint){
      //does nothing just accepts and stores the ether
      MoneyAddedForRefund(msg.sender,msg.value,this.balance);
      return this.balance;
    }

    //@notice Function to allocate tokens to an user.
    //@param `_to` the address of an user
    //@param `_tokens` number of tokens to be allocated.
    //@notice Can be called only when funding is not active and only by the owner
    function allocateTokens(address _to,uint _tokens) isNotFundable onlyOwner external {
      uint numOfTokens = _tokens.mul(1e18);
      totalPresale = totalPresale.add(numOfTokens);

      if(totalPresale > maxPresaleTokens) throw;

      balances[_to] = balances[_to].add(numOfTokens);
    }

    //@notice Function to unPause the contract.
    //@notice Can be called only when funding is active and only by the owner
    function unPauseTokenSale() onlyOwner isNotFundable external returns (bool){
      fundingMode = true;
      return fundingMode;
    }

    //@notice Function to pause the contract.
    //@notice Can be called only when funding is active and only by the owner
    function pauseTokenSale() onlyOwner isFundable external returns (bool){
      fundingMode = false;
      return !fundingMode;
    }

    //@notice Function to start the contract.
    //@param `_fundingStartBlock` - block from when ICO commences
    //@param `_fundingStopBlock` - block from when ICO ends.
    //@notice Can be called only when funding is not active and only by the owner
    function startTokenSale(uint _fundingStartBlock, uint _fundingStopBlock) onlyOwner isNotFundable external returns (bool){
      if(_fundingStopBlock <= _fundingStartBlock) throw;

      fundingStartBlock = _fundingStartBlock;
      fundingStopBlock = _fundingStopBlock;
      fundingMode = true;
      return fundingMode;
    }

    //@notice Function to get the current funding status.
    function fundingStatus() external constant returns (bool){
      return fundingMode;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"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":"futureSaleVault","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":"maxPresaleTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfTokensLeft","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":"fundingStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lockedTeamAllocationTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minTokensForSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"twentyThirtyTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"purchase","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"teamAllocation","outputs":[{"name":"","type":"address"}],"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":"unlockedTeamStorageVault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"allocateTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"futureTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"twentyThirtyVault","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"twentyThirtyAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"allocateForRefund","outputs":[{"name":"","type":"uint256"}],"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":"unsoldTokens","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unPauseTokenSale","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"unlockedTeamAllocationTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"pillarTokenFactory","outputs":[{"name":"","type":"address"}],"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":"futureSaleAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalAvailableForSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_fundingStartBlock","type":"uint256"},{"name":"_fundingStopBlock","type":"uint256"}],"name":"startTokenSale","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pauseTokenSale","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_pillarTokenFactory","type":"address"},{"name":"_icedWallet","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Migrate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_total","type":"uint256"}],"name":"MoneyAddedForRefund","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"}]

606060405260088054600160a060020a0319908116734162ad6eec341e438eabe85f52a941b0782108191790915560098054821673e72ba5c6f63ddd395df9582800e2821ce5a05d75179055600a805490911673f0231160bd1a2a2d25aed2f11b8360ebf56f61531790556000600c55341561007757fe5b604051604080620023c98339810160405280516020909101515b5b60038054600160a060020a03191633600160a060020a03161790555b600160a060020a03821615156100c45760006000fd5b600160a060020a03811615156100da5760006000fd5b600d8054600160a060020a03808516600160a060020a031992831617909255600060118190556b0295be96e6406697200000008155600b8054858516931692909217909155600854821681526001602052604090206a069e10de76676d080000009055600a54600391166a6342fd08f00f637800000061015861025e565b928352600160a060020a0390911660208301526040808301919091525190819003606001906000f080151561018957fe5b60078054600160a060020a031916600160a060020a039283161790819055811660009081526001602052604090206a6342fd08f00f63780000009055600954600391166a422ca8b0a00a42500000006101e061025e565b928352600160a060020a0390911660208301526040808301919091525190819003606001906000f080151561021157fe5b60068054600160a060020a031916600160a060020a0392831617908190551660009081526001602052604090206a422ca8b0a00a425000000090556010805460ff191690555b505061026f565b6040516104218062001fa883390190565b611d29806200027f6000396000f30060606040523615620001d75763ffffffff60e060020a60003504166306fdde038114620001ff578063095ea7b3146200029657806309bf6e4214620002ba57806318160ddd14620002e957806323b872dd146200030e5780632417f31d146200033857806327ea06b8146200035d578063313ce56714620003825780633fb2386514620003a757806349a8d33714620003ce5780634bb278f314620003f3578063517125fa1462000408578063590e1ae3146200042d5780635c20eec6146200044257806364edfbf014620004675780636816521a146200047357806370a0823114620004a25780637160138c14620004d35780637ff9b596146200050257806386ce028514620005275780638da5cb5b146200054b578063915489f6146200057a57806395d89b41146200059f5780639a3d1f3f14620006365780639e3df4581462000665578063a2119a3a1462000694578063a9059cbb14620006b0578063b670a4b114620006d4578063c353c2de1462000703578063cd729a91146200072a578063d02f5463146200074f578063dd62ed3e146200077e578063e454158c14620007b5578063e7eaaa0514620007e4578063ebbfb9941462000809578063f20f24ec1462000836578063f2fde38b146200085d575b620001fd5b60105460ff161515620001ef5760006000fd5b620001f96200087e565b5b5b565b005b34156200020857fe5b6200021262000a0d565b6040805160208082528351818301528351919283929083019185019080838382156200025b575b8051825260208311156200025b57601f19909201916020918201910162000239565b505050905090810190601f168015620002885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156200029f57fe5b620001fd600160a060020a036004351660243562000a30565b005b3415620002c357fe5b620002cd62000ad2565b60408051600160a060020a039092168252519081900360200190f35b3415620002f257fe5b620002fc62000ae1565b60408051918252519081900360200190f35b34156200031757fe5b620001fd600160a060020a036004358116906024351660443562000ae7565b005b34156200034157fe5b620002fc62000c01565b60408051918252519081900360200190f35b34156200036657fe5b620002fc62000c10565b60408051918252519081900360200190f35b34156200038b57fe5b620002fc62000c41565b60408051918252519081900360200190f35b3415620003b057fe5b620003ba62000c46565b604080519115158252519081900360200190f35b3415620003d757fe5b620002fc62000c50565b60408051918252519081900360200190f35b3415620003fc57fe5b620001fd62000c5f565b005b34156200041157fe5b620002fc62000e07565b60408051918252519081900360200190f35b34156200043657fe5b620001fd62000e16565b005b34156200044b57fe5b620002fc62000f45565b60408051918252519081900360200190f35b620001fd6200087e565b005b34156200047c57fe5b620002cd62000f54565b60408051600160a060020a039092168252519081900360200190f35b3415620004ab57fe5b620002fc600160a060020a036004351662000f63565b60408051918252519081900360200190f35b3415620004dc57fe5b620002cd62000f82565b60408051600160a060020a039092168252519081900360200190f35b34156200050b57fe5b620002fc62000f91565b60408051918252519081900360200190f35b34156200053057fe5b620001fd600160a060020a036004351660243562000f9c565b005b34156200055457fe5b620002cd6200106b565b60408051600160a060020a039092168252519081900360200190f35b34156200058357fe5b620002fc6200107a565b60408051918252519081900360200190f35b3415620005a857fe5b6200021262001089565b6040805160208082528351818301528351919283929083019185019080838382156200025b575b8051825260208311156200025b57601f19909201916020918201910162000239565b505050905090810190601f168015620002885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156200063f57fe5b620002cd620010a9565b60408051600160a060020a039092168252519081900360200190f35b34156200066e57fe5b620002cd620010b8565b60408051600160a060020a039092168252519081900360200190f35b620002fc620010c7565b60408051918252519081900360200190f35b3415620006b957fe5b620001fd600160a060020a036004351660243562001142565b005b3415620006dd57fe5b620002cd62001204565b60408051600160a060020a039092168252519081900360200190f35b34156200070c57fe5b620003ba62001213565b604080519115158252519081900360200190f35b34156200073357fe5b620002fc6200125e565b60408051918252519081900360200190f35b34156200075857fe5b620002cd6200126d565b60408051600160a060020a039092168252519081900360200190f35b34156200078757fe5b620002fc600160a060020a03600435811690602435166200127c565b60408051918252519081900360200190f35b3415620007be57fe5b620002cd620012a9565b60408051600160a060020a039092168252519081900360200190f35b3415620007ed57fe5b620002fc620012b8565b60408051918252519081900360200190f35b34156200081257fe5b620003ba600435602435620012c8565b604080519115158252519081900360200190f35b34156200083f57fe5b620003ba6200132e565b604080519115158252519081900360200190f35b34156200086657fe5b620001fd600160a060020a036004351662001374565b005b601054600090819060ff161515620008965760006000fd5b600e54431015620008a75760006000fd5b600f54431115620008b85760006000fd5b6011546b01b4c0595a86aa1c100000009010620008d55760006000fd5b6601c6bf52634000341015620008eb5760006000fd5b62000904346601c6bf5263400063ffffffff620013c216565b91506001821015620009165760006000fd5b600d54604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015156200094757fe5b6200096182670de0b6b3a764000063ffffffff620013e016565b60115490915062000979908263ffffffff6200141316565b60118190556b01b4c0595a86aa1c10000000901115620009995760006000fd5b600160a060020a033316600090815260016020526040902054620009c4908263ffffffff6200141316565b600160a060020a033316600081815260016020908152604080832094909455835185815293519293919260008051602062001cde8339815191529281900390910190a35b5b5050565b604080518082019091526006815260d160020a652824a62620a902602082015281565b801580159062000a645750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b1562000a705760006000fd5b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b600a54600160a060020a031681565b60005481565b60006060606436101562000afb5760006000fd5b600160a060020a03808616600090815260026020908152604080832033851684528252808320549388168352600190915290205490925062000b44908463ffffffff6200141316565b600160a060020a03808616600090815260016020526040808220939093559087168152205462000b7b908463ffffffff6200143116565b600160a060020a03861660009081526001602052604090205562000ba6828463ffffffff6200143116565b600160a060020a0380871660008181526002602090815260408083203386168452825291829020949094558051878152905192881693919260008051602062001cde833981519152929181900390910190a35b5b5050505050565b6a27b46536c66c8e3000000081565b6000600062000c376011546b01b4c0595a86aa1c100000006200143190919063ffffffff16565b90508091505b5090565b601281565b60105460ff165b90565b6a0d3c21bcecceda1000000081565b60105460009060ff16151562000c755760006000fd5b60035433600160a060020a0390811691161462000c925760006000fd5b600f54431162000ca25760006000fd5b6a1a784379d99db420000000601154101562000cbe5760006000fd5b600b54600160a060020a0316151562000cd75760006000fd5b6010805460ff1916905562000ceb6200145e565b60405190819003906000f080151562000d0057fe5b60048054600160a060020a031916600160a060020a0392831617908190551660009081526001602052604090206a0d3c21bcecceda10000000905562000d4562000c10565b9050600081111562000dce57600b54600a90600160a060020a03168262000d6b6200146f565b928352600160a060020a0390911660208301526040808301919091525190819003606001906000f080151562000d9d57fe5b60058054600160a060020a031916600160a060020a0392831617908190551660009081526001602052604090208190555b600d54604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151562000e0157fe5b5b5b5b50565b6a1a784379d99db42000000081565b601054600090819060ff16151562000e2e5760006000fd5b600f54431162000e3e5760006000fd5b6011546a1a784379d99db420000000901062000e5a5760006000fd5b600160a060020a033316600090815260016020526040902054915081151562000e835760006000fd5b600160a060020a03331660009081526001602052604081205562000ecf670de0b6b3a764000062000ec2846601c6bf5263400063ffffffff620013e016565b9063ffffffff620013c216565b604051909150600160a060020a0333169082156108fc029083906000818181858888f19350505050151562000f0057fe5b604080518281529051600160a060020a033316917fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d919081900360200190a25b5b5050565b6a422ca8b0a00a425000000081565b600454600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b600854600160a060020a031681565b6601c6bf5263400081565b60105460009060ff161562000fb15760006000fd5b60035433600160a060020a0390811691161462000fce5760006000fd5b62000fe882670de0b6b3a764000063ffffffff620013e016565b600c5490915062001000908263ffffffff6200141316565b600c8190556a27b46536c66c8e300000009011156200101f5760006000fd5b600160a060020a0383166000908152600160205260409020546200104a908263ffffffff6200141316565b600160a060020a0384166000908152600160205260409020555b5b5b505050565b600354600160a060020a031681565b6a6342fd08f00f637800000081565b604080518082019091526003815260e960020a6228262902602082015281565b600954600160a060020a031681565b600654600160a060020a031681565b60035460009033600160a060020a03908116911614620010e75760006000fd5b60408051600160a060020a0333811682523460208301523016318183015290517f52380f65eb7b0edd2cdf99c37d3a4df7f628f6c5e8653d6e538ba3ae21a668be9181900360600190a150600160a060020a033016315b5b90565b60406044361015620011545760006000fd5b600160a060020a0333166000908152600160205260409020546200117f908363ffffffff6200143116565b600160a060020a033381166000908152600160205260408082209390935590851681522054620011b6908363ffffffff6200141316565b600160a060020a0380851660008181526001602090815260409182902094909455805186815290519193339093169260008051602062001cde83398151915292918290030190a35b5b505050565b600554600160a060020a031681565b60035460009033600160a060020a03908116911614620012335760006000fd5b60105460ff1615620012455760006000fd5b506010805460ff19166001179081905560ff165b5b5b90565b6a069e10de76676d0800000081565b600d54600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600754600160a060020a031681565b6b01b4c0595a86aa1c1000000081565b60035460009033600160a060020a03908116911614620012e85760006000fd5b60105460ff1615620012fa5760006000fd5b828211620013085760006000fd5b50600e829055600f8190556010805460ff19166001179081905560ff165b5b5b92915050565b60035460009033600160a060020a039081169116146200134e5760006000fd5b60105460ff161515620013615760006000fd5b506010805460ff1916905560015b5b5b90565b60035433600160a060020a03908116911614620013915760006000fd5b600160a060020a0381161562000e015760038054600160a060020a031916600160a060020a0383161790555b5b5b50565b600060008284811515620013d257fe5b0490508091505b5092915050565b600082820262001408841580620014025750838583811515620013ff57fe5b04145b6200144c565b8091505b5092915050565b600082820162001408848210156200144c565b8091505b5092915050565b600062001441838311156200144c565b508082035b92915050565b80151562000e015760006000fd5b5b50565b60405161043c806200148183390190565b60405161042180620018bd8339019056006060604052600060045560058054600160a060020a031916733f5d90d5cc0652aaa40519114d007bf119afe1cf179055341561003757fe5b5b60005b60008054600160a060020a03191633600160a060020a03161790555b5060028054600160a060020a03191633600160a060020a0316179055630163f50061008f42826401000000006100c181026102d91704565b600155600554600160a060020a031660009081526003602052604090206a0d3c21bcecceda1000000090555b506100fb565b60008282016100df848210156401000000006102f56100ea82021704565b8091505b5092915050565b8015156100f75760006000fd5b5b50565b6103328061010a6000396000f300606060405236156100675763ffffffff60e060020a60003504166315d3b5d88114610069578063213d7a091461008b57806349a8d337146100b75780638cb1e9c1146100d95780638da5cb5b146100fb578063a69df4b514610127578063f2fde38b14610131575bfe5b341561007157fe5b61007961014f565b60408051918252519081900360200190f35b341561009357fe5b61009b61015f565b60408051600160a060020a039092168252519081900360200190f35b34156100bf57fe5b61007961016e565b60408051918252519081900360200190f35b34156100e157fe5b61007961017d565b60408051918252519081900360200190f35b341561010357fe5b61009b610183565b60408051600160a060020a039092168252519081900360200190f35b61012f610192565b005b341561013957fe5b61012f600160a060020a036004351661028d565b005b6a0d3c21bcecceda100000005b90565b600554600160a060020a031681565b6a0d3c21bcecceda1000000081565b60015481565b600054600160a060020a031681565b6001544210156101a25760006000fd5b600454151561021c576002546040805160006020918201819052825160e060020a6370a08231028152600160a060020a033081166004830152935193909416936370a08231936024808301949391928390030190829087803b151561020357fe5b6102c65a03f1151561021157fe5b505060405151600455505b600254600554600480546040805160e060020a63a9059cbb028152600160a060020a0394851693810193909352602483019190915251919092169163a9059cbb91604480830192600092919082900301818387803b151561027957fe5b6102c65a03f1151561028757fe5b5050505b565b60005433600160a060020a039081169116146102a95760006000fd5b600160a060020a038116156102d45760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b60008282016102ea848210156102f5565b8091505b5092915050565b8015156102d45760006000fd5b5b505600a165627a7a723058200c170b71dfe96dea1805f27c53a0944c2e7834e47ef1f9273b827d065207c8fa002960606040526000600555341561001157fe5b6040516060806104218339810160409081528151602083015191909201515b60005b60008054600160a060020a03191633600160a060020a03161790555b83151561005c5760006000fd5b600160a060020a03831615156100725760006000fd5b5060038054600160a060020a03191633600160a060020a03161790556301e1338083026100ac42826401000000006100d981026102b71704565b6001556002829055600160a060020a03831660009081526004602052604090208290555b50505050610113565b60008282016100f7848210156401000000006102a661010282021704565b8091505b5092915050565b80151561010f5760006000fd5b5b50565b6102ff806101226000396000f300606060405263ffffffff60e060020a60003504166315d3b5d881146100425780638da5cb5b14610064578063a69df4b514610090578063f2fde38b1461009a575bfe5b341561004a57fe5b6100526100b8565b60408051918252519081900360200190f35b341561006c57fe5b6100746100bf565b60408051600160a060020a039092168252519081900360200190f35b6100986100ce565b005b34156100a257fe5b610098600160a060020a036004351661020e565b005b6002545b90565b600054600160a060020a031681565b600060006001544210156100e25760006000fd5b600554151561015c576003546040805160006020918201819052825160e060020a6370a08231028152600160a060020a033081166004830152935193909416936370a08231936024808301949391928390030190829087803b151561014357fe5b6102c65a03f1151561015157fe5b505060405151600555505b600160a060020a033316600090815260046020526040812080549190556002546005549193506101a291610196908563ffffffff61025a16565b9063ffffffff61028916565b6003546040805160e060020a63a9059cbb028152600160a060020a03338116600483015260248201859052915193945091169163a9059cbb9160448082019260009290919082900301818387803b15156101f857fe5b6102c65a03f1151561020657fe5b5050505b5050565b60005433600160a060020a0390811691161461022a5760006000fd5b600160a060020a038116156102555760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600082820261027e841580610279575083858381151561027657fe5b04145b6102a6565b8091505b5092915050565b60006000828481151561029857fe5b0490508091505b5092915050565b8015156102555760006000fd5b5b50565b600082820161027e848210156102a6565b8091505b50929150505600a165627a7a72305820c4ae36a7545c31672d946cd91cf7a40cd2f28581238d70d2980c389d2add4afa0029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b71cf7a484b760ec630dc1e345f06a0251f84ac0978d90f31f40b76b77092973002960606040526000600555341561001157fe5b6040516060806104218339810160409081528151602083015191909201515b60005b60008054600160a060020a03191633600160a060020a03161790555b83151561005c5760006000fd5b600160a060020a03831615156100725760006000fd5b5060038054600160a060020a03191633600160a060020a03161790556301e1338083026100ac42826401000000006100d981026102b71704565b6001556002829055600160a060020a03831660009081526004602052604090208290555b50505050610113565b60008282016100f7848210156401000000006102a661010282021704565b8091505b5092915050565b80151561010f5760006000fd5b5b50565b6102ff806101226000396000f300606060405263ffffffff60e060020a60003504166315d3b5d881146100425780638da5cb5b14610064578063a69df4b514610090578063f2fde38b1461009a575bfe5b341561004a57fe5b6100526100b8565b60408051918252519081900360200190f35b341561006c57fe5b6100746100bf565b60408051600160a060020a039092168252519081900360200190f35b6100986100ce565b005b34156100a257fe5b610098600160a060020a036004351661020e565b005b6002545b90565b600054600160a060020a031681565b600060006001544210156100e25760006000fd5b600554151561015c576003546040805160006020918201819052825160e060020a6370a08231028152600160a060020a033081166004830152935193909416936370a08231936024808301949391928390030190829087803b151561014357fe5b6102c65a03f1151561015157fe5b505060405151600555505b600160a060020a033316600090815260046020526040812080549190556002546005549193506101a291610196908563ffffffff61025a16565b9063ffffffff61028916565b6003546040805160e060020a63a9059cbb028152600160a060020a03338116600483015260248201859052915193945091169163a9059cbb9160448082019260009290919082900301818387803b15156101f857fe5b6102c65a03f1151561020657fe5b5050505b5050565b60005433600160a060020a0390811691161461022a5760006000fd5b600160a060020a038116156102555760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600082820261027e841580610279575083858381151561027657fe5b04145b6102a6565b8091505b5092915050565b60006000828481151561029857fe5b0490508091505b5092915050565b8015156102555760006000fd5b5b50565b600082820161027e848210156102a6565b8091505b50929150505600a165627a7a72305820c4ae36a7545c31672d946cd91cf7a40cd2f28581238d70d2980c389d2add4afa002900000000000000000000000005a9afd79a05c3e1afefa282ef8d58f9366b160b000000000000000000000000ff678a624472fe0d195e3cac47dec2375dc2d8be

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

00000000000000000000000005a9afd79a05c3e1afefa282ef8d58f9366b160b000000000000000000000000ff678a624472fe0d195e3cac47dec2375dc2d8be

-----Decoded View---------------
Arg [0] : _pillarTokenFactory (address): 0x05A9aFD79a05C3e1AFEFa282Ef8d58F9366B160B
Arg [1] : _icedWallet (address): 0xff678a624472fe0d195e3caC47dEC2375Dc2d8bE

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000005a9afd79a05c3e1afefa282ef8d58f9366b160b
Arg [1] : 000000000000000000000000ff678a624472fe0d195e3cac47dec2375dc2d8be


Swarm Source

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

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.