Sponsored Link: Datum ICO unlocks the $120 Bln User Data Economy. Data is the new Oil. Get Free Tokens worth .05 ETH
Contract Overview | PatientoryToken
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 17101 txns
Token Tracker 0x8ae4bf2c33a8e667de34b54938b0ccd03eb8cc06
  Latest 25 txns from a total Of 17101 transactions View All

TxHash Age From To Value [TxFee]
0x6ba2d871db3cfb0283d7177778f48300640b831d12d1677a1f6db4535c5c4b451 min ago0x57e45ffcac5c61b044a755929da5834ba5d1046b  IN   PatientoryToken0 Ether0.000449532
0x8387b33dfae2a9c1c8b48c9028ecccafdfd7d35417cb691813c9bc1b30a36aab37 mins ago0xccc8d4410a825f3644d3a5bbc0e9df4ac6b491b3  IN   PatientoryToken0 Ether0.000897528
0x89aea7604a502e10a39ab83ac71d96f9dcb7b0149b4b1e7327b5586518a1c1ae1 hr 48 mins ago0x1f97d407e5c22b4fb2391733230e0c4f2716ac06  IN   PatientoryToken0 Ether0.00058202
0x3b250b2ae211dedfa89a0169920f6c9e8c2dd0ed7d510883cc97d735a7d15dfe1 hr 52 mins agoBittrex  IN   PatientoryToken0 Ether0.001159307
0x10d4398e05243792369030b8cbf29fdf7964622f469ae797520586e2a7f478d31 hr 56 mins agoBittrex  IN   PatientoryToken0 Ether0.001624307
0x7a60d85b13bc5c6a7a8920c87e1d724433baaf8516c27d197d3bdf0a13628f291 hr 58 mins ago0x1f97d407e5c22b4fb2391733230e0c4f2716ac06  IN   PatientoryToken0 Ether0.00058202
0xf46b1bfcb459c42dccb1f2f254853cdcdf2daa5a235455edfa472eb8542baca62 hrs 8 mins ago0x38d6932b2abbd83fa3c3fb2ecd5f50c8c5f63aa4  IN   PatientoryToken0 Ether0.0009224
0x84147d2ca28610d8e932ea7e03057d55f1f82ed929f9858dcc4928b402eaa7292 hrs 24 mins agoBittrex  IN   PatientoryToken0 Ether0.001622323
0x40f1a505a441c24766380c674582efbdad135128d1bb4e6b9c5e856b807682032 hrs 32 mins agoBittrex  IN   PatientoryToken0 Ether0.001161291
0xa8c7b974376f04e2231a0cf1d85202831014c80b6178e34fa07d9d7446fb46ee3 hrs 9 mins agoBittrex  IN   PatientoryToken0 Ether0.001159307
0x16f44aacc0108231b64b55b0428f1e098d81bc78feeac6af7502f4d6e7a8746c3 hrs 15 mins agoBittrex  IN   PatientoryToken0 Ether0.001159307
0xa5e951d79a6de80492a88ee2ff45707362e381fec99c56420d1f6fda80a9702b3 hrs 19 mins agoBittrex  IN   PatientoryToken0 Ether0.001159307
0x4671030e4600287954d9c65d528bc1317bbf56e3166a0cd4976ab78b06e6f5a83 hrs 21 mins agoBittrex  IN   PatientoryToken0 Ether0.001622323
0xdbe4d7e3e36eb8724853ac06a42e4c3bf95b9c81408cb7603c1ffd1721fc4b0b3 hrs 21 mins agoBittrex  IN   PatientoryToken0 Ether0.001624307
0x893ddf061a7e7119492eb21af12f8246ed90b281d323de1da02aa088f97fb3ff4 hrs 12 mins ago0x54072e34ba0d7c65ecf739c13ca84463ef949880  IN   PatientoryToken0 Ether0.000783993
0xb72d9ad21c0f5a2b8b27e070a8a4513ee33a722fe7279d75425819b6fb3723344 hrs 18 mins ago0x1f97d407e5c22b4fb2391733230e0c4f2716ac06  IN   PatientoryToken0 Ether0.00058202
0x0b4a1a77108cadb0970dc101a25ed9656852a6977955b850915517463c4003dd4 hrs 33 mins ago0x54072e34ba0d7c65ecf739c13ca84463ef949880  IN   PatientoryToken0 Ether0.001098993
0xabf8e6830370d86162af189c2f6f00985d6279ef480b2cb7604313607e2170ad4 hrs 53 mins agoliqui.io_2  IN   PatientoryToken0 Ether0.000314382
0x768287810cca5dd8ddc6f7904a2fbe97d11ef5d2e8a2db3aac6f4d0528cdae985 hrs 26 mins agoBittrex  IN   PatientoryToken0 Ether0.001624307
0x8e517196b74d8f8f9622a3b2d25c88c6d0cf9ba3c1f77aba7878bea7bfde0cf25 hrs 40 mins ago0xc5b0af6eb5afbc93402dd412057ce54b3f38dfd7  IN   PatientoryToken0 Ether0.000785337
0x67b50f6121a864e4f1079ebd62add3c56e27f7557ec76fc0f184fa9283d43b5a5 hrs 40 mins ago0xd431d2123194823f3cf0efa94f9bd8133b800ac3  IN   PatientoryToken0 Ether0.000470337
0xd68db361be9f35673e9d587318246af3180badfa292578f604461a60813eda9c5 hrs 51 mins ago0xd431d2123194823f3cf0efa94f9bd8133b800ac3  IN   PatientoryToken0 Ether0.001097649
0x04bcd3a76cbfb2b99a83e7204c755ee505042bf4bac0a4a679e7223e5cdaf6726 hrs 58 mins ago0x1f97d407e5c22b4fb2391733230e0c4f2716ac06  IN   PatientoryToken0 Ether0.00058074
0x529d11e3c897ea017399409629ed9785d1caf139ed506a27889195a2b9d642b27 hrs 20 mins ago0xe634cbecc6e9c916dad72a55db281ce34cd52504  IN   PatientoryToken0 Ether0.000785337
0xa16f169ec4a3b0d49e68611848ff86718a835d5f298182667f670519e4d4c2767 hrs 59 mins agoBittrex  IN   PatientoryToken0 Ether0.001622323
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: CrowdsaleToken
Compiler Version: 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;

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

    // Check is not needed because safeSub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

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

  /**
   * Atomic increment of approved spending
   *
   * Works around https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   *
   */
  function addApproval(address _spender, uint _addedValue)
  onlyPayloadSize(2 * 32)
  returns (bool success) {
      uint oldValue = allowed[msg.sender][_spender];
      allowed[msg.sender][_spender] = safeAdd(oldValue, _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)
  onlyPayloadSize(2 * 32)
  returns (bool success) {

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

      if (_subtractedValue > oldVal) {
          allowed[msg.sender][_spender] = 0;
      } else {
          allowed[msg.sender][_spender] = safeSub(oldVal, _subtractedValue);
      }
      Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
      return true;
  }

}





/**
 * 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":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"addApproval","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":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"subApproval","outputs":[{"name":"success","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
60606040526004805460a060020a60ff02191690556006805460ff1916905534620000005760405162001b7e38038062001b7e83398101604090815281516020830151918301516060840151608085015192850194939093019290915b335b5b60038054600160a060020a03191633600160a060020a03161790555b60088054600160a060020a031916600160a060020a0383161790555b5060038054600160a060020a03191633600160a060020a03161790558451600b8054600082905290917f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602060026101006001861615026000190190941693909304601f9081018490048201938a01908390106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b5b50620001759291505b808211156200017157600081556001016200015b565b5090565b505083600c9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c557805160ff1916838001178555620001f5565b82800160010185558215620001f5579182015b82811115620001f5578251825591602001919060010190620001d8565b5b50620002199291505b808211156200017157600081556001016200015b565b5090565b50506000838155600d839055600354600160a060020a03168152600160205260408120849055831115620002935760035460005460408051600160a060020a039093168352602083019190915280517f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe9281900390910190a15b801515620002b8576006805460ff191660011790556000541515620002b85762000000565b5b5b50505050505b6118ae80620002d06000396000f3006060604052361561017a5763ffffffff60e060020a60003504166302f652a3811461017f57806305d2035b1461019f57806306fdde03146101c0578063095ea7b31461024d57806318160ddd1461027d57806323b872dd1461029c57806329ff4f53146102d2578063313ce567146102ed57806340c10f191461030c57806342c1867b1461032a578063432146751461035757806345977d03146103775780634eee966f146103895780635de4ccb01461041b5780635f412d4f14610444578063600440cb1461045357806370a082311461047c5780638444b391146104a7578063867c2857146104d55780638da5cb5b1461050257806395d89b411461052b57806396132521146105b85780639738968c146105d9578063a9059cbb146105fa578063ac3cb72c1461062a578063c752ff621461065a578063d1f276d314610679578063d7e7088a146106a2578063dd62ed3e146106bd578063e2301d02146106ee578063f2fde38b1461071e578063ffeb7d7514610739575b610000565b346100005761019d600160a060020a03600435166024351515610754565b005b34610000576101ac6107b5565b604080519115158252519081900360200190f35b34610000576101cd6107be565b604080516020808252835181830152835191928392908301918501908083838215610213575b80518252602083111561021357601f1990920191602091820191016101f3565b505050905090810190601f16801561023f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101ac600160a060020a036004351660243561084c565b604080519115158252519081900360200190f35b346100005761028a6108f2565b60408051918252519081900360200190f35b34610000576101ac600160a060020a03600435811690602435166044356108f8565b604080519115158252519081900360200190f35b346100005761019d600160a060020a036004351661094f565b005b346100005761028a6109a6565b60408051918252519081900360200190f35b346100005761019d600160a060020a03600435166024356109ac565b005b34610000576101ac600160a060020a0360043516610b49565b604080519115158252519081900360200190f35b346100005761019d600160a060020a03600435166024351515610b5e565b005b346100005761019d600435610bf0565b005b346100005761019d600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650610d4f95505050505050565b005b3461000057610428610fd2565b60408051600160a060020a039092168252519081900360200190f35b346100005761019d610fe1565b005b3461000057610428611015565b60408051600160a060020a039092168252519081900360200190f35b346100005761028a600160a060020a0360043516611024565b60408051918252519081900360200190f35b34610000576104b4611043565b6040518082600481116100005760ff16815260200191505060405180910390f35b34610000576101ac600160a060020a0360043516611090565b604080519115158252519081900360200190f35b34610000576104286110a5565b60408051600160a060020a039092168252519081900360200190f35b34610000576101cd6110b4565b604080516020808252835181830152835191928392908301918501908083838215610213575b80518252602083111561021357601f1990920191602091820191016101f3565b505050905090810190601f16801561023f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101ac611142565b604080519115158252519081900360200190f35b34610000576101ac611152565b604080519115158252519081900360200190f35b34610000576101ac600160a060020a0360043516602435611178565b604080519115158252519081900360200190f35b34610000576101ac600160a060020a03600435166024356111cd565b604080519115158252519081900360200190f35b346100005761028a611280565b60408051918252519081900360200190f35b3461000057610428611286565b60408051600160a060020a039092168252519081900360200190f35b346100005761019d600160a060020a0360043516611295565b005b346100005761028a600160a060020a036004358116906024351661144d565b60408051918252519081900360200190f35b34610000576101ac600160a060020a036004351660243561147a565b604080519115158252519081900360200190f35b346100005761019d600160a060020a0360043516611583565b005b346100005761019d600160a060020a03600435166115ce565b005b60035433600160a060020a0390811691161461076f57610000565b60045460009060a060020a900460ff161561078957610000565b600160a060020a0383166000908152600560205260409020805460ff19168315151790555b5b505b5050565b60065460ff1681565b600b805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b505050505081565b600081158015906108815750600160a060020a0333811660009081526002602090815260408083209387168352929052205415155b1561088b57610000565b600160a060020a03338116600081815260026020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60005481565b600454600090849060a060020a900460ff16151561093757600160a060020a03811660009081526005602052604090205460ff16151561093757610000565b5b61094385858561161d565b91505b5b509392505050565b60035433600160a060020a0390811691161461096a57610000565b60045460009060a060020a900460ff161561098457610000565b60048054600160a060020a031916600160a060020a0384161790555b5b505b50565b600d5481565b600160a060020a03331660009081526007602052604090205460ff1615156109d357610000565b60065460ff16156109e357610000565b600054730d4a53e8d7cf31f8d3c59ec601056637a8df8df46366098d4f9091836000604051602001526040518363ffffffff1660e060020a028152600401808381526020018281526020019250505060206040518083038186803b156100005760325a03f4156100005750506040805180516000908155600160a060020a038616815260016020908152838220549281019190915282517f66098d4f0000000000000000000000000000000000000000000000000000000081526004810192909252602482018590529151730d4a53e8d7cf31f8d3c59ec601056637a8df8df493506366098d4f92604480840193919291829003018186803b156100005760325a03f415610000575050604080518051600160a060020a0386166000818152600160209081528582209390935586845293519094507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b5b5b5050565b60076020526000908152604090205460ff1681565b60035433600160a060020a03908116911614610b7957610000565b60065460ff1615610b8957610000565b600160a060020a038216600081815260076020908152604091829020805460ff191685151590811790915582519384529083015280517f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa9281900390910190a15b5b5b5050565b6000610bfa611043565b905060038160048111610000571480610c1b57506004816004811161000057145b1515610c2657610000565b811515610c3257610000565b600160a060020a033316600090815260016020526040902054610c559083611720565b600160a060020a03331660009081526001602052604081209190915554610c7c9083611720565b600055600a54610c8c9083611739565b600a55600954604080517f753e88e5000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152602482018690529151919092169163753e88e591604480830192600092919082900301818387803b156100005760325a03f115610000575050600954604080518581529051600160a060020a03928316935033909216917f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac9181900360200190a35b5050565b60035433600160a060020a03908116911614610d6a57610000565b81600b9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610db657805160ff1916838001178555610de3565b82800160010185558215610de3579182015b82811115610de3578251825591602001919060010190610dc8565b5b50610e049291505b80821115610e005760008155600101610dec565b5090565b505080600c9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e5257805160ff1916838001178555610e7f565b82800160010185558215610e7f579182015b82811115610e7f578251825591602001919060010190610e64565b5b50610ea09291505b80821115610e005760008155600101610dec565b5090565b505060408051818152600b8054600260001961010060018416150201909116049282018390527fd131ab1e6f279deea74e13a18477e13e2107deb6dc8ae955648948be5841fb46929091600c9181906020820190606083019086908015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015610fbc5780601f10610f9157610100808354040283529160200191610fbc565b820191906000526020600020905b815481529060010190602001808311610f9f57829003601f168201915b505094505050505060405180910390a15b5b5050565b600954600160a060020a031681565b60045433600160a060020a03908116911614610ffc57610000565b6006805460ff19166001179055611011611761565b5b5b565b600854600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b600061104d611152565b151561105b5750600161108a565b600954600160a060020a031615156110755750600261108a565b600a5415156110865750600361108a565b5060045b5b5b5b90565b60056020526000908152604090205460ff1681565b600354600160a060020a031681565b600c805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b505050505081565b60045460a060020a900460ff1681565b60045460009060a060020a900460ff16801561117157506111716117a4565b5b90505b90565b600454600090339060a060020a900460ff1615156111b757600160a060020a03811660009081526005602052604090205460ff1615156111b757610000565b5b6111c284846117aa565b91505b5b5092915050565b6000806040366044146111df57610000565b600160a060020a0333811660009081526002602090815260408083209389168352929052205491506112118285611739565b600160a060020a033381166000818152600260209081526040808320948b168084529482529182902085905581519485529051929391927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600192505b5b505092915050565b600a5481565b600454600160a060020a031681565b61129d611152565b15156112a857610000565b600160a060020a03811615156112bd57610000565b60085433600160a060020a039081169116146112d857610000565b60046112e2611043565b600481116100005714156112f557610000565b60098054600160a060020a031916600160a060020a038381169190911791829055604080516000602091820181905282517f61d3d7a6000000000000000000000000000000000000000000000000000000008152925194909316936361d3d7a6936004808501948390030190829087803b156100005760325a03f115610000575050604051511515905061138857610000565b6000805460095460408051602090810185905281517f4b2ba0dd00000000000000000000000000000000000000000000000000000000815291519394600160a060020a0390931693634b2ba0dd936004808501948390030190829087803b156100005760325a03f1156100005750506040515191909114905061140a57610000565b60095460408051600160a060020a039092168252517f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc9181900360200190a15b50565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60008060403660441461148c57610000565b600160a060020a033381166000908152600260209081526040808320938916835292905220549150818411156114e957600160a060020a03338116600090815260026020908152604080832093891683529290529081205561151a565b6112118285611720565b600160a060020a033381166000908152600260209081526040808320938a16835292905220555b600160a060020a033381166000818152600260209081526040808320948a168084529482529182902054825190815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600192505b5b505092915050565b60035433600160a060020a0390811691161461159e57610000565b600160a060020a038116156109a35760038054600160a060020a031916600160a060020a0383161790555b5b5b50565b600160a060020a03811615156115e357610000565b60085433600160a060020a039081169116146115fe57610000565b60088054600160a060020a031916600160a060020a0383161790555b50565b600160a060020a03808416600090815260026020908152604080832033851684528252808320549386168352600190915281205490919061165e9084611739565b600160a060020a03808616600090815260016020526040808220939093559087168152205461168d9084611720565b600160a060020a0386166000908152600160205260409020556116b08184611720565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600191505b509392505050565b600061172e83831115611872565b508082035b92915050565b60008282016117568482108015906117515750838210155b611872565b8091505b5092915050565b60045433600160a060020a0390811691161461177c57610000565b6004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60015b90565b60006040366044146117bb57610000565b600160a060020a0333166000908152600160205260409020546117de9084611720565b600160a060020a03338116600090815260016020526040808220939093559086168152205461180d9084611739565b600160a060020a038086166000818152600160209081526040918290209490945580518781529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3600191505b5b5092915050565b8015156109a357610000565b5b505600a165627a7a72305820a27e6374d9aa28cf210132b2458b0de90d1b2eccde5d885814766911e81a2748002900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000558746f7279000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000458544f5900000000000000000000000000000000000000000000000000000000

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

-----Decoded View---------------
Found 9 constructor arguments :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 58746f7279000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 58544f5900000000000000000000000000000000000000000000000000000000


   Library Used
SafeMathLib : 0x0d4a53e8d7cf31f8d3c59ec601056637a8df8df4

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