Sponsored Link:   INVOX FINANCE - Helps Small Businesses Grow Worldwide with 9% Interest Loans. 20% bonus! ICO Open
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 26 txns
  Latest 25 txns from a total Of 26 transactions View All

TxHash Age From To Value [TxFee]
0x27b4e05b50e41967d4a08abfde902c137452a41add4e25b98c1442d669cb19654 hrs 23 mins ago0xed4810ff9acb009352ed17ce4c84662eff7922b9  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c1 Ether0.00045567
0x5031007d29c3ef0853bfbd841ece082751f039592f236f992327a79c5dd607ba19 hrs 33 mins ago0x664cd243946e62713a3da341b3bda49845ad304a  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.5 Ether0.003113745
0x16ed223cf06d8555f4a6f632cbf33ccb9d3d431d34eb59144be34802bc112fa31 day 19 hrs ago0x0982e2fc242d4f57613e9b92904d747dc0ec683d  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.0000316458
0xd53249e15fd90012eeb97ef74de6df8b457d54dc12525e3624c6628c93b77ee31 day 20 hrs ago0x0982e2fc242d4f57613e9b92904d747dc0ec683d  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.000052743
0xc12e58cd9063d7121c6c4d794b79061b1921439232b781c71d2991cc1fec2b242 days 23 hrs ago0x26ddc36c955dd5078087790f1a74f7dc935b96ba  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.000030378
0xaf516e4881d78062cbfee5a7c0195a0fffc01a439d9d9d47526e1f6c2a0719712 days 23 hrs ago0x26ddc36c955dd5078087790f1a74f7dc935b96ba  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.000028
0x7b47772d5b9f8adc02fae95dc7154ac4372afdabf78e622fde35f732ea095f6314 days 36 mins ago0x2f6e2f7b0839bf17bd128fb2ca85281cdac42fbe  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c3.45 Ether0.000426615
0x5fcff0effa4c4c0782d3f1ad2bb3db7b2703542b4a7acaa6f8b0a940bec9e1b114 days 1 hr ago0x035f02e6988a7e99337096727215ebce3e94e176  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c1.976383123 Ether0.00024378
0xe479772db4a7292af24a4d8cab94df90089674ac401250697558d73de01b62b318 days 3 hrs ago0x4aba72b83fd2c46b5d11cdac4bd0b8aa9a3055ad  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.1 Ether0.00030378
0xe44fb0ecb5ab26a7c6d04f5f2faef69cf561f991f1e5620065007b0262aca9d218 days 21 hrs ago0x47323d182d6b0276ecfe6dd2849fd139ead199b7  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.5 Ether0.002961855
0xacd4bf282b9af8cbdf0c2565c23ce51922d03ad7fa2b86bd8f45fd4a90d3d1eb19 days 7 hrs ago0x40e12137863ff894e06e2aa5ff9a089b74cd96e9  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.06 Ether0.002498745
0x282330aa9a541b5c1965a90ddc319738d0b0be2efb3897a7b7b7f75e48754eee21 days 1 hr ago0xe1e67e8a93668e8ddbb45147ba706d931127ddc1  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.1 Ether0.00030378
0x26b2528b4d19c6e7c99c0e82fd4d50bb767b076bd1c55dd29b21112b5a0d255e22 days 15 mins ago0x40e12137863ff894e06e2aa5ff9a089b74cd96e9  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.003113745
0x48dfeb139963804465c00ce688236a3c92e2bb9c0d429fe7aeb4655b1c7ad33622 days 19 hrs ago0x3e66281ff71db3d5b82ce2450bdb7f7d89298cce  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.1 Ether0.000075945
0xd0aeeddd14a44180a2098363add67bd39c32b8e6f8ed772476f338af9807f7e823 days 1 hr ago0x8ecdde4d9d11f39d07c927b6240ff29b0c3679c3  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c2 Ether0.003113745
0x958e6ac3a43bba5201f7c6988e918855bf18ed4250de4445e2ee3c3395cb57cc23 days 2 hrs ago0x2f6e2f7b0839bf17bd128fb2ca85281cdac42fbe  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c2.33 Ether0.002498745
0xc3086767e89e3e6e0217f33c2feef1c2c924718b103e16e248f312d461fda60123 days 2 hrs ago0x75e7f640bf6968b6f32c47a3cd82c3c2c9dcae68  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.704 Ether0.00227835
0x3c6cd355aa9c1a55726147e8a3a5c7b10c0ca456f7d2e89eb93a9093d8f2be1923 days 8 hrs ago0x4d567261e4427d75fa3e132923f4fc74d01e3a00  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.001898625
0xb080aaeee10968dd6b506e5e5281c7f706d78e370c62f8e335463cf5e7f0198527 days 5 hrs ago0x873447b843e1202f33ca290dc2f17ee4278218a1  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.003113745
0x1ddda28a5a27f7ad07260aedf9d8f7689c4bfc1314e1d870ece17db09f415fcf34 days 28 mins ago0x62105e474e1d34355cfa1f3da2141e63ca8aa537  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c1 Ether0.001594845
0x1cb7b007fb04d5566108ea2e9fbf1de6a285cff397b911ab5f3233f5b3be6fff34 days 8 hrs ago0xfceace3b7adb02db38a4131b13c2cb954ba205f6  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.2 Ether0.001594845
0xb6b97ed51404ed6c50f8bef1d272af998a3d7c3d426b50ce4cb2a6ae6b64254335 days 2 hrs ago0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e1  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.1 Ether0.0012189
0x8c9a82854096c0f9bf7f24485fcc76a1b7e42030c489780fe5bd58932dd718e935 days 2 hrs ago0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e1  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0.05 Ether0.0015189
0xabb15383aa779386e5f1db2e1cc42907b972feb060ee91006e17c6f4f6a2763955 days 3 hrs ago0x035f02e6988a7e99337096727215ebce3e94e176  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0 Ether0.000083649
0xa9439949072c636c80d59ff3ab32b8e1afd085345ec1b52f60f83f5d9f6d47ea55 days 3 hrs ago0x035f02e6988a7e99337096727215ebce3e94e176  IN   0x5983f1eb0508190e821e380a8ed273725f5d927c0 Ether0.000083187
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 21 Internal Transactions

ParentTxHash Block Age From To Value
0x27b4e05b50e41967d4a08abfde902c137452a41add4e25b98c1442d669cb196554694454 hrs 23 mins ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e11 Ether
0x5031007d29c3ef0853bfbd841ece082751f039592f236f992327a79c5dd607ba546584619 hrs 33 mins ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.5 Ether
0xc12e58cd9063d7121c6c4d794b79061b1921439232b781c71d2991cc1fec2b2454531102 days 23 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.05 Ether
0x7b47772d5b9f8adc02fae95dc7154ac4372afdabf78e622fde35f732ea095f63538708414 days 36 mins ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e13.45 Ether
0x5fcff0effa4c4c0782d3f1ad2bb3db7b2703542b4a7acaa6f8b0a940bec9e1b1538680714 days 1 hr ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e11.976383123 Ether
0xe479772db4a7292af24a4d8cab94df90089674ac401250697558d73de01b62b3536225618 days 3 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.1 Ether
0xe44fb0ecb5ab26a7c6d04f5f2faef69cf561f991f1e5620065007b0262aca9d2535767118 days 21 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.5 Ether
0xacd4bf282b9af8cbdf0c2565c23ce51922d03ad7fa2b86bd8f45fd4a90d3d1eb535519619 days 7 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.06 Ether
0x282330aa9a541b5c1965a90ddc319738d0b0be2efb3897a7b7b7f75e48754eee534470321 days 1 hr ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.1 Ether
0x26b2528b4d19c6e7c99c0e82fd4d50bb767b076bd1c55dd29b21112b5a0d255e533919322 days 15 mins ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.05 Ether
0x48dfeb139963804465c00ce688236a3c92e2bb9c0d429fe7aeb4655b1c7ad336533449022 days 19 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.1 Ether
0xd0aeeddd14a44180a2098363add67bd39c32b8e6f8ed772476f338af9807f7e8533288523 days 1 hr ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e12 Ether
0x958e6ac3a43bba5201f7c6988e918855bf18ed4250de4445e2ee3c3395cb57cc533283923 days 2 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e12.33 Ether
0xc3086767e89e3e6e0217f33c2feef1c2c924718b103e16e248f312d461fda601533271023 days 2 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.704 Ether
0x3c6cd355aa9c1a55726147e8a3a5c7b10c0ca456f7d2e89eb93a9093d8f2be19533129323 days 8 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.05 Ether
0xb080aaeee10968dd6b506e5e5281c7f706d78e370c62f8e335463cf5e7f01985530807727 days 5 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.05 Ether
0x1ddda28a5a27f7ad07260aedf9d8f7689c4bfc1314e1d870ece17db09f415fcf526759734 days 28 mins ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e11 Ether
0x1cb7b007fb04d5566108ea2e9fbf1de6a285cff397b911ab5f3233f5b3be6fff526571734 days 8 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.2 Ether
0xb6b97ed51404ed6c50f8bef1d272af998a3d7c3d426b50ce4cb2a6ae6b642543526116635 days 2 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.1 Ether
0x8c9a82854096c0f9bf7f24485fcc76a1b7e42030c489780fe5bd58932dd718e9526106935 days 2 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c0x6941a0fd30198c70b3872d4d1b808e4bfc5a07e10.05 Ether
0x2b1b4efe0682fb9319578919def9f2a24bf1382a83f5ad5f6fdb3a3622592804494038389 days 9 hrs ago0x5983f1eb0508190e821e380a8ed273725f5d927c  Contract Creation0 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: CryptoAngelCrowdsale
Compiler Version: v0.4.19-nightly.2017.10.18+commit.f7ca2421
Optimization Enabled: Yes
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 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;
  }
}


contract CryptoAngelConstants {

  string constant TOKEN_NAME = "CryptoAngel";
  string constant TOKEN_SYMBOL = "ANGEL";
  uint constant TOKEN_DECIMALS = 18;
  uint8 constant TOKEN_DECIMALS_UINT8 = uint8(TOKEN_DECIMALS);
  uint constant TOKEN_DECIMAL_MULTIPLIER = 10 ** TOKEN_DECIMALS;

  uint constant TEAM_TOKENS =   18000000 * TOKEN_DECIMAL_MULTIPLIER;
  uint constant HARD_CAP_TOKENS =   88000000 * TOKEN_DECIMAL_MULTIPLIER;
  uint constant MINIMAL_PURCHASE = 0.05 ether;
  uint constant RATE = 1000; // 1ETH = 1000ANGEL

  address constant TEAM_ADDRESS = 0x6941A0FD30198c70b3872D4d1b808e4bFc5A07E1;
}


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


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

  mapping(address => uint256) balances;

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


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard 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 ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal 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 uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public 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) {
    require(_value > 0);
    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];
  }

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

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


/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */

contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;

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

/**
 * @title Burnable Token
 * @dev Token that can be irreversibly burned (destroyed).
 */
contract BurnableToken is StandardToken {

    event Burn(address indexed burner, uint256 value);

  /**
   * @dev Burns a specific amount of tokens.
   * @param _value The amount of token to be burned.
   */
  function burn(uint256 _value) public {
      require(_value > 0);
      require(_value <= balances[msg.sender]);
      // no need to require value <= totalSupply, since that would imply the
      // sender's balance is greater than the totalSupply, which *should* be an assertion failure

      address burner = msg.sender;
      balances[burner] = balances[burner].sub(_value);
      totalSupply = totalSupply.sub(_value);
      Burn(burner, _value);
  }

  /**
   * @dev Burn tokens from the specified address.
   * @param _from address The address which you want to burn tokens from.
   * @param _value uint The amount of tokens to be burned.
   */
  function burnFrom(address _from, uint256 _value) public returns (bool) {
      require(_value > 0);
      var allowance = allowed[_from][msg.sender];
      require(allowance >= _value);
      balances[_from] = balances[_from].sub(_value);
      totalSupply = totalSupply.sub(_value);
      allowed[_from][msg.sender] = allowance.sub(_value);
      Burn(_from, _value);
      return true;
  }
}


contract CryptoAngel is CryptoAngelConstants, MintableToken, BurnableToken {

  mapping (address => bool) public frozenAccount;

  event FrozenFunds(address target, bool frozen);

  /**
   * @param target Address to be frozen
   * @param freeze either to freeze it or not
   */
  function freezeAccount(address target, bool freeze) public onlyOwner {
      frozenAccount[target] = freeze;
      FrozenFunds(target, freeze);
  }
    
  /**
   * @dev Returns token's name.
   */
  function name() pure public returns (string _name) {
      return TOKEN_NAME;
  }

  /**
   * @dev Returns token's symbol.
   */
  function symbol() pure public returns (string _symbol) {
      return TOKEN_SYMBOL;
  }

  /**
   * @dev Returns number of decimals.
   */
  function decimals() pure public returns (uint8 _decimals) {
      return TOKEN_DECIMALS_UINT8;
  }

  /**
    * @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 public returns (bool) {
        require(!frozenAccount[_to]);
        super.mint(_to, _amount);
    }

    function transfer(address _to, uint256 _value) public returns (bool) {
        require(!frozenAccount[msg.sender]);
        return super.transfer(_to, _value);
    }
    
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(!frozenAccount[_from]);
        require(!frozenAccount[_to]);
        return super.transferFrom(_from, _to, _value);
    }
}

/**
 * @title Crowdsale
 * @dev Crowdsale is a base contract for managing a token crowdsale.
 * Crowdsales have a start and end timestamps, where investors can make
 * token purchases and the crowdsale will assign them tokens based
 * on a token per ETH rate. Funds collected are forwarded to a wallet
 * as they arrive.
 */
contract Crowdsale is CryptoAngelConstants{
  using SafeMath for uint256;

  // The token being sold
  CryptoAngel public token;

  // start and end timestamps where investments are allowed (both inclusive)
  uint256 public startTime;
  uint256 public endTime;

  // address where funds are collected
  address public wallet;

  // how many token units a buyer gets per wei
  uint256 public rate;

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

  // maximum amount of tokens to mint.
  uint public hardCap;

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


  function Crowdsale(uint256 _startTime, uint256 _endTime, address _wallet) public {
    require(_startTime >= now);
    require(_endTime >= _startTime);
    require(_wallet != address(0));

    token = createTokenContract();
    startTime = _startTime;
    endTime = _endTime;
    hardCap = HARD_CAP_TOKENS;
    wallet = _wallet;
    rate = RATE;
  }

  // creates the token to be sold.
  function createTokenContract() internal returns (CryptoAngel) {
    return new CryptoAngel();
  }

  // fallback function can be used to buy tokens
  function() public payable {
    buyTokens(msg.sender, msg.value);
  }

  // low level token purchase function
  function buyTokens(address beneficiary, uint256 weiAmount) internal {
    require(beneficiary != address(0));
    require(validPurchase(weiAmount, token.totalSupply()));

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

    // update state
    weiRaised = weiRaised.add(weiAmount);

    token.mint(beneficiary, tokens);
    TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);

    forwardFunds(weiAmount);
  }

  // @return number of tokens which should be created
  function calculateTokens(uint256 totalTokens, uint256 weiAmount) internal view returns (uint256) {

    uint256 numOfTokens = weiAmount.mul(RATE);

    if (totalTokens <= hardCap.mul(30).div(100)) { // first 30% of available tokens
        numOfTokens += numOfTokens.mul(30).div(100);
    }
    else if (totalTokens <= hardCap.mul(45).div(100)) { // 30-45% of available tokens
        numOfTokens += numOfTokens.mul(20).div(100);
    }
    else if (totalTokens <= hardCap.mul(60).div(100)) { // 45-60% of available tokens
        numOfTokens += numOfTokens.mul(10).div(100);
    }  
   return numOfTokens;
  }

  // send ether to the fund collection wallet
  // override to create custom fund forwarding mechanisms
  function forwardFunds(uint amountWei) internal {
    wallet.transfer(amountWei);
  }

  // @return true if the transaction can buy tokens
  function validPurchase(uint _amountWei, uint _totalSupply) internal view returns (bool) {
    bool withinPeriod = now >= startTime && now <= endTime;
    bool nonMinimalPurchase = _amountWei >= MINIMAL_PURCHASE;
    bool hardCapNotReached = _totalSupply <= hardCap;
    return withinPeriod && nonMinimalPurchase && hardCapNotReached;
  }

  // @return true if crowdsale event has ended
  function hasEnded() internal view returns (bool) {
    return now > endTime;
  }
}


/**
 * @title FinalizableCrowdsale
 * @dev Extension of Crowdsale where an owner can do extra work
 * after finishing.
 */
contract FinalizableCrowdsale is Crowdsale, Ownable {
  using SafeMath for uint256;

  bool public isFinalized = false;

  event Finalized();

  function FinalizableCrowdsale(uint _startTime, uint _endTime, address _wallet) public
            Crowdsale(_startTime, _endTime, _wallet) {
    }

  /**
   * @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());
    isFinalized = true;
    token.finishMinting();
    token.transferOwnership(owner);
    Finalized();
  }

  modifier notFinalized() {
    require(!isFinalized);
    _;
  }
}


contract CryptoAngelCrowdsale is CryptoAngelConstants, FinalizableCrowdsale {

    function CryptoAngelCrowdsale(
            uint _startTime,
            uint _endTime,
            address _wallet
    ) public
        FinalizableCrowdsale(_startTime, _endTime, _wallet) {
        token.mint(TEAM_ADDRESS, TEAM_TOKENS);
    }

  /**
   * @dev Allows the current owner to set the new start time if crowdsale is not finalized.
   * @param _startTime new end time.
   */
    function setStartTime(uint256 _startTime) public onlyOwner notFinalized {
        require(_startTime < endTime);
        startTime = _startTime;
    }

  /**
   * @dev Allows the current owner to set the new end time if crowdsale is not finalized.
   * @param _endTime new end time.
   */
    function setEndTime(uint256 _endTime) public onlyOwner notFinalized {
        require(_endTime > startTime);
        endTime = _endTime;
    }

  /**
   * @dev Allows the current owner to change the hard cap if crowdsale is not finalized.
   * @param _hardCapTokens new hard cap.
   */
    function setHardCap(uint256 _hardCapTokens) public onlyOwner notFinalized {
        require(_hardCapTokens * TOKEN_DECIMAL_MULTIPLIER > hardCap);
        hardCap = _hardCapTokens * TOKEN_DECIMAL_MULTIPLIER;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startTime","type":"uint256"}],"name":"setStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"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":false,"inputs":[{"name":"_endTime","type":"uint256"}],"name":"setEndTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_hardCapTokens","type":"uint256"}],"name":"setHardCap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"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"}]

  Contract Creation Code Switch To Opcodes View
60606040526007805460a060020a60ff0219169055341561001f57600080fd5b604051606080612aeb833981016040528080519190602001805191906020018051915083905082828282824283101561005757600080fd5b8282101561006457600080fd5b600160a060020a038116151561007957600080fd5b61008e64010000000061090e6101a282021704565b60008054600160a060020a0319908116600160a060020a03938416178083556001969096556002949094556a48cab98f1671af58000000600655600380548516938316939093179092556103e86004556007805490931633821617909255911693506340c10f199250736941a0fd30198c70b3872d4d1b808e4bfc5a07e191506a0ee3a5f48a68b55200000090604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561017e57600080fd5b6102c65a03f1151561018f57600080fd5b50505060405180519050505050506101d7565b60006101ac6101c7565b604051809103906000f08015156101c257600080fd5b905090565b604051610fcb80611b2083390190565b61193a806101e66000396000f3006060604052600436106100b65763ffffffff60e060020a6000350416632c4e722e81146100c25780633197cbb6146100e75780633e0a322d146100fa5780634042b66f146101105780634bb278f314610123578063521eb2731461013657806378e97925146101655780638d4e4083146101785780638da5cb5b1461019f578063ccb98ffc146101b2578063d18d944b146101c8578063f2fde38b146101de578063fb86a404146101fd578063fc0c546a14610210575b6100c03334610223565b005b34156100cd57600080fd5b6100d5610417565b60405190815260200160405180910390f35b34156100f257600080fd5b6100d561041d565b341561010557600080fd5b6100c0600435610423565b341561011b57600080fd5b6100d5610468565b341561012e57600080fd5b6100c061046e565b341561014157600080fd5b6101496105d4565b604051600160a060020a03909116815260200160405180910390f35b341561017057600080fd5b6100d56105e3565b341561018357600080fd5b61018b6105e9565b604051901515815260200160405180910390f35b34156101aa57600080fd5b6101496105f9565b34156101bd57600080fd5b6100c0600435610608565b34156101d357600080fd5b6100c060043561064d565b34156101e957600080fd5b6100c0600160a060020a03600435166106a6565b341561020857600080fd5b6100d5610741565b341561021b57600080fd5b610149610747565b6000600160a060020a038316151561023a57600080fd5b600080546102a9918491600160a060020a0316906318160ddd90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561028957600080fd5b6102c65a03f1151561029a57600080fd5b50505060405180519050610756565b15156102b457600080fd5b6000805461032491600160a060020a03909116906318160ddd90604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561030357600080fd5b6102c65a03f1151561031457600080fd5b50505060405180519050836107a4565b60055490915061033a908363ffffffff61087f16565b60055560008054600160a060020a0316906340c10f1990859084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561039f57600080fd5b6102c65a03f115156103b057600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a36104128261088e565b505050565b60045481565b60025481565b60075433600160a060020a0390811691161461043e57600080fd5b60075460a060020a900460ff161561045557600080fd5b600254811061046357600080fd5b600155565b60055481565b60075433600160a060020a0390811691161461048957600080fd5b60075460a060020a900460ff16156104a057600080fd5b6104a86108c4565b15156104b357600080fd5b6007805474ff0000000000000000000000000000000000000000191660a060020a17905560008054600160a060020a031690637d64bcb490604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561052057600080fd5b6102c65a03f1151561053157600080fd5b50505060405180515050600054600754600160a060020a039182169163f2fde38b911660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561059257600080fd5b6102c65a03f115156105a357600080fd5b5050507f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a1565b600354600160a060020a031681565b60015481565b60075460a060020a900460ff1681565b600754600160a060020a031681565b60075433600160a060020a0390811691161461062357600080fd5b60075460a060020a900460ff161561063a57600080fd5b600154811161064857600080fd5b600255565b60075433600160a060020a0390811691161461066857600080fd5b60075460a060020a900460ff161561067f57600080fd5b600654670de0b6b3a764000082021161069757600080fd5b670de0b6b3a764000002600655565b60075433600160a060020a039081169116146106c157600080fd5b600160a060020a03811615156106d657600080fd5b600754600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60065481565b600054600160a060020a031681565b600080600080600154421015801561077057506002544211155b925066b1a2bc2ec50000861015915060065485111590508280156107915750815b801561079a5750805b9695505050505050565b6000806107b9836103e863ffffffff6108cc16565b90506107e260646107d6601e6006546108cc90919063ffffffff16565b9063ffffffff6108f716565b8411610804576107fe60646107d683601e63ffffffff6108cc16565b01610874565b61081f60646107d6602d6006546108cc90919063ffffffff16565b841161083b576107fe60646107d683601463ffffffff6108cc16565b61085660646107d6603c6006546108cc90919063ffffffff16565b84116108745761087260646107d683600a63ffffffff6108cc16565b015b8091505b5092915050565b60008282018381101561087457fe5b600354600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156108c157600080fd5b50565b600254421190565b6000808315156108df5760009150610878565b508282028284828115156108ef57fe5b041461087457fe5b600080828481151561090557fe5b04949350505050565b6000610918610933565b604051809103906000f080151561092e57600080fd5b905090565b604051610fcb80610944833901905600606060405260038054600160a860020a03191633600160a060020a0316179055610f9d8061002e6000396000f3006060604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461011657806306fdde031461013d578063095ea7b3146101c757806318160ddd146101e957806323b872dd1461020e578063313ce5671461023657806340c10f191461025f57806342966c6814610281578063661884631461029957806370a08231146102bb57806379cc6790146102da5780637d64bcb4146102fc5780638da5cb5b1461030f57806395d89b411461033e578063a9059cbb14610351578063b414d4b614610373578063d73dd62314610392578063dd62ed3e146103b4578063e724529c146103d9578063f2fde38b146103fd575b600080fd5b341561012157600080fd5b61012961041c565b604051901515815260200160405180910390f35b341561014857600080fd5b61015061042c565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b610129600160a060020a036004351660243561046d565b34156101f457600080fd5b6101fc6104e4565b60405190815260200160405180910390f35b341561021957600080fd5b610129600160a060020a03600435811690602435166044356104ea565b341561024157600080fd5b610249610549565b60405160ff909116815260200160405180910390f35b341561026a57600080fd5b610129600160a060020a036004351660243561054e565b341561028c57600080fd5b6102976004356105a3565b005b34156102a457600080fd5b610129600160a060020a036004351660243561066c565b34156102c657600080fd5b6101fc600160a060020a0360043516610766565b34156102e557600080fd5b610129600160a060020a0360043516602435610781565b341561030757600080fd5b610129610897565b341561031a57600080fd5b610322610922565b604051600160a060020a03909116815260200160405180910390f35b341561034957600080fd5b610150610931565b341561035c57600080fd5b610129600160a060020a0360043516602435610972565b341561037e57600080fd5b610129600160a060020a03600435166109a9565b341561039d57600080fd5b610129600160a060020a03600435166024356109be565b34156103bf57600080fd5b6101fc600160a060020a0360043581169060243516610a62565b34156103e457600080fd5b610297600160a060020a03600435166024351515610a8d565b341561040857600080fd5b610297600160a060020a0360043516610b19565b60035460a060020a900460ff1681565b610434610f5f565b60408051908101604052600b81527f43727970746f416e67656c0000000000000000000000000000000000000000006020820152905090565b600080821161047b57600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b600160a060020a03831660009081526004602052604081205460ff161561051057600080fd5b600160a060020a03831660009081526004602052604090205460ff161561053657600080fd5b610541848484610bb4565b949350505050565b601290565b60035460009033600160a060020a0390811691161461056c57600080fd5b600160a060020a03831660009081526004602052604090205460ff161561059257600080fd5b61059c8383610d36565b5092915050565b60008082116105b157600080fd5b600160a060020a0333166000908152600160205260409020548211156105d657600080fd5b5033600160a060020a0381166000908152600160205260409020546105fb9083610e43565b600160a060020a03821660009081526001602052604081209190915554610628908363ffffffff610e4316565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156106c957600160a060020a033381166000908152600260209081526040808320938816835292905290812055610700565b6106d9818463ffffffff610e4316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60008080831161079057600080fd5b50600160a060020a0380841660009081526002602090815260408083203390941683529290522054828110156107c557600080fd5b600160a060020a0384166000908152600160205260409020546107ee908463ffffffff610e4316565b600160a060020a0385166000908152600160205260408120919091555461081b908463ffffffff610e4316565b60005561082e818463ffffffff610e4316565b600160a060020a038086166000818152600260209081526040808320339095168352939052829020929092557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59085905190815260200160405180910390a25060019392505050565b60035460009033600160a060020a039081169116146108b557600080fd5b60035460a060020a900460ff16156108cc57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600354600160a060020a031681565b610939610f5f565b60408051908101604052600581527f414e47454c0000000000000000000000000000000000000000000000000000006020820152905090565b600160a060020a03331660009081526004602052604081205460ff161561099857600080fd5b6109a28383610e55565b9392505050565b60046020526000908152604090205460ff1681565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546109f6908363ffffffff610f5016565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610aa857600080fd5b600160a060020a03821660009081526004602052604090819020805460ff19168315151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908390839051600160a060020a039092168252151560208201526040908101905180910390a15050565b60035433600160a060020a03908116911614610b3457600080fd5b600160a060020a0381161515610b4957600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000600160a060020a0383161515610bcb57600080fd5b600160a060020a038416600090815260016020526040902054821115610bf057600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610c2357600080fd5b600160a060020a038416600090815260016020526040902054610c4c908363ffffffff610e4316565b600160a060020a038086166000908152600160205260408082209390935590851681522054610c81908363ffffffff610f5016565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610cc9908363ffffffff610e4316565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a03908116911614610d5457600080fd5b60035460a060020a900460ff1615610d6b57600080fd5b600054610d7e908363ffffffff610f5016565b6000908155600160a060020a038416815260016020526040902054610da9908363ffffffff610f5016565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600082821115610e4f57fe5b50900390565b6000600160a060020a0383161515610e6c57600080fd5b600160a060020a033316600090815260016020526040902054821115610e9157600080fd5b600160a060020a033316600090815260016020526040902054610eba908363ffffffff610e4316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610eef908363ffffffff610f5016565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000828201838110156109a257fe5b602060405190810160405260008152905600a165627a7a723058205764594c192b743ed22fe60c05dc7ee2a33869a0bddd77faa60a5e82e75498d70029a165627a7a723058206d1e429168c692c07dd8a2635601736bde3dcc361b68e02f1d1a705155c1babe0029606060405260038054600160a860020a03191633600160a060020a0316179055610f9d8061002e6000396000f3006060604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461011657806306fdde031461013d578063095ea7b3146101c757806318160ddd146101e957806323b872dd1461020e578063313ce5671461023657806340c10f191461025f57806342966c6814610281578063661884631461029957806370a08231146102bb57806379cc6790146102da5780637d64bcb4146102fc5780638da5cb5b1461030f57806395d89b411461033e578063a9059cbb14610351578063b414d4b614610373578063d73dd62314610392578063dd62ed3e146103b4578063e724529c146103d9578063f2fde38b146103fd575b600080fd5b341561012157600080fd5b61012961041c565b604051901515815260200160405180910390f35b341561014857600080fd5b61015061042c565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b610129600160a060020a036004351660243561046d565b34156101f457600080fd5b6101fc6104e4565b60405190815260200160405180910390f35b341561021957600080fd5b610129600160a060020a03600435811690602435166044356104ea565b341561024157600080fd5b610249610549565b60405160ff909116815260200160405180910390f35b341561026a57600080fd5b610129600160a060020a036004351660243561054e565b341561028c57600080fd5b6102976004356105a3565b005b34156102a457600080fd5b610129600160a060020a036004351660243561066c565b34156102c657600080fd5b6101fc600160a060020a0360043516610766565b34156102e557600080fd5b610129600160a060020a0360043516602435610781565b341561030757600080fd5b610129610897565b341561031a57600080fd5b610322610922565b604051600160a060020a03909116815260200160405180910390f35b341561034957600080fd5b610150610931565b341561035c57600080fd5b610129600160a060020a0360043516602435610972565b341561037e57600080fd5b610129600160a060020a03600435166109a9565b341561039d57600080fd5b610129600160a060020a03600435166024356109be565b34156103bf57600080fd5b6101fc600160a060020a0360043581169060243516610a62565b34156103e457600080fd5b610297600160a060020a03600435166024351515610a8d565b341561040857600080fd5b610297600160a060020a0360043516610b19565b60035460a060020a900460ff1681565b610434610f5f565b60408051908101604052600b81527f43727970746f416e67656c0000000000000000000000000000000000000000006020820152905090565b600080821161047b57600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b600160a060020a03831660009081526004602052604081205460ff161561051057600080fd5b600160a060020a03831660009081526004602052604090205460ff161561053657600080fd5b610541848484610bb4565b949350505050565b601290565b60035460009033600160a060020a0390811691161461056c57600080fd5b600160a060020a03831660009081526004602052604090205460ff161561059257600080fd5b61059c8383610d36565b5092915050565b60008082116105b157600080fd5b600160a060020a0333166000908152600160205260409020548211156105d657600080fd5b5033600160a060020a0381166000908152600160205260409020546105fb9083610e43565b600160a060020a03821660009081526001602052604081209190915554610628908363ffffffff610e4316565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156106c957600160a060020a033381166000908152600260209081526040808320938816835292905290812055610700565b6106d9818463ffffffff610e4316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60008080831161079057600080fd5b50600160a060020a0380841660009081526002602090815260408083203390941683529290522054828110156107c557600080fd5b600160a060020a0384166000908152600160205260409020546107ee908463ffffffff610e4316565b600160a060020a0385166000908152600160205260408120919091555461081b908463ffffffff610e4316565b60005561082e818463ffffffff610e4316565b600160a060020a038086166000818152600260209081526040808320339095168352939052829020929092557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59085905190815260200160405180910390a25060019392505050565b60035460009033600160a060020a039081169116146108b557600080fd5b60035460a060020a900460ff16156108cc57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600354600160a060020a031681565b610939610f5f565b60408051908101604052600581527f414e47454c0000000000000000000000000000000000000000000000000000006020820152905090565b600160a060020a03331660009081526004602052604081205460ff161561099857600080fd5b6109a28383610e55565b9392505050565b60046020526000908152604090205460ff1681565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546109f6908363ffffffff610f5016565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610aa857600080fd5b600160a060020a03821660009081526004602052604090819020805460ff19168315151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908390839051600160a060020a039092168252151560208201526040908101905180910390a15050565b60035433600160a060020a03908116911614610b3457600080fd5b600160a060020a0381161515610b4957600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000600160a060020a0383161515610bcb57600080fd5b600160a060020a038416600090815260016020526040902054821115610bf057600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610c2357600080fd5b600160a060020a038416600090815260016020526040902054610c4c908363ffffffff610e4316565b600160a060020a038086166000908152600160205260408082209390935590851681522054610c81908363ffffffff610f5016565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610cc9908363ffffffff610e4316565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a03908116911614610d5457600080fd5b60035460a060020a900460ff1615610d6b57600080fd5b600054610d7e908363ffffffff610f5016565b6000908155600160a060020a038416815260016020526040902054610da9908363ffffffff610f5016565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600082821115610e4f57fe5b50900390565b6000600160a060020a0383161515610e6c57600080fd5b600160a060020a033316600090815260016020526040902054821115610e9157600080fd5b600160a060020a033316600090815260016020526040902054610eba908363ffffffff610e4316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610eef908363ffffffff610f5016565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000828201838110156109a257fe5b602060405190810160405260008152905600a165627a7a723058205764594c192b743ed22fe60c05dc7ee2a33869a0bddd77faa60a5e82e75498d70029000000000000000000000000000000000000000000000000000000005a90ab00000000000000000000000000000000000000000000000000000000005ac020ff0000000000000000000000006941a0fd30198c70b3872d4d1b808e4bfc5a07e1

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

-----Decoded View---------------
Found 3 constructor arguments :
Arg [0] : 000000000000000000000000000000000000000000000000000000005a90ab00
Arg [1] : 000000000000000000000000000000000000000000000000000000005ac020ff
Arg [2] : 0000000000000000000000006941a0fd30198c70b3872d4d1b808e4bfc5a07e1


   Swarm Source:
bzzr://5764594c192b743ed22fe60c05dc7ee2a33869a0bddd77faa60a5e82e75498d7

 

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.