Sponsored:   Temco - Join the Largest VC Backed ICO on the Bitcoin Network! TEMCO KYC Whitelist Starts Now!!
Contract Overview |  Crypto.com
Balance: 0 Ether
Ether Value: $0
Transactions: 157106 txns
Token Tracker: Crypto.com (MCO)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x51b9311eb6ec8beb049dafeafe389ee2818b1b20at txn 0xd01842db7d26241bb71c0743a9f4dfd8a2a998659c9af92d373c77a33da09891
Token Balance:
 Latest 25 transactions from a total of 157106 transactions
(+2 PendingTxns)

TxHash Age From To Value [TxFee]
0xaf3de7ec82c1b196d0bbe6989f67e53f4f182c84ed2d9f4ffc1b835f57ee3b6e(pending)0x57df13d8b81109e7ab12d97a2d57c3793def133a  IN  0xb63b606ac810a52cca15e44bb630fd42d8d1d83d0 Ether(Pending)
0xe19dd1cd908ebc661607cfcbf4058694bb9075c03810bdf640826742741da4a9(pending)0x4908a9d5733a6c60bdb177ede7acbd9f034b90ee  IN  0xb63b606ac810a52cca15e44bb630fd42d8d1d83d0 Ether(Pending)
0x2b65d2506639d8d8b1015c66f14c6a8bedc346936ef75f1bf681ee7ce765744c 49 secs ago0x70c1e7acec3fb428d311a5ba54c377a108108037  IN   Crypto.com0 Ether0.000561
0x818360187c6d8fa5fc77f40486c5b5ac76b4f377d56c5b151e6dd2e7e7de288a1 min ago0x2992917565fe450cf82da7e2ea2166e4d6f771a9  IN   Crypto.com0 Ether0.0008415
0x78a68f13d31af701d47f5027b3b05cd8e7072621d496f0469a9f82e3359633883 mins ago0xba826fec90cefdf6706858e5fbafcb27a290fbe0  IN   Crypto.com0 Ether0.003406
0x2b1e85d2b32ba0254bdb3139204d53f49483c43ca6a2eed98b7135690c7b29244 mins agoBittrex_1  IN   Crypto.com0 Ether0.0018668
0x411ea9535c50f4c93098dbaea347c7f2e914cdce52045f80e9270028795485e46 mins agoBinance_1  IN   Crypto.com0 Ether0.001122
0xf80011674a156cc12313d1c657c0689a3f9ea91fa456fcabe3f77eee495fe5d110 mins ago0x4053579ecb3c25c660dd593062d1844e18bd7037  IN   Crypto.com0 Ether0.0009184
0x593429d7f3a2426702566da1b1f4295d77a0705aa37bbb580884abcc80b0808d10 mins ago0x53f9b1d2bdc5066ac1ecfcca4738c21781fbde5f  IN   Crypto.com0 Ether0.00104544
0x13adebe38fcf736a19997324b995c2968e7336db3e6ce0b3bc20cdb0ac66f1ad11 mins agoBinance_3  IN   Crypto.com0 Ether0.001572
0x1290cf8ed7c5a573afa4a706e8987b9576078ac9d56dc93461cce4a7b902217e16 mins agoBinance_1  IN   Crypto.com0 Ether0.00157008
0x81f3109bc99ebaef8b16c7a77934630d9561b2f79fd40ae24aa6d38b9fd1713520 mins ago0x32e567e8b527d3194c60ea3c6a5c009d58a0b36d  IN   Crypto.com0 Ether0.001528152
0x0d499627d944b20229a6e48d3601445e404676e472afabdea4c49770ec488a6425 mins agoBittrex_1  IN   Crypto.com0 Ether0.0026136
0x33753fa3b37e886cbfee694ceca671de73d46d6ab46fe9d08a05d9a0798a60da26 mins ago0x73b075eadbe2a9afdd008b3ff7fa05d0dbc8882b  IN   Crypto.com0 Ether0.000448
0x6a8ca8c8ba08b5f20d66534909004ca3ff7c8c70dbc67bafc62ea49bc921dfa930 mins ago0xaa4c3eea54567a82e8c50dec25eb9f4beec02696  IN   Crypto.com0 Ether0.0047684
0xa8810795ed8c877f882f46f0e3631eab14bebd7df31457510503656c6a95b8b033 mins ago0xc610f7ecb3f14b3ce06dfa5fe4bd65727d212ef3  IN   Crypto.com0 Ether0.00084006
0x88e76ae473fa64fb5549ebf1262d76da18ec67fa143752eaa15bf6387b356f2635 mins ago0x0c8a1a08734df7e8000e6233abf9f1bceb6ca7b0  IN   Crypto.com0 Ether0.00044672
0x06a44f77551a7deb8a76e113a7274602918c4b84fd6f6ca8d2c9557c316b034736 mins agoBittrex_1  IN   Crypto.com0 Ether0.00262
0xcf942acc63bd62a1b3e4cc1230f8fd1e86afbec04f5bb4e3802c38b70db75e9839 mins agoBinance_4  IN   Crypto.com0 Ether0.001572
0x5b151f98b816f236c5f10c88ff917bd82db77d4225f8ed56b8fc0e26a3f5322341 mins agoBinance_3  IN   Crypto.com0 Ether0.001572
0xac409c4ddde66f0e20cf5103d218eb2c8774b29d8092d1a0e4cf98037e2d26d942 mins ago0x9fb807d1d9b10d28a5a6381633ed7da6824a66c8  IN   Crypto.com0 Ether0.001344
0xd8078342cfa6751697e0a32373340246b4ae083e26dbdddda61ed9802023eb2843 mins agoBinance_1  IN   Crypto.com0 Ether0.001572
0x0d4f2b3fb3a26d27d6c3ccac39edc2ca4d14d6262e935f254254e5034594de5a46 mins agoBinance_1  IN   Crypto.com0 Ether0.001122
0x967684e1429f662ec054a6f23b353085ad15b39f713815acca4d73b40f8960d951 mins agoBinance_3  IN   Crypto.com0 Ether0.001572
0x822f99d256a52fd5d6ed49a7467ef56ac33817dc193303df6ba64c4caf31227452 mins agoBinance_1  IN   Crypto.com0 Ether0.001572
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: CrowdsaleToken
Compiler Text: v0.4.8+commit.60cc1668
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

/*
 * ERC20 interface
 * see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function allowance(address owner, address spender) constant returns (uint);

  function transfer(address to, uint value) returns (bool ok);
  function transferFrom(address from, address to, uint value) returns (bool ok);
  function approve(address spender, uint value) returns (bool ok);
  event Transfer(address indexed from, address indexed to, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}



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

  function safeDiv(uint a, uint b) internal returns (uint) {
    assert(b > 0);
    uint c = a / b;
    assert(a == b * c + a % b);
    return c;
  }

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

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

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

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

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

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

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



/**
 * Standard ERC20 token with Short Hand Attack and approve() race condition mitigation.
 *
 * Based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, SafeMath {

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

  /* Actual balances of token holders */
  mapping(address => uint) balances;

  /* approve() allowances */
  mapping (address => mapping (address => uint)) allowed;

  /* Interface declaration */
  function isToken() public constant returns (bool weAre) {
    return true;
  }

  /**
   *
   * Fix for the ERC20 short address attack
   *
   * http://vessenes.com/the-erc20-short-address-attack-explained/
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) returns (bool success) {
    balances[msg.sender] = safeSub(balances[msg.sender], _value);
    balances[_to] = safeAdd(balances[_to], _value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  function transferFrom(address _from, address _to, uint _value) returns (bool success) {
    uint _allowance = allowed[_from][msg.sender];

    balances[_to] = safeAdd(balances[_to], _value);
    balances[_from] = safeSub(balances[_from], _value);
    allowed[_from][msg.sender] = safeSub(_allowance, _value);
    Transfer(_from, _to, _value);
    return true;
  }

  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

  function approve(address _spender, uint _value) 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
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

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

  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}





/**
 * Upgrade agent interface inspired by Lunyr.
 *
 * 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.
 */
contract UpgradeAgent {

  uint public originalSupply;

  /** Interface marker */
  function isUpgradeAgent() public constant returns (bool) {
    return true;
  }

  function upgradeFrom(address _from, uint256 _value) public;

}


/**
 * A token upgrade mechanism where users can opt-in amount of tokens to the next smart contract revision.
 *
 * First envisioned by Golem and Lunyr projects.
 */
contract UpgradeableToken is StandardToken {

  /** 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. */
  uint256 public totalUpgraded;

  /**
   * 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
   * - 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 indexed _to, uint256 _value);

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

  /**
   * Do not allow construction without upgrade master set.
   */
  function UpgradeableToken(address _upgradeMaster) {
    upgradeMaster = _upgradeMaster;
  }

  /**
   * Allow the token holder to upgrade some of their tokens to a new contract.
   */
  function upgrade(uint256 value) public {

      UpgradeState state = getUpgradeState();
      if(!(state == UpgradeState.ReadyToUpgrade || state == UpgradeState.Upgrading)) {
        // Called in a bad state
        throw;
      }

      // Validate input value.
      if (value == 0) throw;

      balances[msg.sender] = safeSub(balances[msg.sender], value);

      // Take tokens out from circulation
      totalSupply = safeSub(totalSupply, value);
      totalUpgraded = safeAdd(totalUpgraded, value);

      // Upgrade agent reissues the tokens
      upgradeAgent.upgradeFrom(msg.sender, value);
      Upgrade(msg.sender, upgradeAgent, value);
  }

  /**
   * Set an upgrade agent that handles
   */
  function setUpgradeAgent(address agent) external {

      if(!canUpgrade()) {
        // The token is not yet in a state that we could think upgrading
        throw;
      }

      if (agent == 0x0) throw;
      // Only a master can designate the next agent
      if (msg.sender != upgradeMaster) throw;
      // Upgrade has already begun for an agent
      if (getUpgradeState() == UpgradeState.Upgrading) throw;

      upgradeAgent = UpgradeAgent(agent);

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

      UpgradeAgentSet(upgradeAgent);
  }

  /**
   * Get the state of the token upgrade.
   */
  function getUpgradeState() public constant 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 setUpgradeMaster(address master) public {
      if (master == 0x0) throw;
      if (msg.sender != upgradeMaster) throw;
      upgradeMaster = master;
  }

  /**
   * Child contract can enable to provide the condition when the upgrade can begun.
   */
  function canUpgrade() public constant returns(bool) {
     return true;
  }

}




/*
 * Ownable
 *
 * Base contract with an owner.
 * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner.
 */
contract Ownable {
  address public owner;

  function Ownable() {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    if (msg.sender != owner) {
      throw;
    }
    _;
  }

  function transferOwnership(address newOwner) onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}




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

  /* The finalizer contract that allows unlift 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;

  /**
   * Limit token transfer until the crowdsale is over.
   *
   */
  modifier canTransfer(address _sender) {

    if(!released) {
        if(!transferAgents[_sender]) {
            throw;
        }
    }

    _;
  }

  /**
   * Set the contract that can call release and make the token transferable.
   *
   * Design choice. Allow reset the release agent to fix fat finger mistakes.
   */
  function setReleaseAgent(address addr) onlyOwner inReleaseState(false) public {

    // We don't do interface check here as we might want to a normal wallet address to act as a release agent
    releaseAgent = addr;
  }

  /**
   * Owner can allow a particular address (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 to the wild.
   *
   * Can be called only from the release agent that is the final ICO contract. It is only called if the crowdsale has been success (first milestone reached).
   */
  function releaseTokenTransfer() public onlyReleaseAgent {
    released = true;
  }

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

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

  function transfer(address _to, uint _value) canTransfer(msg.sender) returns (bool success) {
    // Call StandardToken.transfer()
   return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint _value) canTransfer(_from) returns (bool success) {
    // Call StandardToken.transferForm()
    return super.transferFrom(_from, _to, _value);
  }

}





/**
 * Safe unsigned safe math.
 *
 * https://blog.aragon.one/library-driven-development-in-solidity-2bebcaf88736#.750gwtwli
 *
 * Originally from https://raw.githubusercontent.com/AragonOne/zeppelin-solidity/master/contracts/SafeMathLib.sol
 *
 * Maintained here until merged to mainline zeppelin-solidity.
 *
 */
library SafeMathLib {

  function times(uint a, uint b) returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

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



/**
 * A token that can increase its supply by another contract.
 *
 * This allows uncapped crowdsale by dynamically increasing the supply when money pours in.
 * Only mint agents, contracts whitelisted by owner, can mint new tokens.
 *
 */
contract MintableToken is StandardToken, Ownable {

  using SafeMathLib 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  );

  /**
   * Create new tokens and allocate them to an address..
   *
   * Only callably by a crowdsale contract (mint agent).
   */
  function mint(address receiver, uint amount) onlyMintAgent canMint public {
    totalSupply = totalSupply.plus(amount);
    balances[receiver] = balances[receiver].plus(amount);

    // This will make the mint transaction apper in EtherScan.io
    // We can remove this after there is a standardized minting event
    Transfer(0, 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 crowdsale contracts are allowed to mint new tokens
    if(!mintAgents[msg.sender]) {
        throw;
    }
    _;
  }

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



/**
 * A crowdsaled 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 approve() mechanism
 * - The token can be capped (supply set in the constructor) or uncapped (crowdsale contract can mint new tokens)
 *
 */
contract CrowdsaleToken is ReleasableToken, MintableToken, UpgradeableToken {

  event UpdatedTokenInformation(string newName, string newSymbol);

  string public name;

  string public symbol;

  uint public decimals;

  /**
   * Construct the token.
   *
   * This token must be created through a team multisig wallet, so that it is owned by that wallet.
   *
   * @param _name Token name
   * @param _symbol Token symbol - should be all caps
   * @param _initialSupply How many tokens we start with
   * @param _decimals Number of decimal places
   * @param _mintable Are new tokens created over the crowdsale or do we distribute only the initial supply? Note that when the token becomes transferable the minting always ends.
   */
  function CrowdsaleToken(string _name, string _symbol, uint _initialSupply, uint _decimals, bool _mintable)
    UpgradeableToken(msg.sender) {

    // Create any address, can be transferred
    // to team multisig via changeOwner(),
    // also remember to call setUpgradeMaster()
    owner = msg.sender;

    name = _name;
    symbol = _symbol;

    totalSupply = _initialSupply;

    decimals = _decimals;

    // Create initially all balance on the team multisig
    balances[owner] = totalSupply;

    if(totalSupply > 0) {
      Minted(owner, totalSupply);
    }

    // No more new supply allowed after the token creation
    if(!_mintable) {
      mintingFinished = true;
      if(totalSupply == 0) {
        throw; // Cannot create a token without supply and no minting
      }
    }
  }

  /**
   * When token is released to be transferable, enforce no new tokens can be created.
   */
  function releaseTokenTransfer() public onlyReleaseAgent {
    mintingFinished = true;
    super.releaseTokenTransfer();
  }

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

  /**
   * Owner can update token information here
   */
  function setTokenInformation(string _name, string _symbol) onlyOwner {
    name = _name;
    symbol = _symbol;

    UpdatedTokenInformation(name, symbol);
  }

}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"state","type":"bool"}],"name":"setTransferAgent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setReleaseAgent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"mintAgents","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"state","type":"bool"}],"name":"setMintAgent","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"upgrade","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"name":"setTokenInformation","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradeAgent","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"releaseTokenTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"upgradeMaster","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getUpgradeState","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferAgents","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"released","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"canUpgrade","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalUpgraded","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"releaseAgent","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"}],"name":"setUpgradeAgent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isToken","outputs":[{"name":"weAre","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"master","type":"address"}],"name":"setUpgradeMaster","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_initialSupply","type":"uint256"},{"name":"_decimals","type":"uint256"},{"name":"_mintable","type":"bool"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newName","type":"string"},{"indexed":false,"name":"newSymbol","type":"string"}],"name":"UpdatedTokenInformation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"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":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"}]

  Contract Creation Code Switch To Opcodes View
60606040526004805460a060020a60ff02191690556006805460ff191690553462000000576040516200197f3803806200197f83398101604090815281516020830151918301516060840151608085015192850194939093019290915b335b5b60038054600160a060020a03191633600160a060020a03161790555b60088054600160a060020a031916600160a060020a0383161790555b5060038054600160a060020a03191633600160a060020a03161790558451600b8054600082905290917f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602060026101006001861615026000190190941693909304601f9081018490048201938a01908390106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b5b50620001759291505b808211156200017157600081556001016200015b565b5090565b505083600c9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c557805160ff1916838001178555620001f5565b82800160010185558215620001f5579182015b82811115620001f5578251825591602001919060010190620001d8565b5b50620002199291505b808211156200017157600081556001016200015b565b5090565b50506000838155600d839055600354600160a060020a03168152600160205260408120849055831115620002935760035460005460408051600160a060020a039093168352602083019190915280517f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe9281900390910190a15b801515620002b8576006805460ff191660011790556000541515620002b85762000000565b5b5b50505050505b6116af80620002d06000396000f3006060604052361561016f5763ffffffff60e060020a60003504166302f652a3811461017457806305d2035b1461019457806306fdde03146101b5578063095ea7b31461024257806318160ddd1461027257806323b872dd1461029157806329ff4f53146102c7578063313ce567146102e257806340c10f191461030157806342c1867b1461031f578063432146751461034c57806345977d031461036c5780634eee966f1461037e5780635de4ccb0146104105780635f412d4f14610439578063600440cb1461044857806370a08231146104715780638444b3911461049c578063867c2857146104ca5780638da5cb5b146104f757806395d89b411461052057806396132521146105ad5780639738968c146105ce578063a9059cbb146105ef578063c752ff621461061f578063d1f276d31461063e578063d7e7088a14610667578063dd62ed3e14610682578063eefa597b146106b3578063f2fde38b146106d4578063ffeb7d75146106ef575b610000565b3461000057610192600160a060020a0360043516602435151561070a565b005b34610000576101a161076b565b604080519115158252519081900360200190f35b34610000576101c2610774565b604080516020808252835181830152835191928392908301918501908083838215610208575b80518252602083111561020857601f1990920191602091820191016101e8565b505050905090810190601f1680156102345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101a1600160a060020a0360043516602435610802565b604080519115158252519081900360200190f35b346100005761027f6108a8565b60408051918252519081900360200190f35b34610000576101a1600160a060020a03600435811690602435166044356108ae565b604080519115158252519081900360200190f35b3461000057610192600160a060020a0360043516610905565b005b346100005761027f61095c565b60408051918252519081900360200190f35b3461000057610192600160a060020a0360043516602435610962565b005b34610000576101a1600160a060020a0360043516610aff565b604080519115158252519081900360200190f35b3461000057610192600160a060020a03600435166024351515610b14565b005b3461000057610192600435610ba6565b005b3461000057610192600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650610d0595505050505050565b005b346100005761041d610f88565b60408051600160a060020a039092168252519081900360200190f35b3461000057610192610f97565b005b346100005761041d610fcb565b60408051600160a060020a039092168252519081900360200190f35b346100005761027f600160a060020a0360043516610fda565b60408051918252519081900360200190f35b34610000576104a9610ff9565b6040518082600481116100005760ff16815260200191505060405180910390f35b34610000576101a1600160a060020a0360043516611046565b604080519115158252519081900360200190f35b346100005761041d61105b565b60408051600160a060020a039092168252519081900360200190f35b34610000576101c261106a565b604080516020808252835181830152835191928392908301918501908083838215610208575b80518252602083111561020857601f1990920191602091820191016101e8565b505050905090810190601f1680156102345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101a16110f8565b604080519115158252519081900360200190f35b34610000576101a1611108565b604080519115158252519081900360200190f35b34610000576101a1600160a060020a036004351660243561112e565b604080519115158252519081900360200190f35b346100005761027f611183565b60408051918252519081900360200190f35b346100005761041d611189565b60408051600160a060020a039092168252519081900360200190f35b3461000057610192600160a060020a0360043516611198565b005b346100005761027f600160a060020a0360043581169060243516611350565b60408051918252519081900360200190f35b34610000576101a161137d565b604080519115158252519081900360200190f35b3461000057610192600160a060020a0360043516611383565b005b3461000057610192600160a060020a03600435166113ce565b005b60035433600160a060020a0390811691161461072557610000565b60045460009060a060020a900460ff161561073f57610000565b600160a060020a0383166000908152600560205260409020805460ff19168315151790555b5b505b5050565b60065460ff1681565b600b805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107fa5780601f106107cf576101008083540402835291602001916107fa565b820191906000526020600020905b8154815290600101906020018083116107dd57829003601f168201915b505050505081565b600081158015906108375750600160a060020a0333811660009081526002602090815260408083209387168352929052205415155b1561084157610000565b600160a060020a03338116600081815260026020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60005481565b600454600090849060a060020a900460ff1615156108ed57600160a060020a03811660009081526005602052604090205460ff1615156108ed57610000565b5b6108f985858561141d565b91505b5b509392505050565b60035433600160a060020a0390811691161461092057610000565b60045460009060a060020a900460ff161561093a57610000565b60048054600160a060020a031916600160a060020a0384161790555b5b505b50565b600d5481565b600160a060020a03331660009081526007602052604090205460ff16151561098957610000565b60065460ff161561099957610000565b60005473e7b724d4fe0da10760f27cbbb2bb8db386892b1a6366098d4f9091836000604051602001526040518363ffffffff1660e060020a028152600401808381526020018281526020019250505060206040518083038186803b156100005760325a03f4156100005750506040805180516000908155600160a060020a038616815260016020908152838220549281019190915282517f66098d4f000000000000000000000000000000000000000000000000000000008152600481019290925260248201859052915173e7b724d4fe0da10760f27cbbb2bb8db386892b1a93506366098d4f92604480840193919291829003018186803b156100005760325a03f415610000575050604080518051600160a060020a0386166000818152600160209081528582209390935586845293519094507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b5b5b5050565b60076020526000908152604090205460ff1681565b60035433600160a060020a03908116911614610b2f57610000565b60065460ff1615610b3f57610000565b600160a060020a038216600081815260076020908152604091829020805460ff191685151590811790915582519384529083015280517f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa9281900390910190a15b5b5b5050565b6000610bb0610ff9565b905060038160048111610000571480610bd157506004816004811161000057145b1515610bdc57610000565b811515610be857610000565b600160a060020a033316600090815260016020526040902054610c0b9083611520565b600160a060020a03331660009081526001602052604081209190915554610c329083611520565b600055600a54610c429083611539565b600a55600954604080517f753e88e5000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152602482018690529151919092169163753e88e591604480830192600092919082900301818387803b156100005760325a03f115610000575050600954604080518581529051600160a060020a03928316935033909216917f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac9181900360200190a35b5050565b60035433600160a060020a03908116911614610d2057610000565b81600b9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d6c57805160ff1916838001178555610d99565b82800160010185558215610d99579182015b82811115610d99578251825591602001919060010190610d7e565b5b50610dba9291505b80821115610db65760008155600101610da2565b5090565b505080600c9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e0857805160ff1916838001178555610e35565b82800160010185558215610e35579182015b82811115610e35578251825591602001919060010190610e1a565b5b50610e569291505b80821115610db65760008155600101610da2565b5090565b505060408051818152600b8054600260001961010060018416150201909116049282018390527fd131ab1e6f279deea74e13a18477e13e2107deb6dc8ae955648948be5841fb46929091600c9181906020820190606083019086908015610efe5780601f10610ed357610100808354040283529160200191610efe565b820191906000526020600020905b815481529060010190602001808311610ee157829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015610f725780601f10610f4757610100808354040283529160200191610f72565b820191906000526020600020905b815481529060010190602001808311610f5557829003601f168201915b505094505050505060405180910390a15b5b5050565b600954600160a060020a031681565b60045433600160a060020a03908116911614610fb257610000565b6006805460ff19166001179055610fc7611561565b5b5b565b600854600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b6000611003611108565b151561101157506001611040565b600954600160a060020a0316151561102b57506002611040565b600a54151561103c57506003611040565b5060045b5b5b5b90565b60056020526000908152604090205460ff1681565b600354600160a060020a031681565b600c805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107fa5780601f106107cf576101008083540402835291602001916107fa565b820191906000526020600020905b8154815290600101906020018083116107dd57829003601f168201915b505050505081565b60045460a060020a900460ff1681565b60045460009060a060020a900460ff168015611127575061112761137d565b5b90505b90565b600454600090339060a060020a900460ff16151561116d57600160a060020a03811660009081526005602052604090205460ff16151561116d57610000565b5b61117884846115aa565b91505b5b5092915050565b600a5481565b600454600160a060020a031681565b6111a0611108565b15156111ab57610000565b600160a060020a03811615156111c057610000565b60085433600160a060020a039081169116146111db57610000565b60046111e5610ff9565b600481116100005714156111f857610000565b60098054600160a060020a031916600160a060020a038381169190911791829055604080516000602091820181905282517f61d3d7a6000000000000000000000000000000000000000000000000000000008152925194909316936361d3d7a6936004808501948390030190829087803b156100005760325a03f115610000575050604051511515905061128b57610000565b6000805460095460408051602090810185905281517f4b2ba0dd00000000000000000000000000000000000000000000000000000000815291519394600160a060020a0390931693634b2ba0dd936004808501948390030190829087803b156100005760325a03f1156100005750506040515191909114905061130d57610000565b60095460408051600160a060020a039092168252517f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc9181900360200190a15b50565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60015b90565b60035433600160a060020a0390811691161461139e57610000565b600160a060020a038116156109595760038054600160a060020a031916600160a060020a0383161790555b5b5b50565b600160a060020a03811615156113e357610000565b60085433600160a060020a039081169116146113fe57610000565b60088054600160a060020a031916600160a060020a0383161790555b50565b600160a060020a03808416600090815260026020908152604080832033851684528252808320549386168352600190915281205490919061145e9084611539565b600160a060020a03808616600090815260016020526040808220939093559087168152205461148d9084611520565b600160a060020a0386166000908152600160205260409020556114b08184611520565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600191505b509392505050565b600061152e83831115611673565b508082035b92915050565b60008282016115568482108015906115515750838210155b611673565b8091505b5092915050565b60045433600160a060020a0390811691161461157c57610000565b6004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60015b90565b6000604060443610156115bc57610000565b600160a060020a0333166000908152600160205260409020546115df9084611520565b600160a060020a03338116600090815260016020526040808220939093559086168152205461160e9084611539565b600160a060020a038086166000818152600160209081526040918290209490945580518781529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3600191505b5b5092915050565b80151561095957610000565b5b505600a165627a7a72305820660b1db3b12de391591db9b9d27a4c59035907a36d4b21ed3bf6bf35b2ae04b0002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003585858000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035959590000000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 5858580000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [8] : 5959590000000000000000000000000000000000000000000000000000000000


   Library Used
SafeMathLib : 0xe7b724d4fe0da10760f27cbbb2bb8db386892b1a

   Swarm Source:
bzzr://660b1db3b12de391591db9b9d27a4c59035907a36d4b21ed3bf6bf35b2ae04b0

 

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