ETH Price: $1,593.53 (-2.33%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve222432242025-04-11 4:11:594 days ago1744344719IN
CryptoSolarTech: CST Token
0 ETH0.000032290.69
Transfer222308792025-04-09 10:54:116 days ago1744196051IN
CryptoSolarTech: CST Token
0 ETH0.000034020.68520291
Transfer220806052025-03-19 11:25:2327 days ago1742383523IN
CryptoSolarTech: CST Token
0 ETH0.000132253.53731986
Transfer220795572025-03-19 7:54:2327 days ago1742370863IN
CryptoSolarTech: CST Token
0 ETH0.000132362.42981397
Transfer215812832025-01-08 17:34:4797 days ago1736357687IN
CryptoSolarTech: CST Token
0 ETH0.0023936148.16133217
Approve190415882024-01-19 14:44:47452 days ago1705675487IN
CryptoSolarTech: CST Token
0 ETH0.0008676232.99951355
Transfer179122832023-08-14 9:47:11610 days ago1692006431IN
CryptoSolarTech: CST Token
0 ETH0.0009621319.37298578
Approve145771352022-04-13 12:34:151098 days ago1649853255IN
CryptoSolarTech: CST Token
0 ETH0.0015343832.78255647
Transfer131781652021-09-07 10:41:491316 days ago1631011309IN
CryptoSolarTech: CST Token
0 ETH0.0050540792.79658913
Transfer131521932021-09-03 10:30:081320 days ago1630665008IN
CryptoSolarTech: CST Token
0 ETH0.01054608193.80483412
Transfer131521212021-09-03 10:12:581320 days ago1630663978IN
CryptoSolarTech: CST Token
0 ETH0.00445779149.95287986
Transfer130103272021-08-12 12:25:021342 days ago1628771102IN
CryptoSolarTech: CST Token
0 ETH0.0022135944.54993468
Transfer124023922021-05-09 20:50:061437 days ago1620593406IN
CryptoSolarTech: CST Token
0 ETH0.00446078113
Transfer123487492021-05-01 14:08:171445 days ago1619878097IN
CryptoSolarTech: CST Token
0 ETH0.0024857766.55
Approve123428842021-04-30 16:24:591446 days ago1619799899IN
CryptoSolarTech: CST Token
0 ETH0.0032295469
Transfer121400852021-03-30 10:29:021477 days ago1617100142IN
CryptoSolarTech: CST Token
0 ETH0.00345982152.9
Transfer121400752021-03-30 10:27:161477 days ago1617100036IN
CryptoSolarTech: CST Token
0 ETH0.00816074155.10000171
Transfer117305592021-01-26 9:47:261540 days ago1611654446IN
CryptoSolarTech: CST Token
0 ETH0.0014060762.04
Transfer117297792021-01-26 6:42:341540 days ago1611643354IN
CryptoSolarTech: CST Token
0 ETH0.0020695455
Transfer117290542021-01-26 3:58:121540 days ago1611633492IN
CryptoSolarTech: CST Token
0 ETH0.0052417499.6
Transfer113244862020-11-25 1:09:191603 days ago1606266559IN
CryptoSolarTech: CST Token
0 ETH0.0012018831.91078066
Transfer110799032020-10-18 12:33:411640 days ago1603024421IN
CryptoSolarTech: CST Token
0 ETH0.0020218338.4
Approve109678532020-10-01 3:49:091657 days ago1601524149IN
CryptoSolarTech: CST Token
0 ETH0.0039134386
Transfer107945992020-09-04 11:36:141684 days ago1599219374IN
CryptoSolarTech: CST Token
0 ETH0.00971731258
Transfer107939342020-09-04 8:55:231684 days ago1599209723IN
CryptoSolarTech: CST Token
0 ETH0.02328279442
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer54224932018-04-11 17:20:022561 days ago1523467202  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CrowdsaleToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 0 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-27
*/

pragma solidity ^0.4.19;

/**
 * Originally from https://github.com/TokenMarketNet/ico
 * Modified by https://www.coinfabrik.com/
 */

pragma solidity ^0.4.19;

/**
 * Originally from https://github.com/TokenMarketNet/ico
 * Modified by https://www.coinfabrik.com/
 */

pragma solidity ^0.4.19;

/**
 * Originally from https://github.com/OpenZeppelin/zeppelin-solidity
 * Modified by https://www.coinfabrik.com/
 */

pragma solidity ^0.4.19;

/**
 * Interface for the standard token.
 * Based on https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
 */
contract EIP20Token {

  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool success);
  function transferFrom(address from, address to, uint256 value) public returns (bool success);
  function approve(address spender, uint256 value) public returns (bool success);
  function allowance(address owner, address spender) public view returns (uint256 remaining);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);

  /**
  ** Optional functions
  *
  function name() public view returns (string name);
  function symbol() public view returns (string symbol);
  function decimals() public view returns (uint8 decimals);
  *
  **/

}
pragma solidity ^0.4.19;

/**
 * Originally from  https://github.com/OpenZeppelin/zeppelin-solidity
 * Modified by https://www.coinfabrik.com/
 */

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

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

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

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

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

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

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

  function min256(uint a, uint b) internal pure returns (uint) {
    return a < b ? a : b;
  }
}

pragma solidity ^0.4.19;

// Interface for burning tokens
contract Burnable {
  // @dev Destroys tokens for an account
  // @param account Account whose tokens are destroyed
  // @param value Amount of tokens to destroy
  function burnTokens(address account, uint value) internal;
  event Burned(address account, uint value);
}
pragma solidity ^0.4.19;

/**
 * Authored by https://www.coinfabrik.com/
 */


/**
 * Internal interface for the minting of tokens.
 */
contract Mintable {

  /**
   * @dev Mints tokens for an account
   * This function should the Minted event.
   */
  function mintInternal(address receiver, uint amount) internal;

  /** Token supply got increased and a new owner received these tokens */
  event Minted(address receiver, uint amount);
}

/**
 * @title Standard token
 * @dev Basic implementation of the EIP20 standard token (also known as ERC20 token).
 */
contract StandardToken is EIP20Token, Burnable, Mintable {
  using SafeMath for uint;

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


  function totalSupply() public view returns (uint) {
    return total_supply;
  }

  /**
   * @dev transfer token for a specified address
   * @param to The address to transfer to.
   * @param value The amount to be transferred.
   */
  function transfer(address to, uint value) public returns (bool success) {
    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 account The address whose balance is to be queried.
   * @return An uint representing the amount owned by the passed address.
   */
  function balanceOf(address account) public view returns (uint balance) {
    return balances[account];
  }

  /**
   * @dev Transfer tokens from one address to another
   * @param from address The address which you want to send tokens from
   * @param to address The address which you want to transfer to
   * @param value uint the amout of tokens to be transfered
   */
  function transferFrom(address from, address to, uint value) public returns (bool success) {
    uint allowance = allowed[from][msg.sender];

    // Check is not needed because sub(allowance, value) will already throw if this condition is not met
    // require(value <= allowance);
    // SafeMath uses assert instead of require though, beware when using an analysis tool

    balances[from] = balances[from].sub(value);
    balances[to] = balances[to].add(value);
    allowed[from][msg.sender] = allowance.sub(value);
    Transfer(from, to, value);
    return true;
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @param spender The address which will spend the funds.
   * @param value The amount of tokens to be spent.
   */
  function approve(address spender, uint value) public returns (bool success) {

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

    allowed[msg.sender][spender] = value;
    Approval(msg.sender, spender, value);
    return true;
  }

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

  /**
   * Atomic increment of approved spending
   *
   * Works around https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   *
   */
  function addApproval(address spender, uint addedValue) public returns (bool success) {
      uint oldValue = allowed[msg.sender][spender];
      allowed[msg.sender][spender] = oldValue.add(addedValue);
      Approval(msg.sender, spender, allowed[msg.sender][spender]);
      return true;
  }

  /**
   * Atomic decrement of approved spending.
   *
   * Works around https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   */
  function subApproval(address spender, uint subtractedValue) public returns (bool success) {

      uint oldVal = allowed[msg.sender][spender];

      if (subtractedValue > oldVal) {
          allowed[msg.sender][spender] = 0;
      } else {
          allowed[msg.sender][spender] = oldVal.sub(subtractedValue);
      }
      Approval(msg.sender, spender, allowed[msg.sender][spender]);
      return true;
  }

  /**
   * @dev Provides an internal function for destroying tokens. Useful for upgrades.
   */
  function burnTokens(address account, uint value) internal {
    balances[account] = balances[account].sub(value);
    total_supply = total_supply.sub(value);
    Transfer(account, 0, value);
    Burned(account, value);
  }

  /**
   * @dev Provides an internal minting function.
   */
  function mintInternal(address receiver, uint amount) internal {
    total_supply = total_supply.add(amount);
    balances[receiver] = balances[receiver].add(amount);
    Minted(receiver, amount);

    // Beware: Address zero may be used for special transactions in a future fork.
    // This will make the mint transaction appear in EtherScan.io
    // We can remove this after there is a standardized minting event
    Transfer(0, receiver, amount);
  }
  
}
pragma solidity ^0.4.19;

/**
 * Originally from https://github.com/OpenZeppelin/zeppelin-solidity
 * Modified by https://www.coinfabrik.com/
 */

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


  /** 
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() internal {
    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) onlyOwner public {
    require(newOwner != address(0));
    owner = newOwner;
  }

}

/**
 * Define interface for releasing the token transfer after a successful crowdsale.
 */
contract ReleasableToken is StandardToken, Ownable {

  /* The finalizer contract that allows lifting the transfer limits on this token */
  address public releaseAgent;

  /** A crowdsale contract can release us to the wild if ICO success. If false we are are in transfer lock up period.*/
  bool public released = false;

  /** Map of agents that are allowed to transfer tokens regardless of the lock down period. These are crowdsale contracts and possible the team multisig itself. */
  mapping (address => bool) public transferAgents;

  /**
   * Set the contract that can call release and make the token transferable.
   *
   * Since the owner of this contract is (or should be) the crowdsale,
   * it can only be called by a corresponding exposed API in the crowdsale contract in case of input error.
   */
  function setReleaseAgent(address addr) onlyOwner inReleaseState(false) public {
    // We don't do interface check here as we might want to have a normal wallet address to act as a release agent.
    releaseAgent = addr;
  }

  /**
   * Owner can allow a particular address (e.g. a crowdsale contract) to transfer tokens despite the lock up period.
   */
  function setTransferAgent(address addr, bool state) onlyOwner inReleaseState(false) public {
    transferAgents[addr] = state;
  }

  /**
   * One way function to release the tokens into the wild.
   *
   * Can be called only from the release agent that should typically be the finalize agent ICO contract.
   * In the scope of the crowdsale, it is only called if the crowdsale has been a success (first milestone reached).
   */
  function releaseTokenTransfer() public onlyReleaseAgent {
    released = true;
  }

  /**
   * Limit token transfer until the crowdsale is over.
   */
  modifier canTransfer(address sender) {
    require(released || transferAgents[sender]);
    _;
  }

  /** The function can be called only before or after the tokens have been released */
  modifier inReleaseState(bool releaseState) {
    require(releaseState == released);
    _;
  }

  /** The function can be called only by a whitelisted release agent. */
  modifier onlyReleaseAgent() {
    require(msg.sender == releaseAgent);
    _;
  }

  /** We restrict transfer by overriding it */
  function transfer(address to, uint value) public canTransfer(msg.sender) returns (bool success) {
    // Call StandardToken.transfer()
   return super.transfer(to, value);
  }

  /** We restrict transferFrom by overriding it */
  function transferFrom(address from, address to, uint value) public canTransfer(from) returns (bool success) {
    // Call StandardToken.transferForm()
    return super.transferFrom(from, to, value);
  }

}



pragma solidity ^0.4.19;

/**
 * First envisioned by Golem and Lunyr projects.
 * Originally from https://github.com/TokenMarketNet/ico
 * Modified by https://www.coinfabrik.com/
 */

pragma solidity ^0.4.19;

/**
 * Inspired by Lunyr.
 * Originally from https://github.com/TokenMarketNet/ico
 */

/**
 * Upgrade agent transfers tokens to a new contract.
 * Upgrade agent itself can be the token contract, or just a middle man contract doing the heavy lifting.
 *
 * The Upgrade agent is the interface used to implement a token
 * migration in the case of an emergency.
 * The function upgradeFrom has to implement the part of the creation
 * of new tokens on behalf of the user doing the upgrade.
 *
 * The new token can implement this interface directly, or use.
 */
contract UpgradeAgent {

  /** This value should be the same as the original token's total supply */
  uint public originalSupply;

  /** Interface to ensure the contract is correctly configured */
  function isUpgradeAgent() public pure returns (bool) {
    return true;
  }

  /**
  Upgrade an account

  When the token contract is in the upgrade status the each user will
  have to call `upgrade(value)` function from UpgradeableToken.

  The upgrade function adjust the balance of the user and the supply
  of the previous token and then call `upgradeFrom(value)`.

  The UpgradeAgent is the responsible to create the tokens for the user
  in the new contract.

  * @param from Account to upgrade.
  * @param value Tokens to upgrade.

  */
  function upgradeFrom(address from, uint value) public;

}


/**
 * A token upgrade mechanism where users can opt-in amount of tokens to the next smart contract revision.
 *
 */
contract UpgradeableToken is EIP20Token, Burnable {
  using SafeMath for uint;

  /** Contract / person who can set the upgrade path. This can be the same as team multisig wallet, as what it is with its default value. */
  address public upgradeMaster;

  /** The next contract where the tokens will be migrated. */
  UpgradeAgent public upgradeAgent;

  /** How many tokens we have upgraded by now. */
  uint public totalUpgraded = 0;

  /**
   * Upgrade states.
   *
   * - NotAllowed: The child contract has not reached a condition where the upgrade can bgun
   * - WaitingForAgent: Token allows upgrade, but we don't have a new agent yet
   * - ReadyToUpgrade: The agent is set, but not a single token has been upgraded yet. This allows changing the upgrade agent while there is time.
   * - Upgrading: Upgrade agent is set and the balance holders can upgrade their tokens
   *
   */
  enum UpgradeState {Unknown, NotAllowed, WaitingForAgent, ReadyToUpgrade, Upgrading}

  /**
   * Somebody has upgraded some of his tokens.
   */
  event Upgrade(address indexed from, address to, uint value);

  /**
   * New upgrade agent available.
   */
  event UpgradeAgentSet(address agent);

  /**
   * Do not allow construction without upgrade master set.
   */
  function UpgradeableToken(address master) internal {
    setUpgradeMaster(master);
  }

  /**
   * Allow the token holder to upgrade some of their tokens to a new contract.
   */
  function upgrade(uint value) public {
    UpgradeState state = getUpgradeState();
    // Ensure it's not called in a bad state
    require(state == UpgradeState.ReadyToUpgrade || state == UpgradeState.Upgrading);

    // Validate input value.
    require(value != 0);

    // Upgrade agent reissues the tokens
    upgradeAgent.upgradeFrom(msg.sender, value);
    
    // Take tokens out from circulation
    burnTokens(msg.sender, value);
    totalUpgraded = totalUpgraded.add(value);

    Upgrade(msg.sender, upgradeAgent, value);
  }

  /**
   * Set an upgrade agent that handles the upgrade process
   */
  function setUpgradeAgent(address agent) onlyMaster external {
    // Check whether the token is in a state that we could think of upgrading
    require(canUpgrade());

    require(agent != 0x0);
    // Upgrade has already begun for an agent
    require(getUpgradeState() != UpgradeState.Upgrading);

    upgradeAgent = UpgradeAgent(agent);

    // Bad interface
    require(upgradeAgent.isUpgradeAgent());
    // Make sure that token supplies match in source and target
    require(upgradeAgent.originalSupply() == totalSupply());

    UpgradeAgentSet(upgradeAgent);
  }

  /**
   * Get the state of the token upgrade.
   */
  function getUpgradeState() public view returns(UpgradeState) {
    if (!canUpgrade()) return UpgradeState.NotAllowed;
    else if (address(upgradeAgent) == 0x00) return UpgradeState.WaitingForAgent;
    else if (totalUpgraded == 0) return UpgradeState.ReadyToUpgrade;
    else return UpgradeState.Upgrading;
  }

  /**
   * Change the upgrade master.
   *
   * This allows us to set a new owner for the upgrade mechanism.
   */
  function changeUpgradeMaster(address new_master) onlyMaster public {
    setUpgradeMaster(new_master);
  }

  /**
   * Internal upgrade master setter.
   */
  function setUpgradeMaster(address new_master) private {
    require(new_master != 0x0);
    upgradeMaster = new_master;
  }

  /**
   * Child contract can override to provide the condition in which the upgrade can begin.
   */
  function canUpgrade() public view returns(bool) {
     return true;
  }


  modifier onlyMaster() {
    require(msg.sender == upgradeMaster);
    _;
  }
}

pragma solidity ^0.4.19;

/**
 * Authored by https://www.coinfabrik.com/
 */


// This contract aims to provide an inheritable way to recover tokens from a contract not meant to hold tokens
// To use this contract, have your token-ignoring contract inherit this one and implement getLostAndFoundMaster to decide who can move lost tokens.
// Of course, this contract imposes support costs upon whoever is the lost and found master.
contract LostAndFoundToken {
  /**
   * @return Address of the account that handles movements.
   */
  function getLostAndFoundMaster() internal view returns (address);

  /**
   * @param agent Address that will be able to move tokens with transferFrom
   * @param tokens Amount of tokens approved for transfer
   * @param token_contract Contract of the token
   */
  function enableLostAndFound(address agent, uint tokens, EIP20Token token_contract) public {
    require(msg.sender == getLostAndFoundMaster());
    // We use approve instead of transfer to minimize the possibility of the lost and found master
    //  getting them stuck in another address by accident.
    token_contract.approve(agent, tokens);
  }
}
pragma solidity ^0.4.19;

/**
 * Originally from https://github.com/TokenMarketNet/ico
 * Modified by https://www.coinfabrik.com/
 */


/**
 * A public interface to increase the supply of a token.
 *
 * This allows uncapped crowdsale by dynamically increasing the supply when money pours in.
 * Only mint agents, usually contracts whitelisted by the owner, can mint new tokens.
 *
 */
contract MintableToken is Mintable, Ownable {

  using SafeMath for uint;

  bool public mintingFinished = false;

  /** List of agents that are allowed to create new tokens */
  mapping (address => bool) public mintAgents;

  event MintingAgentChanged(address addr, bool state);


  function MintableToken(uint initialSupply, address multisig, bool mintable) internal {
    require(multisig != address(0));
    // Cannot create a token without supply and no minting
    require(mintable || initialSupply != 0);
    // Create initially all balance on the team multisig
    if (initialSupply > 0)
      mintInternal(multisig, initialSupply);
    // No more new supply allowed after the token creation
    mintingFinished = !mintable;
  }

  /**
   * Create new tokens and allocate them to an address.
   *
   * Only callable by a mint agent (e.g. crowdsale contract).
   */
  function mint(address receiver, uint amount) onlyMintAgent canMint public {
    mintInternal(receiver, amount);
  }

  /**
   * Owner can allow a crowdsale contract to mint new tokens.
   */
  function setMintAgent(address addr, bool state) onlyOwner canMint public {
    mintAgents[addr] = state;
    MintingAgentChanged(addr, state);
  }

  modifier onlyMintAgent() {
    // Only mint agents are allowed to mint new tokens
    require(mintAgents[msg.sender]);
    _;
  }

  /** Make sure we are not done yet. */
  modifier canMint() {
    require(!mintingFinished);
    _;
  }
}

/**
 * A crowdsale token.
 *
 * An ERC-20 token designed specifically for crowdsales with investor protection and further development path.
 *
 * - The token transfer() is disabled until the crowdsale is over
 * - The token contract gives an opt-in upgrade path to a new contract
 * - The same token can be part of several crowdsales through the approve() mechanism
 * - The token can be capped (supply set in the constructor) or uncapped (crowdsale contract can mint new tokens)
 * - ERC20 tokens transferred to this contract can be recovered by a lost and found master
 *
 */
contract CrowdsaleToken is ReleasableToken, MintableToken, UpgradeableToken, LostAndFoundToken {

  string public name = "Cryptosolartech";

  string public symbol = "CST";

  uint8 public decimals;

  address public lost_and_found_master;

  /**
   * Construct the token.
   *
   * This token must be created through a team multisig wallet, so that it is owned by that wallet.
   *
   * @param initial_supply How many tokens we start with.
   * @param token_decimals Number of decimal places.
   * @param team_multisig Address of the multisig that receives the initial supply and is set as the upgrade master.
   * @param token_retriever Address of the account that handles ERC20 tokens that were accidentally sent to this contract.
   */
  function CrowdsaleToken(uint initial_supply, uint8 token_decimals, address team_multisig, address token_retriever) public
  UpgradeableToken(team_multisig) MintableToken(initial_supply, team_multisig, true) {
    require(token_retriever != address(0));
    decimals = token_decimals;
    lost_and_found_master = token_retriever;
  }

  /**
   * When token is released to be transferable, prohibit new token creation.
   */
  function releaseTokenTransfer() public onlyReleaseAgent {
    mintingFinished = true;
    super.releaseTokenTransfer();
  }

  /**
   * Allow upgrade agent functionality to kick in only if the crowdsale was a success.
   */
  function canUpgrade() public view returns(bool) {
    return released && super.canUpgrade();
  }

  function burn(uint value) public {
    burnTokens(msg.sender, value);
  }

  function getLostAndFoundMaster() internal view returns(address) {
    return lost_and_found_master;
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"state","type":"bool"}],"name":"setTransferAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setReleaseAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"mintAgents","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"state","type":"bool"}],"name":"setMintAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"},{"name":"tokens","type":"uint256"},{"name":"token_contract","type":"address"}],"name":"enableLostAndFound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradeAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseTokenTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getUpgradeState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferAgents","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"released","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"canUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lost_and_found_master","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"addApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releaseAgent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"}],"name":"setUpgradeAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"subApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"new_master","type":"address"}],"name":"changeUpgradeMaster","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"initial_supply","type":"uint256"},{"name":"token_decimals","type":"uint8"},{"name":"team_multisig","type":"address"},{"name":"token_retriever","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"agent","type":"address"}],"name":"UpgradeAgentSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"state","type":"bool"}],"name":"MintingAgentChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

606060409081526004805460a060020a60ff02191690556006805460ff191690556000600a558051908101604052600f81527f43727970746f736f6c61727465636800000000000000000000000000000000006020820152600b9080516200006c9291602001906200032b565b5060408051908101604052600381527f43535400000000000000000000000000000000000000000000000000000000006020820152600c908051620000b69291602001906200032b565b503415620000c357600080fd5b604051608080620019148339810160405280805191906020018051919060200180519190602001805160038054600160a060020a03191633600160a060020a039081169190911790915590925083915085908290600190821615156200012857600080fd5b80806200013457508215155b15156200014057600080fd5b60008311156200016457620001648284640100000000620011d0620001e482021704565b6006805460ff19169115919091179055506200019090508164010000000062001491620002dc82021704565b50600160a060020a0381161515620001a757600080fd5b600d8054600160a060020a039092166101000261010060a860020a031960ff90951660ff1990931692909217939093161790915550620003d09050565b600054620002019082640100000000620013706200031482021704565b6000908155600160a060020a038316815260016020526040902054620002369082640100000000620013706200031482021704565b600160a060020a03831660009081526001602052604090819020919091557f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe908390839051600160a060020a03909216825260208201526040908101905180910390a181600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a35050565b600160a060020a0381161515620002f257600080fd5b60088054600160a060020a031916600160a060020a0392909216919091179055565b6000828201838110156200032457fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200036e57805160ff19168380011785556200039e565b828001600101855582156200039e579182015b828111156200039e57825182559160200191906001019062000381565b50620003ac929150620003b0565b5090565b620003cd91905b80821115620003ac5760008155600101620003b7565b90565b61153480620003e06000396000f3006060604052600436106101925763ffffffff60e060020a60003504166302f652a3811461019757806305d2035b146101bd57806306fdde03146101e4578063095ea7b31461026e57806318160ddd1461029057806323b872dd146102b557806329ff4f53146102dd578063313ce567146102fc57806340c10f191461032557806342966c681461034757806342c1867b1461035d578063432146751461037c57806345977d03146103a05780634a52e506146103b65780635de4ccb0146103df5780635f412d4f1461040e578063600440cb1461042157806370a08231146104345780638444b39114610453578063867c28571461048a5780638da5cb5b146104a957806395d89b41146104bc57806396132521146104cf5780639738968c146104e2578063a64278ce146104f5578063a9059cbb14610508578063ac3cb72c1461052a578063c752ff621461054c578063d1f276d31461055f578063d7e7088a14610572578063dd62ed3e14610591578063e2301d02146105b6578063ea56a44d146105d8578063f2fde38b146105f7575b600080fd5b34156101a257600080fd5b6101bb600160a060020a03600435166024351515610616565b005b34156101c857600080fd5b6101d0610677565b604051901515815260200160405180910390f35b34156101ef57600080fd5b6101f7610680565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561023357808201518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027957600080fd5b6101d0600160a060020a036004351660243561071e565b341561029b57600080fd5b6102a36107b2565b60405190815260200160405180910390f35b34156102c057600080fd5b6101d0600160a060020a03600435811690602435166044356107b9565b34156102e857600080fd5b6101bb600160a060020a036004351661080d565b341561030757600080fd5b61030f610865565b60405160ff909116815260200160405180910390f35b341561033057600080fd5b6101bb600160a060020a036004351660243561086e565b341561035257600080fd5b6101bb6004356108b3565b341561036857600080fd5b6101d0600160a060020a03600435166108c0565b341561038757600080fd5b6101bb600160a060020a036004351660243515156108d5565b34156103ab57600080fd5b6101bb600435610971565b34156103c157600080fd5b6101bb600160a060020a036004358116906024359060443516610a9b565b34156103ea57600080fd5b6103f2610b3f565b604051600160a060020a03909116815260200160405180910390f35b341561041957600080fd5b6101bb610b4e565b341561042c57600080fd5b6103f2610b80565b341561043f57600080fd5b6102a3600160a060020a0360043516610b8f565b341561045e57600080fd5b610466610baa565b6040518082600481111561047657fe5b60ff16815260200191505060405180910390f35b341561049557600080fd5b6101d0600160a060020a0360043516610bf5565b34156104b457600080fd5b6103f2610c0a565b34156104c757600080fd5b6101f7610c19565b34156104da57600080fd5b6101d0610c84565b34156104ed57600080fd5b6101d0610c94565b341561050057600080fd5b6103f2610cb8565b341561051357600080fd5b6101d0600160a060020a0360043516602435610ccc565b341561053557600080fd5b6101d0600160a060020a0360043516602435610d1e565b341561055757600080fd5b6102a3610db1565b341561056a57600080fd5b6103f2610db7565b341561057d57600080fd5b6101bb600160a060020a0360043516610dc6565b341561059c57600080fd5b6102a3600160a060020a0360043581169060243516610f70565b34156105c157600080fd5b6101d0600160a060020a0360043516602435610f9b565b34156105e357600080fd5b6101bb600160a060020a036004351661105c565b341561060257600080fd5b6101bb600160a060020a0360043516611080565b60035433600160a060020a0390811691161461063157600080fd5b60045460009060a060020a900460ff161561064b57600080fd5b50600160a060020a03919091166000908152600560205260409020805460ff1916911515919091179055565b60065460ff1681565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107165780601f106106eb57610100808354040283529160200191610716565b820191906000526020600020905b8154815290600101906020018083116106f957829003601f168201915b505050505081565b60008115806107505750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b151561075b57600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590556000805160206114e98339815191529085905190815260200160405180910390a350600192915050565b6000545b90565b600454600090849060a060020a900460ff16806107ee5750600160a060020a03811660009081526005602052604090205460ff165b15156107f957600080fd5b6108048585856110d2565b95945050505050565b60035433600160a060020a0390811691161461082857600080fd5b60045460009060a060020a900460ff161561084257600080fd5b5060048054600160a060020a031916600160a060020a0392909216919091179055565b600d5460ff1681565b600160a060020a03331660009081526007602052604090205460ff16151561089557600080fd5b60065460ff16156108a557600080fd5b6108af82826111d0565b5050565b6108bd33826112a2565b50565b60076020526000908152604090205460ff1681565b60035433600160a060020a039081169116146108f057600080fd5b60065460ff161561090057600080fd5b600160a060020a03821660009081526007602052604090819020805460ff19168315151790557f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa908390839051600160a060020a039092168252151560208201526040908101905180910390a15050565b600061097b610baa565b9050600381600481111561098b57fe5b14806109a2575060048160048111156109a057fe5b145b15156109ad57600080fd5b8115156109b957600080fd5b600954600160a060020a031663753e88e5338460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610a0f57600080fd5b6102c65a03f11515610a2057600080fd5b505050610a2d33836112a2565b600a54610a40908363ffffffff61137016565b600a55600954600160a060020a03338116917f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac911684604051600160a060020a03909216825260208201526040908101905180910390a25050565b610aa3611386565b600160a060020a031633600160a060020a0316141515610ac257600080fd5b80600160a060020a031663095ea7b3848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b1f57600080fd5b6102c65a03f11515610b3057600080fd5b50505060405180515050505050565b600954600160a060020a031681565b60045433600160a060020a03908116911614610b6957600080fd5b6006805460ff19166001179055610b7e61139a565b565b600854600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b6000610bb4610c94565b1515610bc2575060016107b6565b600954600160a060020a03161515610bdc575060026107b6565b600a541515610bed575060036107b6565b5060046107b6565b60056020526000908152604090205460ff1681565b600354600160a060020a031681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107165780601f106106eb57610100808354040283529160200191610716565b60045460a060020a900460ff1681565b60045460009060a060020a900460ff168015610cb35750610cb36113cd565b905090565b600d546101009004600160a060020a031681565b600454600090339060a060020a900460ff1680610d015750600160a060020a03811660009081526005602052604090205460ff165b1515610d0c57600080fd5b610d1684846113d2565b949350505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610d56818463ffffffff61137016565b600160a060020a033381166000818152600260209081526040808320948a168084529490915290819020849055919290916000805160206114e983398151915291905190815260200160405180910390a35060019392505050565b600a5481565b600454600160a060020a031681565b60085433600160a060020a03908116911614610de157600080fd5b610de9610c94565b1515610df457600080fd5b600160a060020a0381161515610e0957600080fd5b6004610e13610baa565b6004811115610e1e57fe5b1415610e2957600080fd5b60098054600160a060020a031916600160a060020a038381169190911791829055166361d3d7a66000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e8757600080fd5b6102c65a03f11515610e9857600080fd5b505050604051805190501515610ead57600080fd5b610eb56107b2565b600954600160a060020a0316634b2ba0dd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610efd57600080fd5b6102c65a03f11515610f0e57600080fd5b50505060405180519050141515610f2457600080fd5b6009547f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc90600160a060020a0316604051600160a060020a03909116815260200160405180910390a150565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205480831115610ff857600160a060020a033381166000908152600260209081526040808320938816835292905290812055611008565b610d56818463ffffffff61147f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020546000805160206114e9833981519152915190815260200160405180910390a35060019392505050565b60085433600160a060020a0390811691161461107757600080fd5b6108bd81611491565b60035433600160a060020a0390811691161461109b57600080fd5b600160a060020a03811615156110b057600080fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a038084166000818152600260209081526040808320339095168352938152838220549282526001905291822054611116908463ffffffff61147f16565b600160a060020a03808716600090815260016020526040808220939093559086168152205461114b908463ffffffff61137016565b600160a060020a038516600090815260016020526040902055611174818463ffffffff61147f16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616916000805160206114c98339815191529086905190815260200160405180910390a3506001949350505050565b6000546111e3908263ffffffff61137016565b6000908155600160a060020a03831681526001602052604090205461120e908263ffffffff61137016565b600160a060020a03831660009081526001602052604090819020919091557f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe908390839051600160a060020a03909216825260208201526040908101905180910390a181600160a060020a031660006000805160206114c98339815191528360405190815260200160405180910390a35050565b600160a060020a0382166000908152600160205260409020546112cb908263ffffffff61147f16565b600160a060020a038316600090815260016020526040812091909155546112f8908263ffffffff61147f16565b6000908155600160a060020a0383166000805160206114c98339815191528360405190815260200160405180910390a37f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df78282604051600160a060020a03909216825260208201526040908101905180910390a15050565b60008282018381101561137f57fe5b9392505050565b600d546101009004600160a060020a031690565b60045433600160a060020a039081169116146113b557600080fd5b6004805460a060020a60ff02191660a060020a179055565b600190565b600160a060020a0333166000908152600160205260408120546113fb908363ffffffff61147f16565b600160a060020a033381166000908152600160205260408082209390935590851681522054611430908363ffffffff61137016565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206114c98339815191529085905190815260200160405180910390a350600192915050565b60008282111561148b57fe5b50900390565b600160a060020a03811615156114a657600080fd5b60088054600160a060020a031916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a723058203ee262f8b499031059f514a24cb0a8e6bcff0c8578d5cc51c6f81a2a963fa996002900000000000000000000000000000000000000000014d84ebcc1c5caa6000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000093c4a8ed12bab494bc3045380ee1cfc07507d23400000000000000000000000054d9249c776c56520a62faecb87a00e105e8c9dc

Deployed Bytecode

0x6060604052600436106101925763ffffffff60e060020a60003504166302f652a3811461019757806305d2035b146101bd57806306fdde03146101e4578063095ea7b31461026e57806318160ddd1461029057806323b872dd146102b557806329ff4f53146102dd578063313ce567146102fc57806340c10f191461032557806342966c681461034757806342c1867b1461035d578063432146751461037c57806345977d03146103a05780634a52e506146103b65780635de4ccb0146103df5780635f412d4f1461040e578063600440cb1461042157806370a08231146104345780638444b39114610453578063867c28571461048a5780638da5cb5b146104a957806395d89b41146104bc57806396132521146104cf5780639738968c146104e2578063a64278ce146104f5578063a9059cbb14610508578063ac3cb72c1461052a578063c752ff621461054c578063d1f276d31461055f578063d7e7088a14610572578063dd62ed3e14610591578063e2301d02146105b6578063ea56a44d146105d8578063f2fde38b146105f7575b600080fd5b34156101a257600080fd5b6101bb600160a060020a03600435166024351515610616565b005b34156101c857600080fd5b6101d0610677565b604051901515815260200160405180910390f35b34156101ef57600080fd5b6101f7610680565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561023357808201518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027957600080fd5b6101d0600160a060020a036004351660243561071e565b341561029b57600080fd5b6102a36107b2565b60405190815260200160405180910390f35b34156102c057600080fd5b6101d0600160a060020a03600435811690602435166044356107b9565b34156102e857600080fd5b6101bb600160a060020a036004351661080d565b341561030757600080fd5b61030f610865565b60405160ff909116815260200160405180910390f35b341561033057600080fd5b6101bb600160a060020a036004351660243561086e565b341561035257600080fd5b6101bb6004356108b3565b341561036857600080fd5b6101d0600160a060020a03600435166108c0565b341561038757600080fd5b6101bb600160a060020a036004351660243515156108d5565b34156103ab57600080fd5b6101bb600435610971565b34156103c157600080fd5b6101bb600160a060020a036004358116906024359060443516610a9b565b34156103ea57600080fd5b6103f2610b3f565b604051600160a060020a03909116815260200160405180910390f35b341561041957600080fd5b6101bb610b4e565b341561042c57600080fd5b6103f2610b80565b341561043f57600080fd5b6102a3600160a060020a0360043516610b8f565b341561045e57600080fd5b610466610baa565b6040518082600481111561047657fe5b60ff16815260200191505060405180910390f35b341561049557600080fd5b6101d0600160a060020a0360043516610bf5565b34156104b457600080fd5b6103f2610c0a565b34156104c757600080fd5b6101f7610c19565b34156104da57600080fd5b6101d0610c84565b34156104ed57600080fd5b6101d0610c94565b341561050057600080fd5b6103f2610cb8565b341561051357600080fd5b6101d0600160a060020a0360043516602435610ccc565b341561053557600080fd5b6101d0600160a060020a0360043516602435610d1e565b341561055757600080fd5b6102a3610db1565b341561056a57600080fd5b6103f2610db7565b341561057d57600080fd5b6101bb600160a060020a0360043516610dc6565b341561059c57600080fd5b6102a3600160a060020a0360043581169060243516610f70565b34156105c157600080fd5b6101d0600160a060020a0360043516602435610f9b565b34156105e357600080fd5b6101bb600160a060020a036004351661105c565b341561060257600080fd5b6101bb600160a060020a0360043516611080565b60035433600160a060020a0390811691161461063157600080fd5b60045460009060a060020a900460ff161561064b57600080fd5b50600160a060020a03919091166000908152600560205260409020805460ff1916911515919091179055565b60065460ff1681565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107165780601f106106eb57610100808354040283529160200191610716565b820191906000526020600020905b8154815290600101906020018083116106f957829003601f168201915b505050505081565b60008115806107505750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b151561075b57600080fd5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590556000805160206114e98339815191529085905190815260200160405180910390a350600192915050565b6000545b90565b600454600090849060a060020a900460ff16806107ee5750600160a060020a03811660009081526005602052604090205460ff165b15156107f957600080fd5b6108048585856110d2565b95945050505050565b60035433600160a060020a0390811691161461082857600080fd5b60045460009060a060020a900460ff161561084257600080fd5b5060048054600160a060020a031916600160a060020a0392909216919091179055565b600d5460ff1681565b600160a060020a03331660009081526007602052604090205460ff16151561089557600080fd5b60065460ff16156108a557600080fd5b6108af82826111d0565b5050565b6108bd33826112a2565b50565b60076020526000908152604090205460ff1681565b60035433600160a060020a039081169116146108f057600080fd5b60065460ff161561090057600080fd5b600160a060020a03821660009081526007602052604090819020805460ff19168315151790557f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa908390839051600160a060020a039092168252151560208201526040908101905180910390a15050565b600061097b610baa565b9050600381600481111561098b57fe5b14806109a2575060048160048111156109a057fe5b145b15156109ad57600080fd5b8115156109b957600080fd5b600954600160a060020a031663753e88e5338460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610a0f57600080fd5b6102c65a03f11515610a2057600080fd5b505050610a2d33836112a2565b600a54610a40908363ffffffff61137016565b600a55600954600160a060020a03338116917f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac911684604051600160a060020a03909216825260208201526040908101905180910390a25050565b610aa3611386565b600160a060020a031633600160a060020a0316141515610ac257600080fd5b80600160a060020a031663095ea7b3848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b1f57600080fd5b6102c65a03f11515610b3057600080fd5b50505060405180515050505050565b600954600160a060020a031681565b60045433600160a060020a03908116911614610b6957600080fd5b6006805460ff19166001179055610b7e61139a565b565b600854600160a060020a031681565b600160a060020a031660009081526001602052604090205490565b6000610bb4610c94565b1515610bc2575060016107b6565b600954600160a060020a03161515610bdc575060026107b6565b600a541515610bed575060036107b6565b5060046107b6565b60056020526000908152604090205460ff1681565b600354600160a060020a031681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107165780601f106106eb57610100808354040283529160200191610716565b60045460a060020a900460ff1681565b60045460009060a060020a900460ff168015610cb35750610cb36113cd565b905090565b600d546101009004600160a060020a031681565b600454600090339060a060020a900460ff1680610d015750600160a060020a03811660009081526005602052604090205460ff165b1515610d0c57600080fd5b610d1684846113d2565b949350505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610d56818463ffffffff61137016565b600160a060020a033381166000818152600260209081526040808320948a168084529490915290819020849055919290916000805160206114e983398151915291905190815260200160405180910390a35060019392505050565b600a5481565b600454600160a060020a031681565b60085433600160a060020a03908116911614610de157600080fd5b610de9610c94565b1515610df457600080fd5b600160a060020a0381161515610e0957600080fd5b6004610e13610baa565b6004811115610e1e57fe5b1415610e2957600080fd5b60098054600160a060020a031916600160a060020a038381169190911791829055166361d3d7a66000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e8757600080fd5b6102c65a03f11515610e9857600080fd5b505050604051805190501515610ead57600080fd5b610eb56107b2565b600954600160a060020a0316634b2ba0dd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610efd57600080fd5b6102c65a03f11515610f0e57600080fd5b50505060405180519050141515610f2457600080fd5b6009547f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc90600160a060020a0316604051600160a060020a03909116815260200160405180910390a150565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205480831115610ff857600160a060020a033381166000908152600260209081526040808320938816835292905290812055611008565b610d56818463ffffffff61147f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020546000805160206114e9833981519152915190815260200160405180910390a35060019392505050565b60085433600160a060020a0390811691161461107757600080fd5b6108bd81611491565b60035433600160a060020a0390811691161461109b57600080fd5b600160a060020a03811615156110b057600080fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a038084166000818152600260209081526040808320339095168352938152838220549282526001905291822054611116908463ffffffff61147f16565b600160a060020a03808716600090815260016020526040808220939093559086168152205461114b908463ffffffff61137016565b600160a060020a038516600090815260016020526040902055611174818463ffffffff61147f16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616916000805160206114c98339815191529086905190815260200160405180910390a3506001949350505050565b6000546111e3908263ffffffff61137016565b6000908155600160a060020a03831681526001602052604090205461120e908263ffffffff61137016565b600160a060020a03831660009081526001602052604090819020919091557f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe908390839051600160a060020a03909216825260208201526040908101905180910390a181600160a060020a031660006000805160206114c98339815191528360405190815260200160405180910390a35050565b600160a060020a0382166000908152600160205260409020546112cb908263ffffffff61147f16565b600160a060020a038316600090815260016020526040812091909155546112f8908263ffffffff61147f16565b6000908155600160a060020a0383166000805160206114c98339815191528360405190815260200160405180910390a37f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df78282604051600160a060020a03909216825260208201526040908101905180910390a15050565b60008282018381101561137f57fe5b9392505050565b600d546101009004600160a060020a031690565b60045433600160a060020a039081169116146113b557600080fd5b6004805460a060020a60ff02191660a060020a179055565b600190565b600160a060020a0333166000908152600160205260408120546113fb908363ffffffff61147f16565b600160a060020a033381166000908152600160205260408082209390935590851681522054611430908363ffffffff61137016565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206114c98339815191529085905190815260200160405180910390a350600192915050565b60008282111561148b57fe5b50900390565b600160a060020a03811615156114a657600080fd5b60088054600160a060020a031916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a723058203ee262f8b499031059f514a24cb0a8e6bcff0c8578d5cc51c6f81a2a963fa9960029

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

00000000000000000000000000000000000000000014d84ebcc1c5caa6000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000093c4a8ed12bab494bc3045380ee1cfc07507d23400000000000000000000000054d9249c776c56520a62faecb87a00e105e8c9dc

-----Decoded View---------------
Arg [0] : initial_supply (uint256): 25200000000000000000000000
Arg [1] : token_decimals (uint8): 18
Arg [2] : team_multisig (address): 0x93C4a8ed12BAb494bc3045380EE1CfC07507D234
Arg [3] : token_retriever (address): 0x54d9249C776C56520A62faeCB87A00E105E8c9Dc

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000014d84ebcc1c5caa6000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [2] : 00000000000000000000000093c4a8ed12bab494bc3045380ee1cfc07507d234
Arg [3] : 00000000000000000000000054d9249c776c56520a62faecb87a00e105e8c9dc


Swarm Source

bzzr://3ee262f8b499031059f514a24cb0a8e6bcff0c8578d5cc51c6f81a2a963fa996

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

New ICO, Cryptocurrency and Solar Energy. Own mining farm based on photovoltaic plant. Blockchain of Ethereum as a management tool.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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