Sponsored Link:   Ambrosus Main-Net Launching: Stake AMB in Masternodes and get regular rewards for maintaining network integrity.
 Latest 25 txns from a total Of 949 transactions

TxHash Age From To Value [TxFee]
0xb4952bf2dead0813fc3fa382483a9d1bd9cc2038cd3be120f450bd8cbb7773c622 days 16 hrs ago0x37155ce05693654355ecc6595c6df6a3d1760ea4  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.11104397 Ether0.000788865
0x784bc0f58511bf5861867a7b9ce1c91e5669c50425eb8e625347368a5673691137 days 10 hrs ago0xa9e260800b8b589b8492300a1f417e6fbe4a3a99  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.001 Ether0.00076496
0x245b840b10b2b630ab2618b204c2868b1c0ec6f4ab983db88eab16a3f8206e5837 days 10 hrs ago0xa9e260800b8b589b8492300a1f417e6fbe4a3a99  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.003 Ether0.000861
0x96d85ee19ca7908aa0e0891e46a0bc06abbdc38ce627253345be9815073418e337 days 10 hrs ago0xa9e260800b8b589b8492300a1f417e6fbe4a3a99  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.005 Ether0.000861
0xdbd5a8e3f9cb919b38f2e7df63d902899c129c4c71cf4c90464cdf3cc182a65a37 days 11 hrs ago0xa9e260800b8b589b8492300a1f417e6fbe4a3a99  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.005 Ether0.000502005
0x8ff5dcd5f3abb2a4795fc40496368452587e8fc07a04cd41528345a21ae3831f52 days 2 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.000066
0xff835d950397386aee59cdb7379f3df88cef17137e7e0e603179997333b4b22061 days 15 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.007399044
0x81cc3de00c400955227e38c935999df68ec113e5080ccff0df04e8a3d42d5fb361 days 18 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.016308099
0x7aeb33fd76496e44c5be7c840c6a5e4f89cd3039f6c5b1bd4ff8933be5e2a54261 days 20 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.029599425
0xbda4dce77137c814c2b8691eb6d6997c974ee156573bc76e781baecf7a6b161761 days 20 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.036973017
0x1ed536b1e353b83b798ba2578e7dc112a3dc1e779e2f52481b8d911eb74cd20761 days 20 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.036977049
0x9cdcfc541e5063f6ded811474babdca668dcba2fcd202e27cea3b4d08aa431d167 days 5 hrs ago0xe239bf93ba6c056f7f3983fbe324ffafcfd36c52  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.185 Ether0.00250404
0x89620fc5c2318d831698216c6f44c6cc4e6df2e0067bd630691179fa56945a5167 days 6 hrs ago0x4097427c5eeca4879fb3e277389af03247a0a06f  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.07 Ether0.00205404
0x5cf4a0d2eabf5c29077525d2b809403cb3b2e032c4acc9d4ec70ba2f90f5ad3267 days 7 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.001371786
0x579387f6a1256c74f76764db9333d92a277313d42341c5ce8b1969d30343c5d967 days 8 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.024499176
0x117bfb98311ff8c29f305407d5d328db2d82a0b7bbdc7f11251690426b78fc9c67 days 8 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.03304276
0x0124719ce478ce4c99bfef65b88d7148b5f4575a9368a35f81ae87411cc2286767 days 8 hrs ago0x7439ae37d5e29633e847c120ca6db728107f9156  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0 Ether0.033037128
0x15fb90215bcff7681d12eaf95b58e6c1f85ff8ba3453ccbc2c1f1d964a204b6a67 days 9 hrs ago0xa4fb007b531e1fa19175f360fbda4a08e380574c  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.1 Ether0.00166936
0xf4b2a10cdd35b87b3642d7b91962b0c8ca5bcea0e7afcf927bf016784654e26e67 days 13 hrs ago0x075b8f6b0237f584ab988d1f34ba6d28591c0770  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.04 Ether0.003422188
0x728df5d6e9150d8e0449ee17c8b5e9c86b99291324499586df4778706c2398c067 days 14 hrs ago0x15660e7295463eaaf58b5eb40c5a7300c0a0d6f4  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef1.1 Ether0.002670976
0x5df108b894c52cc033f094221c6bde24f9bfe426b2e409861089f0c95c2b8e0b67 days 16 hrs ago0x55293a1ad2715e269982312b33df4757b9ecd711  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef1 Ether0.00250404
0xabf79fdedc9be833f782edb4d9fd312095bf8ecf633279d88eb7cd7b23a43fb067 days 22 hrs ago0x89527b2b3f24b0cf546726fb4d8fcfe29920f1e9  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.04 Ether0.002587508
0x207ee8389fa589a4075d159b70592f33bed5825725ee46efc26712f9f5b4286668 days 3 hrs ago0x888c5dcef66a01a7d5db9a01c41dc718bf51d8aa  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.11 Ether0.00250404
0x08b00ed20bd5aa6755987f87412ffe976486428132ba1fc90a36d512b124299b68 days 6 hrs ago0x7bd769993033e826083d353818d3f65407051c21  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.07 Ether0.00250404
0x6e1d0ee656cc873628edf16711c4c1e9b794bce949167edb4fe99e7224361ea268 days 7 hrs ago0x2aa933347018ed5911d2bdadb16fc7b9cff0970c  IN   0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0.49 Ether0.00250404
[ 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
0xff835d950397386aee59cdb7379f3df88cef17137e7e0e603179997333b4b220562358961 days 15 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef  Contract Creation0 Ether
0xff835d950397386aee59cdb7379f3df88cef17137e7e0e603179997333b4b220562358961 days 15 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef  Contract Creation0 Ether
0x9cdcfc541e5063f6ded811474babdca668dcba2fcd202e27cea3b4d08aa431d1559159667 days 5 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.185 Ether
0x89620fc5c2318d831698216c6f44c6cc4e6df2e0067bd630691179fa56945a51559143667 days 6 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.07 Ether
0x15fb90215bcff7681d12eaf95b58e6c1f85ff8ba3453ccbc2c1f1d964a204b6a559077867 days 9 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.1 Ether
0xf4b2a10cdd35b87b3642d7b91962b0c8ca5bcea0e7afcf927bf016784654e26e558980767 days 13 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.04 Ether
0x728df5d6e9150d8e0449ee17c8b5e9c86b99291324499586df4778706c2398c0558953667 days 14 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e31.1 Ether
0x5df108b894c52cc033f094221c6bde24f9bfe426b2e409861089f0c95c2b8e0b558895667 days 16 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e31 Ether
0xabf79fdedc9be833f782edb4d9fd312095bf8ecf633279d88eb7cd7b23a43fb0558762067 days 22 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.04 Ether
0x207ee8389fa589a4075d159b70592f33bed5825725ee46efc26712f9f5b42866558653068 days 3 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.11 Ether
0x08b00ed20bd5aa6755987f87412ffe976486428132ba1fc90a36d512b124299b558567468 days 6 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.07 Ether
0x6e1d0ee656cc873628edf16711c4c1e9b794bce949167edb4fe99e7224361ea2558557768 days 7 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.49 Ether
0xda0fcad8b3a59c96641e11c15913011ffcf879bbe7609627595644fd93f5cb50558555468 days 7 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.1 Ether
0x15d2d6510155cb5406e90b14e5aec7775273f63898dfb285108e27e143a374ba558531168 days 8 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.09 Ether
0xaf32d7319b9305482a1eb1069d103a09ba924c8eb25fb8904e34aa48d6fbab4e558077069 days 3 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.1 Ether
0xf8b7ec90f6a29aba57ef3747b4e5731f1a9cbd1d177cacb2605b09f544dd8c4a557845569 days 12 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.05 Ether
0xc6964a2c73b62600970f83e4cac78941e54c753e735e2a7dd00950a8550fd8f4557811969 days 14 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.66 Ether
0x365cfe4a28caaa95c2eccc6b711824b9ec10ce0c5c347cab2fcd5cedd3947aa9557729569 days 17 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.034 Ether
0x65ed038aa89fc4df61a00a5fbf1db0094918622d0ad18a11e62d953e7a48f59a557680869 days 19 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.3 Ether
0x7befece0e4d56a42d227247edc2e9326a5f35e55332e485bed9d7bcbcee41bfe557276370 days 12 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.12 Ether
0x9ef006c79a5e4e496537d945c7d946d4d86f65f7605a210ff6fe4e0f1e8eb45a557178070 days 16 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.7 Ether
0xbe7c92931f968b57bf7594df9a03572932e886162796b6d758b69012cff9992a557109370 days 19 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.003 Ether
0x2d0892f03b19755873f70e1b06d626f58c55bfab53d6f19bdb4bb4bf57dce8e1556417871 days 23 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.12005 Ether
0xd3606b9f830a0defb45c80a3c8f15c5f3e31bcd0db2ee6d15e7b7a0e9057f1ae555783573 days 2 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e31 Ether
0x5921589a35397dda0b7c0308e531f66f7ace2965dd64d830156c4d89a5f300cc555782973 days 2 hrs ago0xcffbd9e9005db779ad2a897ae7b4ec16e32cb6ef0x3f39cd8a8ae0540f0fd38ab695d36cecf0f254e30.08 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: BitcoinusCrowdsale
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

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

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

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

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
  function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
    assert(token.transfer(to, value));
  }

  function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
    assert(token.transferFrom(from, to, value));
  }

  function safeApprove(ERC20 token, address spender, uint256 value) internal {
    assert(token.approve(spender, value));
  }
}

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


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


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


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


  /**
   * @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) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

/**
 * @title RefundVault
 * @dev This contract is used for storing funds while a crowdsale
 * is in progress. Supports refunding the money if crowdsale fails,
 * and forwarding it if crowdsale is successful.
 */
contract RefundVault is Ownable {
  using SafeMath for uint256;

  enum State { Active, Refunding, Closed }

  mapping (address => uint256) public deposited;
  address public wallet;
  State public state;

  event Closed();
  event RefundsEnabled();
  event Refunded(address indexed beneficiary, uint256 weiAmount);

  function RefundVault(address _wallet) public {
    require(_wallet != address(0));
    wallet = _wallet;
    state = State.Active;
  }

  function deposit(address investor) onlyOwner public payable {
    require(state == State.Active);
    deposited[investor] = deposited[investor].add(msg.value);
  }

  function close() onlyOwner public {
    require(state == State.Active);
    state = State.Closed;
    Closed();
    wallet.transfer(this.balance);
  }

  function enableRefunds() onlyOwner public {
    require(state == State.Active);
    state = State.Refunding;
    RefundsEnabled();
  }

  function refund(address investor) public {
    require(state == State.Refunding);
    uint256 depositedValue = deposited[investor];
    deposited[investor] = 0;
    investor.transfer(depositedValue);
    Refunded(investor, depositedValue);
  }
}

/**
 * @title TokenTimelock
 * @dev TokenTimelock is a token holder contract that will allow a
 * beneficiary to extract the tokens after a given release time
 */
contract TokenTimelock {
  using SafeERC20 for ERC20Basic;

  // ERC20 basic token contract being held
  ERC20Basic public token;

  // beneficiary of tokens after they are released
  address public beneficiary;

  // timestamp when token release is enabled
  uint256 public releaseTime;

  function TokenTimelock(ERC20Basic _token, address _beneficiary, uint256 _releaseTime) public {
    require(_releaseTime > now);
    token = _token;
    beneficiary = _beneficiary;
    releaseTime = _releaseTime;
  }

  /**
   * @notice Transfers tokens held by timelock to beneficiary.
   */
  function release() public {
    require(now >= releaseTime);

    uint256 amount = token.balanceOf(this);
    require(amount > 0);

    token.safeTransfer(beneficiary, amount);
  }
}


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

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

contract BitcoinusToken is ERC20, Ownable {
  using SafeMath for uint256;

  string public constant name = "Bitcoinus";
    string public constant symbol = "BITS";
    uint8 public constant decimals = 18;

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

  event Mint(address indexed to, uint256 amount);
    event MintFinished();

  bool public mintingFinished = false;

  modifier canTransfer() {
    require(mintingFinished);
    _;
  }

  /**
  * @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, uint256 _value) public canTransfer returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

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


  /**
  * @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 uint256 the amount of tokens to be transferred
  */
  function transferFrom(address _from, address _to, uint256 _value) public canTransfer returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

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

  /**
  * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
  *
  * Beware that changing an allowance with this method brings the risk that someone may use both the old
  * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
  * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
  * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
  * @param _spender The address which will spend the funds.
  * @param _value The amount of tokens to be spent.
  */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
  * @dev Function to check the amount of tokens that 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 uint256 specifying the amount of tokens still available for the spender.
  */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
  * @dev Increase the amount of tokens that an owner allowed to a spender.
  *
  * approve should be called when allowed[_spender] == 0. To increment
  * allowed value is better to use this function to avoid 2 calls (and wait until
  * the first transaction is mined)
  * From MonolithDAO Token.sol
  * @param _spender The address which will spend the funds.
  * @param _addedValue The amount of tokens to increase the allowance by.
  */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
  * @dev Decrease the amount of tokens that an owner allowed to a spender.
  *
  * approve should be called when allowed[_spender] == 0. To decrement
  * allowed value is better to use this function to avoid 2 calls (and wait until
  * the first transaction is mined)
  * From MonolithDAO Token.sol
  * @param _spender The address which will spend the funds.
  * @param _subtractedValue The amount of tokens to decrease the allowance by.
  */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
  * @dev Function to mint tokens
  * @param _to The address that will receive the minted tokens.
  * @param _amount The amount of tokens to mint.
  * @return A boolean that indicates if the operation was successful.
  */
  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    Mint(_to, _amount);
    Transfer(address(0), _to, _amount);
    return true;
  }

  /**
  * @dev Function to stop minting new tokens.
  * @return True if the operation was successful.
  */
  function finishMinting() onlyOwner canMint public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
}

contract BitcoinusCrowdsale is Ownable {
  using SafeMath for uint256;
  // Wallet where all ether will be stored
  address public constant WALLET = 0x3f39CD8a8Ae0540F0FD38aB695D36ceCf0f254E3;
  // Wallet for team tokens
  address public constant TEAM_WALLET = 0x35317879205E9fd59AeeC429b5494B84D8507C20;
  // Wallet for bounty tokens
  address public constant BOUNTY_WALLET = 0x088C48cA51A024909f06DF60597492492Eb66C2a;
  // Wallet for company tokens
  address public constant COMPANY_WALLET = 0x576B5cA75d4598dC31640F395F6201C5Dd0EbbB4;

  uint256 public constant TEAM_TOKENS = 4000000e18;
  uint256 public constant TEAM_TOKENS_LOCK_PERIOD = 60 * 60 * 24 * 365; // 365 days
  uint256 public constant COMPANY_TOKENS = 10000000e18;
  uint256 public constant COMPANY_TOKENS_LOCK_PERIOD = 60 * 60 * 24 * 180; // 180 days
  uint256 public constant BOUNTY_TOKENS = 1000000e18;
  uint256 public constant SOFT_CAP = 3000000e18;
  uint256 public constant ICO_TOKENS = 50000000e18;
  uint256 public constant START_TIME = 1516579200; // 2018/01/22 00:00 UTC +0
  uint256 public constant END_TIME = 1525996800; // 2018/05/11 00:00 UTC +0
  uint256 public constant RATE = 1000;
  uint256 public constant LARGE_PURCHASE = 1500e18;
  uint256 public constant LARGE_PURCHASE_BONUS = 5;

  Stage[] stages;

  struct Stage {
    uint256 till;
    uint256 cap;
    uint8 discount;
  }

  // The token being sold
  BitcoinusToken public token;

  // amount of raised money in wei
  uint256 public weiRaised;

  // refund vault used to hold funds while crowdsale is running
    RefundVault public vault;

  uint256 public currentStage = 0;
    bool public isFinalized = false;

  address tokenMinter;

  TokenTimelock public teamTimelock;
  TokenTimelock public companyTimelock;

  /**
  * event for token purchase logging
  * @param purchaser who paid for the tokens
  * @param beneficiary who got the tokens
  * @param value weis paid for purchase
  * @param amount amount of tokens purchased
  */
  event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);

  event Finalized();
  /**
   * When there no tokens left to mint and token minter tries to manually mint tokens
   * this event is raised to signal how many tokens we have to charge back to purchaser
   */
  event ManualTokenMintRequiresRefund(address indexed purchaser, uint256 value);

  function BitcoinusCrowdsale(address _token) public {
    stages.push(Stage({ till: 1519344000, discount: 47, cap: 8000000e18 })); // 2018/02/23 00:00 UTC +0
    stages.push(Stage({ till: 1521849600, discount: 40, cap: 17000000e18 })); // 2018/03/24 00:00 UTC +0
    stages.push(Stage({ till: 1523836800, discount: 30, cap: 15000000e18 })); // 2018/04/16 00:00 UTC +0
    stages.push(Stage({ till: 1525219200, discount: 15, cap: 7000000e18 })); // 2018/05/02 00:00 UTC +0
    stages.push(Stage({ till: 1525996800, discount: 5,  cap: 3000000e18 })); // 2018/05/11 00:00 UTC +0

    token = BitcoinusToken(_token);
    vault = new RefundVault(WALLET);
    tokenMinter = msg.sender;
  }

  modifier onlyTokenMinterOrOwner() {
    require(msg.sender == tokenMinter || msg.sender == owner);
    _;
  }

  // low level token purchase function
  function buyTokens(address beneficiary) public payable {
    require(beneficiary != address(0));
    require(validPurchase());

    uint256 weiAmount = msg.value;
    uint256 nowTime = getNow();
    // this loop moves stages and insures correct stage according to date
    while (currentStage < stages.length && stages[currentStage].till < nowTime) {
      stages[stages.length - 1].cap = stages[stages.length - 1].cap.add(stages[currentStage].cap); // move all unsold tokens to last stage
      stages[currentStage].cap = 0;
      currentStage = currentStage.add(1);
    }

    // calculate token amount to be created
    uint256 tokens = calculateTokens(weiAmount);

    uint256 excess = appendContribution(beneficiary, tokens);

    if (excess > 0) { // hard cap reached, no more tokens to mint
      uint256 refund = excess.mul(weiAmount).div(tokens);
      weiAmount = weiAmount.sub(refund);
      msg.sender.transfer(refund);
    }

    // update state
    weiRaised = weiRaised.add(weiAmount);
    TokenPurchase(msg.sender, beneficiary, weiAmount, tokens.sub(excess));

    if (goalReached()) {
      WALLET.transfer(weiAmount);
    } else {
      vault.deposit.value(weiAmount)(msg.sender);
    }
  }

  function calculateTokens(uint256 _weiAmount) internal view returns (uint256) {
    uint256 tokens = _weiAmount.mul(RATE).mul(100).div(uint256(100).sub(stages[currentStage].discount));

    uint256 bonus = 0;
    if (currentStage > 0 && tokens >= LARGE_PURCHASE) {
      bonus = tokens.mul(LARGE_PURCHASE_BONUS).div(100);
    }

    return tokens.add(bonus);
  }

  function appendContribution(address _beneficiary, uint256 _tokens) internal returns (uint256) {
    uint256 excess = _tokens;
    uint256 tokensToMint = 0;

    while (excess > 0 && currentStage < stages.length) {
      Stage storage stage = stages[currentStage];
      if (excess >= stage.cap) {
        excess = excess.sub(stage.cap);
        tokensToMint = tokensToMint.add(stage.cap);
        stage.cap = 0;
        currentStage = currentStage.add(1);
      } else {
        stage.cap = stage.cap.sub(excess);
        tokensToMint = tokensToMint.add(excess);
        excess = 0;
      }
    }
    token.mint(_beneficiary, tokensToMint);
    return excess;
  }

  // @return true if the transaction can buy tokens
  function validPurchase() internal view returns (bool) {
    bool withinPeriod = getNow() >= START_TIME && getNow() <= END_TIME;
    bool nonZeroPurchase = msg.value != 0;
    bool canMint = token.totalSupply() < ICO_TOKENS;
    bool validStage = (currentStage < stages.length);
    return withinPeriod && nonZeroPurchase && canMint && validStage;
  }

  // if crowdsale is unsuccessful, investors can claim refunds here
    function claimRefund() public {
      require(isFinalized);
      require(!goalReached());

      vault.refund(msg.sender);
  }

  /**
    * @dev Must be called after crowdsale ends, to do some extra finalization
    * work. Calls the contract's finalization function.
    */
    function finalize() onlyOwner public {
      require(!isFinalized);
      require(hasEnded());

      if (goalReached()) {
      vault.close();

      teamTimelock = new TokenTimelock(token, TEAM_WALLET, getNow().add(TEAM_TOKENS_LOCK_PERIOD));
      token.mint(teamTimelock, TEAM_TOKENS);

      companyTimelock = new TokenTimelock(token, COMPANY_WALLET, getNow().add(COMPANY_TOKENS_LOCK_PERIOD));
      token.mint(companyTimelock, COMPANY_TOKENS);

      token.mint(BOUNTY_WALLET, BOUNTY_TOKENS);

      token.finishMinting();
      token.transferOwnership(0x1);
      } else {
          vault.enableRefunds();
      }

      Finalized();

      isFinalized = true;
    }

  // @return true if crowdsale event has ended
  function hasEnded() public view returns (bool) {
    return getNow() > END_TIME || token.totalSupply() == ICO_TOKENS;
  }

    function goalReached() public view returns (bool) {
      return token.totalSupply() >= SOFT_CAP;
    }

    // fallback function can be used to buy tokens or claim refund
    function () external payable {
      if (!isFinalized) {
        buyTokens(msg.sender);
    } else {
      claimRefund();
      }
    }

    function mintTokens(address[] _receivers, uint256[] _amounts) external onlyTokenMinterOrOwner {
    require(_receivers.length > 0 && _receivers.length <= 100);
    require(_receivers.length == _amounts.length);
    require(!isFinalized);
    for (uint256 i = 0; i < _receivers.length; i++) {
      address receiver = _receivers[i];
      uint256 amount = _amounts[i];

        require(receiver != address(0));
        require(amount > 0);

        uint256 excess = appendContribution(receiver, amount);

        if (excess > 0) {
          ManualTokenMintRequiresRefund(receiver, excess);
        }
    }
    }

    function setTokenMinter(address _tokenMinter) public onlyOwner {
      require(_tokenMinter != address(0));
      tokenMinter = _tokenMinter;
    }

  function getNow() internal view returns (uint256) {
    return now;
  }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"TEAM_WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"END_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamTimelock","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"COMPANY_TOKENS_LOCK_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentStage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LARGE_PURCHASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BOUNTY_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenMinter","type":"address"}],"name":"setTokenMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"goalReached","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"companyTimelock","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LARGE_PURCHASE_BONUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"COMPANY_WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ICO_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SOFT_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"COMPANY_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receivers","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"mintTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BOUNTY_WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"START_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_TOKENS_LOCK_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ManualTokenMintRequiresRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260006005556000600660006101000a81548160ff02191690831515021790555034156200003057600080fd5b6040516020806200378183398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018054806001018281620000a391906200049c565b91600052602060002090600302016000606060405190810160405280635a8f598081526020016a069e10de76676d080000008152602001602f60ff168152509091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff160217905550505050600180548060010182816200013591906200049c565b91600052602060002090600302016000606060405190810160405280635ab5950081526020016a0e0fe3d8bb9bc7b10000008152602001602860ff168152509091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff16021790555050505060018054806001018281620001c791906200049c565b91600052602060002090600302016000606060405190810160405280635ad3e78081526020016a0c685fa11e01ec6f0000008152602001601e60ff168152509091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff160217905550505050600180548060010182816200025991906200049c565b91600052602060002090600302016000606060405190810160405280635ae8ff8081526020016a05ca4ec2a79a7f670000008152602001600f60ff168152509091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff16021790555050505060018054806001018281620002eb91906200049c565b91600052602060002090600302016000606060405190810160405280635af4dd0081526020016a027b46536c66c8e30000008152602001600560ff168152509091909150600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff16021790555050505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733f39cd8a8ae0540f0fd38ab695d36cecf0f254e3620003c7620004d1565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f08015156200041457600080fd5b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000528565b815481835581811511620004cc57600302816003028360005260206000209182019101620004cb9190620004e2565b5b505050565b604051610a778062002d0a83390190565b6200052591905b80821115620005215760008082016000905560018201600090556002820160006101000a81549060ff021916905550600301620004e9565b5090565b90565b6127d280620005386000396000f300606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632b905bf6146101c557806337ba682d1461021a5780634042b66f146102435780634bb278f31461026c5780634fed6a101461028157806351ae7f95146102d65780635bf5d54c146102ff57806361dbbc801461032857806363f0ca5a14610351578063664e97041461037a5780636d9cdbc6146103a357806378533e90146103f85780637d3d65221461043157806381ff4d0b1461045e5780638cc519bf146104875780638d4e4083146104dc5780638da5cb5b146105095780638e885cbb1461055e578063a0a0d33114610587578063b5545a3c146105dc578063b6062b5b146105f1578063b652dc2f1461061a578063c1e41f3814610643578063c2acc5cf1461066c578063dc6055dd146106ae578063ddaa26ad14610703578063ddb31cea1461072c578063ec8ac4d814610755578063ecb70fb714610783578063f2fde38b146107b0578063fbfa77cf146107e9578063fc0c546a1461083e575b600660009054906101000a900460ff1615156101ba576101b533610893565b6101c3565b6101c2610c78565b5b005b34156101d057600080fd5b6101d8610d79565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561022557600080fd5b61022d610d91565b6040518082815260200191505060405180910390f35b341561024e57600080fd5b610256610d99565b6040518082815260200191505060405180910390f35b341561027757600080fd5b61027f610d9f565b005b341561028c57600080fd5b610294611696565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102e157600080fd5b6102e96116bc565b6040518082815260200191505060405180910390f35b341561030a57600080fd5b6103126116c3565b6040518082815260200191505060405180910390f35b341561033357600080fd5b61033b6116c9565b6040518082815260200191505060405180910390f35b341561035c57600080fd5b6103646116d6565b6040518082815260200191505060405180910390f35b341561038557600080fd5b61038d6116e4565b6040518082815260200191505060405180910390f35b34156103ae57600080fd5b6103b66116ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040357600080fd5b61042f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611702565b005b341561043c57600080fd5b6104446117dd565b604051808215151515815260200191505060405180910390f35b341561046957600080fd5b61047161189b565b6040518082815260200191505060405180910390f35b341561049257600080fd5b61049a6118aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104e757600080fd5b6104ef6118d0565b604051808215151515815260200191505060405180910390f35b341561051457600080fd5b61051c6118e3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561056957600080fd5b610571611908565b6040518082815260200191505060405180910390f35b341561059257600080fd5b61059a61190d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105e757600080fd5b6105ef610c78565b005b34156105fc57600080fd5b610604611925565b6040518082815260200191505060405180910390f35b341561062557600080fd5b61062d611934565b6040518082815260200191505060405180910390f35b341561064e57600080fd5b610656611943565b6040518082815260200191505060405180910390f35b341561067757600080fd5b6106ac600480803590602001908201803590602001919091929080359060200190820180359060200191909192905050611952565b005b34156106b957600080fd5b6106c1611b77565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561070e57600080fd5b610716611b8f565b6040518082815260200191505060405180910390f35b341561073757600080fd5b61073f611b97565b6040518082815260200191505060405180910390f35b610781600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610893565b005b341561078e57600080fd5b610796611b9f565b604051808215151515815260200191505060405180910390f35b34156107bb57600080fd5b6107e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c71565b005b34156107f457600080fd5b6107fc611dc6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561084957600080fd5b610851611dec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060008060008073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515156108d657600080fd5b6108de611e12565b15156108e957600080fd5b3494506108f4611f32565b93505b60018054905060055410801561092e575083600160055481548110151561091a57fe5b906000526020600020906003020160000154105b15610a015761098e600160055481548110151561094757fe5b90600052602060002090600302016001015460018080805490500381548110151561096e57fe5b906000526020600020906003020160010154611f3a90919063ffffffff16565b6001808080549050038154811015156109a357fe5b906000526020600020906003020160010181905550600060016005548154811015156109cb57fe5b9060005260206000209060030201600101819055506109f66001600554611f3a90919063ffffffff16565b6005819055506108f7565b610a0a85611f58565b9250610a168684612048565b91506000821115610a9e57610a4683610a38878561222f90919063ffffffff16565b61226a90919063ffffffff16565b9050610a5b818661228590919063ffffffff16565b94503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610a9d57600080fd5b5b610ab385600354611f3a90919063ffffffff16565b6003819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad1887610b1c868861228590919063ffffffff16565b604051808381526020018281526020019250505060405180910390a3610b406117dd565b15610b9e57733f39cd8a8ae0540f0fd38ab695d36cecf0f254e373ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501515610b9957600080fd5b610c70565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0186336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303818588803b1515610c5a57600080fd5b6125ee5a03f11515610c6b57600080fd5b505050505b505050505050565b600660009054906101000a900460ff161515610c9357600080fd5b610c9b6117dd565b151515610ca757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fa89401a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1515610d6357600080fd5b6102c65a03f11515610d7457600080fd5b505050565b7335317879205e9fd59aeec429b5494b84d8507c2081565b635af4dd0081565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dfa57600080fd5b600660009054906101000a900460ff16151515610e1657600080fd5b610e1e611b9f565b1515610e2957600080fd5b610e316117dd565b156115b357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343d726d66040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1515610ebb57600080fd5b6102c65a03f11515610ecc57600080fd5b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167335317879205e9fd59aeec429b5494b84d8507c20610f256301e13380610f17611f32565b611f3a90919063ffffffff16565b610f2d61229e565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051809103906000f0801515610fb357600080fd5b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a034f086f3b33b6840000006000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156110ed57600080fd5b6102c65a03f115156110fe57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673576b5ca75d4598dc31640f395f6201c5dd0ebbb461115e62ed4e00611150611f32565b611f3a90919063ffffffff16565b61116661229e565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051809103906000f08015156111ec57600080fd5b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a084595161401484a0000006000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561132657600080fd5b6102c65a03f1151561133757600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1973088c48ca51a024909f06df60597492492eb66c2a69d3c21bcecceda10000006000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561142d57600080fd5b6102c65a03f1151561143e57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156114d757600080fd5b6102c65a03f115156114e857600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b60016040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561159a57600080fd5b6102c65a03f115156115ab57600080fd5b50505061164d565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c52dc416040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b151561163857600080fd5b6102c65a03f1151561164957600080fd5b5050505b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16001600660006101000a81548160ff021916908315150217905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b62ed4e0081565b60055481565b685150ae84a8cdf0000081565b69d3c21bcecceda100000081565b6103e881565b733f39cd8a8ae0540f0fd38ab695d36cecf0f254e381565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561179957600080fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006a027b46536c66c8e3000000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561187957600080fd5b6102c65a03f1151561188a57600080fd5b505050604051805190501015905090565b6a034f086f3b33b68400000081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600581565b73576b5ca75d4598dc31640f395f6201c5dd0ebbb481565b6a295be96e6406697200000081565b6a027b46536c66c8e300000081565b6a084595161401484a00000081565b600080600080600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a0057506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a0b57600080fd5b600088889050118015611a22575060648888905011155b1515611a2d57600080fd5b8585905088889050141515611a4157600080fd5b600660009054906101000a900460ff16151515611a5d57600080fd5b600093505b87879050841015611b6d578787858181101515611a7b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1692508585858181101515611aa857fe5b905060200201359150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611aed57600080fd5b600082111515611afc57600080fd5b611b068383612048565b90506000811115611b60578273ffffffffffffffffffffffffffffffffffffffff167fc549e7a0e587e053b9e5a7eca60f3a352f16d8552eeafce4367dfceb59f27348826040518082815260200191505060405180910390a25b8380600101945050611a62565b5050505050505050565b73088c48ca51a024909f06df60597492492eb66c2a81565b635a65298081565b6301e1338081565b6000635af4dd00611bae611f32565b1180611c6c57506a295be96e64066972000000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611c4f57600080fd5b6102c65a03f11515611c6057600080fd5b50505060405180519050145b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ccc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d0857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000635a652980611e27611f32565b10158015611e405750635af4dd00611e3d611f32565b11155b9350600034141592506a295be96e64066972000000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611ee357600080fd5b6102c65a03f11515611ef457600080fd5b50505060405180519050109150600180549050600554109050838015611f175750825b8015611f205750815b8015611f295750805b94505050505090565b600042905090565b6000808284019050838110151515611f4e57fe5b8091505092915050565b6000806000611fdc611fa66001600554815481101515611f7457fe5b906000526020600020906003020160020160009054906101000a900460ff1660ff16606461228590919063ffffffff16565b611fce6064611fc06103e88961222f90919063ffffffff16565b61222f90919063ffffffff16565b61226a90919063ffffffff16565b9150600090506000600554118015611ffd5750685150ae84a8cdf000008210155b1561202c57612029606461201b60058561222f90919063ffffffff16565b61226a90919063ffffffff16565b90505b61203f8183611f3a90919063ffffffff16565b92505050919050565b600080600080849250600091505b60008311801561206c5750600180549050600554105b1561213a57600160055481548110151561208257fe5b906000526020600020906003020190508060010154831015156120fc576120b681600101548461228590919063ffffffff16565b92506120cf816001015483611f3a90919063ffffffff16565b9150600081600101819055506120f16001600554611f3a90919063ffffffff16565b600581905550612135565b61211383826001015461228590919063ffffffff16565b816001018190555061212e8383611f3a90919063ffffffff16565b9150600092505b612056565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1987846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561220757600080fd5b6102c65a03f1151561221857600080fd5b505050604051805190505082935050505092915050565b60008060008414156122445760009150612263565b828402905082848281151561225557fe5b0414151561225f57fe5b8091505b5092915050565b600080828481151561227857fe5b0490508091505092915050565b600082821115151561229357fe5b818303905092915050565b6040516104f8806122af8339019056006060604052341561000f57600080fd5b6040516060806104f883398101604052808051906020019091908051906020019091908051906020019091905050428111151561004b57600080fd5b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600281905550505050610413806100e56000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806338af3eed1461006757806386d1a69f146100bc578063b91d4001146100d1578063fc0c546a146100fa575b600080fd5b341561007257600080fd5b61007a61014f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100c757600080fd5b6100cf610175565b005b34156100dc57600080fd5b6100e46102e9565b6040518082815260200191505060405180910390f35b341561010557600080fd5b61010d6102ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254421015151561018857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561024c57600080fd5b6102c65a03f1151561025d57600080fd5b50505060405180519050905060008111151561027857600080fd5b6102e6600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166103149092919063ffffffff16565b50565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156103bf57600080fd5b6102c65a03f115156103d057600080fd5b5050506040518051905015156103e257fe5b5050505600a165627a7a72305820567ac7567240d4110b264614eca1fdd456360b62ef4b9e9769035a56981d2ae20029a165627a7a723058204e243ade9609d8b76a42cc4dd968bdc438de152523415b710ecbd1d1691724f400296060604052341561000f57600080fd5b604051602080610a7783398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100a757600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260146101000a81548160ff0219169083600281111561010757fe5b02179055505061095b8061011c6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806343d726d61461009e578063521eb273146100b35780638c52dc41146101085780638da5cb5b1461011d578063c19d93fb14610172578063cb13cddb146101a9578063f2fde38b146101f6578063f340fa011461022f578063fa89401a1461025d575b600080fd5b34156100a957600080fd5b6100b1610296565b005b34156100be57600080fd5b6100c66103ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561011357600080fd5b61011b610415565b005b341561012857600080fd5b6101306104f6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017d57600080fd5b61018561051b565b6040518082600281111561019557fe5b60ff16815260200191505060405180910390f35b34156101b457600080fd5b6101e0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061052e565b6040518082815260200191505060405180910390f35b341561020157600080fd5b61022d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610546565b005b61025b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061069b565b005b341561026857600080fd5b610294600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107c2565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102f157600080fd5b600060028111156102fe57fe5b600260149054906101000a900460ff16600281111561031957fe5b14151561032557600080fd5b60028060146101000a81548160ff0219169083600281111561034357fe5b02179055507f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a60405160405180910390a1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156103ed57600080fd5b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561047057600080fd5b6000600281111561047d57fe5b600260149054906101000a900460ff16600281111561049857fe5b1415156104a457600080fd5b6001600260146101000a81548160ff021916908360028111156104c357fe5b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260149054906101000a900460ff1681565b60016020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105a157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156105dd57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106f657600080fd5b6000600281111561070357fe5b600260149054906101000a900460ff16600281111561071e57fe5b14151561072a57600080fd5b61077c34600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461091190919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600160028111156107d157fe5b600260149054906101000a900460ff1660028111156107ec57fe5b1415156107f857600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156108bf57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651826040518082815260200191505060405180910390a25050565b600080828401905083811015151561092557fe5b80915050929150505600a165627a7a72305820f273a90d5edba6098f58a3f197f2b46e89d8d1b8907d120d1b6d95f7e012f6e50029000000000000000000000000cc53c2e5e2421cb5a5307ed1c229816d71266292

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

-----Decoded View---------------
Found 1 constructor arguments :
Arg [0] : 000000000000000000000000cc53c2e5e2421cb5a5307ed1c229816d71266292


   Swarm Source:
bzzr://f273a90d5edba6098f58a3f197f2b46e89d8d1b8907d120d1b6d95f7e012f6e5

 

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