Sponsored Link:   Ducatur - EOS Hackathon Won! MVP Ready! Softcap reached! - Buy 1st Multichain Token - 3in1 (ETH,NEO,EOS)
 Latest 25 txns from a total Of 13468 transactions (+1 PendingTxn)
View All

TxHash Age From To Value [TxFee]
0xba67686220bc7bb8a6f075de677651219fc242bba9b597e52009a27672f560a0(pending)0x81428bb30130191f4ef33f833d80c53264f81dc9  IN  0x84119cb33e8f590d75c2d6ea4e6b0741a7494eda0 Ether(pending)
0x967950c01d690a41846bb7471f1f0592dcc118352b5f513330d436aa7cfdedde2 mins ago0x0109921d4470de6cefa38e618ff04efdd51a62ca  IN   GigaWattToken0 Ether0.00261125
0x2db414481ace522515fd93395da960b4a98b940e2d8f4f5ec4fa90135252394854 mins ago0x404dc4627a676f729c2d21218877ab7fa600c667  IN   GigaWattToken0 Ether0.000180824
0x962cffb7aa92fd592d52c88853f198f30e680f122350375491a9986a496af5f01 hr 37 mins ago0x57866fa0e2c8325ac05deefb63d20cb7035866d6  IN   GigaWattToken0 Ether0.000180824
0x7b6db02b32bad6bb3bb084aac7c65d2e21231ecb9c4ba36149bd515eb8bdb8a01 hr 40 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.00019765242
0x1a54523e014b6ec4db8beb0f803b179fdada01234d7a876c0ca1f6d0f204c0ba2 hrs 50 mins ago0x1673bd7b8cc5c676784ec76cd4c6b91b816dc99e  IN   GigaWattToken0 Ether0.0000889
0x58554682e46d1abcc430c240860e7cc9ea26371b1d4fbe605da3e0296b4c5f2d3 hrs 21 mins ago0x927c3982ca5013ec3511fc7934a1ceb11220c5b1  IN   GigaWattToken0 Ether0.00007445
0xd98946a1aa37dcc6c461f20c41f1fcde1057676473590a3ef65fbbfaaf2d55473 hrs 50 mins ago0xd8e6ade75df5fb49a3ff817a1d036820ca7b90bd  IN   GigaWattToken0 Ether0.000180824
0xbdc5b9c977c775aaa2f8e65ca16695dd979feb567ca3c369b6d6504ece7973774 hrs 28 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.0002089
0xa2a63fe368b2e8977976e325cf0cfece6698ed3707aaf89ef58bdad34decaa9b4 hrs 37 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.0002196138
0xf61abf676fb40c8bb46f698e482e1f8108b8cd54af6dabf5961b2d04c99f59275 hrs 5 mins ago0xb6c3e6a645f105efae04d3332d3af259868e8e83  IN   GigaWattToken0 Ether0.001046959408
0x99703644b49b81051aa69f2c1ff5ff55bf32a391203180dff8029b33db55e92b5 hrs 59 mins ago0xbc05a7a5d3489ee98a2f4d148f861e7219f67cb9  IN   GigaWattToken0 Ether0.000074578
0x10df300186a7d467817a2e457f5a78fdba3a9a9fc4a0d123f994798b8d5abee86 hrs 35 mins ago0x199dd1ada10d98d0c9bc56ee7b4098e2e48debbb  IN   GigaWattToken0 Ether0.000156023
0xaa28858884abea0336ecc0c100d4adaf4720324b8dac6f5174be309805aa47d96 hrs 36 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.000261445
0x336a119c043548247a830b414f708705a3f4946293ffc497e38c76b7eb8ea67b7 hrs 52 mins ago0xb6c3e6a645f105efae04d3332d3af259868e8e83  IN   GigaWattToken0 Ether0.001046959408
0x654738c234770f09733f7e655a08895cf792c0f6c60ba273a017bbf56bc12a1f10 hrs ago0x118b33f2904e18e2ae12be9d7d1d9ecea8b1c4ce  IN   GigaWattToken0 Ether0.00003556
0x190bfe8fd3f4bf97b32a440979d74b22c9cf221ef5211c2c864e6a7be8aec5ed10 hrs 7 mins ago0xc28dd25531fe32113e3ea557b10308fe6607daec  IN   GigaWattToken0 Ether0.000994532
0x6007f607bf2adfd47d04bdd43d87df4ccf47dfcbce4c2d6a2b73b1518769e07d10 hrs 10 mins ago0x053e9dbdcc234fe6b6558dc1aa70dfde67592839  IN   GigaWattToken0 Ether0.000044578
0x2ef4a5e22a67a6d3d62429d7d9544c7d7cf3216f722b6013f4fb234cca38872f10 hrs 12 mins ago0x98c5c9dc6dd44d6dc07cbac11df9e0f38594cf42  IN   GigaWattToken0 Ether0.000104578
0x55917b4fdc0eeaa9aeef6568746ae0ca0a865b9bafa05a9dccd73b9ae1ae930310 hrs 23 mins ago0xe60ce42a01c8db2ed42f53d56d195499a89c8dcc  IN   GigaWattToken0 Ether0.00037225
0xd637abe21184ebd8a30e16b6126ac68c4d41199f13a474868f901487451564ce10 hrs 35 mins ago0x0109921d4470de6cefa38e618ff04efdd51a62ca  IN   GigaWattToken0 Ether0.00261445
0xe6b73331bdf72481525294b74f868b1ed4430f973a6297774a211e190766410610 hrs 54 mins ago0xd6a0fc8f6d5ecb7cab9f5c9ebf4b541b6c076bdb  IN   GigaWattToken0 Ether0.000091942125
0x581ae1c8febb98b983bb4124d38083861ed031c3dadeb339a2f50f079d6e976911 hrs 26 mins ago0xfc4901a2717a3cfa591e6a163cdcf73965f03113  IN   GigaWattToken0 Ether0.00074578
0xdfdfe2c193a0e45a67de2997a544063f839bfed6328e4e3f7185da74b9197cb620 hrs 59 mins ago0x132798c4d05f25472d6e1b933928bd07e7b8824a  IN   GigaWattToken0 Ether0.000044578
0x5ce3b3af866201ec198007f66b3965be2bb1a5b09e7e0866fbb0f24961a9240b21 hrs 40 mins ago0x053e9dbdcc234fe6b6558dc1aa70dfde67592839  IN   GigaWattToken0 Ether0.0000401202
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: GigaWattToken
Compiler Version: v0.4.6+commit.2dabbdf0
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

/*
 * Giga Watt Token Smart Contract.  Copyright © 2016 by ABDK Consulting.
 * Author: Mikhail Vladimirov <mikhail.vladimirov@gmail.com>
 */
pragma solidity ^0.4.1;

/**
 * ERC-20 standard token interface, as defined
 * <a href="http://github.com/ethereum/EIPs/issues/20">here</a>.
 */
contract Token {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply);

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
            owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance);

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens from the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success);

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
            recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success);

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
            message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success);

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender)
  constant returns (uint256 remaining);

  /**
   * Logged when tokens were transferred from one owner to another.
   *
   * @param _from address of the owner, tokens were transferred from
   * @param _to address of the owner, tokens were transferred to
   * @param _value number of tokens transferred
   */
  event Transfer (address indexed _from, address indexed _to, uint256 _value);

  /**
   * Logged when owner approved his tokens to be transferred by some spender.
   *
   * @param _owner owner who approved his tokens to be transferred
   * @param _spender spender who were allowed to transfer the tokens belonging
   *        to the owner
   * @param _value number of tokens belonging to the owner, approved to be
   *        transferred by the spender
   */
  event Approval (
    address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * Provides methods to safely add, subtract and multiply uint256 numbers.
 */
contract SafeMath {
  uint256 constant private MAX_UINT256 =
    0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

  /**
   * Add two uint256 values, throw in case of overflow.
   *
   * @param x first value to add
   * @param y second value to add
   * @return x + y
   */
  function safeAdd (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (x > MAX_UINT256 - y) throw;
    return x + y;
  }

  /**
   * Subtract one uint256 value from another, throw in case of underflow.
   *
   * @param x value to subtract from
   * @param y value to subtract
   * @return x - y
   */
  function safeSub (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (x < y) throw;
    return x - y;
  }

  /**
   * Multiply two uint256 values, throw in case of overflow.
   *
   * @param x first value to multiply
   * @param y second value to multiply
   * @return x * y
   */
  function safeMul (uint256 x, uint256 y)
  constant internal
  returns (uint256 z) {
    if (y == 0) return 0; // Prevent division by zero at the next line
    if (x > MAX_UINT256 / y) throw;
    return x * y;
  }
}

/**
 * Abstract base contract for contracts implementing Token interface.
 */
contract AbstractToken is Token, SafeMath {
  /**
   * Get total number of tokens in circulation.
   *
   * @return total number of tokens in circulation
   */
  function totalSupply () constant returns (uint256 supply) {
    return tokensCount;
  }

  /**
   * Get number of tokens currently belonging to given owner.
   *
   * @param _owner address to get number of tokens currently belonging to the
            owner of
   * @return number of tokens currently belonging to the owner of given address
   */
  function balanceOf (address _owner) constant returns (uint256 balance) {
    return accounts [_owner];
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens from the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value) returns (bool success) {
    return doTransfer (msg.sender, _to, _value);
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
            recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success)
  {
    if (_value > approved [_from][msg.sender]) return false;
    if (doTransfer (_from, _to, _value)) {
      approved [_from][msg.sender] =
        safeSub (approved[_from][msg.sender], _value);
      return true;
    } else return false;
  }

  /**
   * Allow given spender to transfer given number of tokens from message sender.
   *
   * @param _spender address to allow the owner of to transfer tokens from
            message sender
   * @param _value number of tokens to allow to transfer
   * @return true if token transfer was successfully approved, false otherwise
   */
  function approve (address _spender, uint256 _value) returns (bool success) {
    approved [msg.sender][_spender] = _value;
    Approval (msg.sender, _spender, _value);
    return true;
  }

  /**
   * Tell how many tokens given spender is currently allowed to transfer from
   * given owner.
   *
   * @param _owner address to get number of tokens allowed to be transferred
   *        from the owner of
   * @param _spender address to get number of tokens allowed to be transferred
   *        by the owner of
   * @return number of tokens given spender is currently allowed to transfer
   *         from given owner
   */
  function allowance (address _owner, address _spender)
  constant returns (uint256 remaining) {
    return approved [_owner][_spender];
  }

  /**
   * Create given number of new tokens and give them to given owner.
   *
   * @param _owner address to given new created tokens to the owner of
   * @param _value number of new tokens to create
   */
  function createTokens (address _owner, uint256 _value) internal {
    if (_value > 0) {
      accounts [_owner] = safeAdd (accounts [_owner], _value);
      tokensCount = safeAdd (tokensCount, _value);
    }
  }

  /**
   * Perform token transfer.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to to the owner of
   * @param _value number of tokens to transfer
   * @return true if tokens were transferred successfully, false otherwise
   */
  function doTransfer (address _from, address _to, uint256 _value)
  private returns (bool success) {
    if (_value > accounts [_from]) return false;
    if (_value > 0 && _from != _to) {
      accounts [_from] = safeSub (accounts [_from], _value);
      accounts [_to] = safeAdd (accounts [_to], _value);
      Transfer (_from, _to, _value);
    }
    return true;
  }

  /**
   * Total number of tokens in circulation.
   */
  uint256 tokensCount;

  /**
   * Maps addresses of token owners to states of their accounts.
   */
  mapping (address => uint256) accounts;

  /**
   * Maps addresses of token owners to mappings from addresses of spenders to
   * how many tokens belonging to the owner, the spender is currently allowed to
   * transfer.
   */
  mapping (address => mapping (address => uint256)) approved;
}

/**
 * Standard Token smart contract that provides the following features:
 * <ol>
 *   <li>Centralized creation of new tokens</li> 
 *   <li>Freeze/unfreeze token transfers</li>
 *   <li>Change owner</li>
 * </ol>
 */
contract StandardToken is AbstractToken {
  /**
   * Maximum allowed tokens in circulation (2^64 - 1).
   */
  uint256 constant private MAX_TOKENS = 0xFFFFFFFFFFFFFFFF;

  /**
   * Address of the owner of the contract.
   */
  address owner;

  /**
   * Whether transfers are currently frozen.
   */
  bool frozen;

  /**
   * Instantiate the contract and make the message sender to be the owner.
   */
  function StandardToken () {
    owner = msg.sender;
  }

  /**
   * Transfer given number of tokens from message sender to given recipient.
   *
   * @param _to address to transfer tokens from the owner of
   * @param _value number of tokens to transfer to the owner of given address
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transfer (address _to, uint256 _value)
  returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transfer (_to, _value);
  }

  /**
   * Transfer given number of tokens from given owner to given recipient.
   *
   * @param _from address to transfer tokens from the owner of
   * @param _to address to transfer tokens to the owner of
   * @param _value number of tokens to transfer from given owner to given
            recipient
   * @return true if tokens were transferred successfully, false otherwise
   */
  function transferFrom (address _from, address _to, uint256 _value)
  returns (bool success) {
    if (frozen) return false;
    else return AbstractToken.transferFrom (_from, _to, _value);
  }

  /**
   * Create certain number of new tokens and give them to the owner of the
   * contract.
   * 
   * @param _value number of new tokens to create
   * @return true if tokens were created successfully, false otherwise
   */
  function createTokens (uint256 _value)
  returns (bool success) {
    if (msg.sender != owner) throw;

    if (_value > MAX_TOKENS - totalSupply ()) return false;

    AbstractToken.createTokens (owner, _value);

    return true;
  }

  /**
   * Freeze token transfers.
   */
  function freezeTransfers () {
    if (msg.sender != owner) throw;

    if (!frozen)
    {
      frozen = true;
      Freeze ();
    }
  }

  /**
   * Unfreeze token transfers.
   */
  function unfreezeTransfers () {
    if (msg.sender != owner) throw;

    if (frozen) {
      frozen = false;
      Unfreeze ();
    }
  }

  /**
   * Set new owner address.
   *
   * @param _newOwner new owner address
   */
  function setOwner (address _newOwner) {
    if (msg.sender != owner) throw;

    owner = _newOwner;
  }

  /**
   * Logged when token transfers were freezed.
   */
  event Freeze ();

  /**
   * Logged when token transfers were unfreezed.
   */
  event Unfreeze ();
}

/**
 * Giga Watt Token Smart Contract.
 */
contract GigaWattToken is StandardToken {
  /**
   * Constructor just calls constructor of parent contract.
   */
  function GigaWattToken () StandardToken () {
    // Do nothing
  }
}

    Contract ABI  
[{"constant":false,"inputs":[],"name":"freezeTransfers","outputs":[],"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":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","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":"unfreezeTransfers","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"createTokens","outputs":[{"name":"success","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":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Unfreeze","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
606060405234610000575b5b60038054600160a060020a0319166c01000000000000000000000000338102041790555b5b5b6106f58061003f6000396000f3606060405236156100825760e060020a6000350463015024608114610087578063095ea7b31461009657806313af4035146100bd57806318160ddd146100cf57806323b872dd146100ee57806331c420d41461011857806370a08231146101275780637e1f2bb814610149578063a9059cbb1461016d578063dd62ed3e14610194575b610000565b34610000576100946101b9565b005b34610000576100a9600435602435610238565b604080519115158252519081900360200190f35b34610000576100946004356102a3565b005b34610000576100dc6102f2565b60408051918252519081900360200190f35b34610000576100a96004356024356044356102f9565b604080519115158252519081900360200190f35b3461000057610094610330565b005b34610000576100dc6004356103a8565b60408051918252519081900360200190f35b34610000576100a96004356103c7565b604080519115158252519081900360200190f35b34610000576100a9600435602435610425565b604080519115158252519081900360200190f35b34610000576100dc60043560243561045e565b60408051918252519081900360200190f35b60035433600160a060020a039081169116146101d457610000565b60035460a060020a900460ff161515610235576003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de90600090a15b5b565b600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035433600160a060020a039081169116146102be57610000565b6003805473ffffffffffffffffffffffffffffffffffffffff19166c01000000000000000000000000838102041790555b50565b6000545b90565b60035460009060a060020a900460ff161561031a5750600061032856610328565b61032584848461048b565b90505b5b9392505050565b60035433600160a060020a0390811691161461034b57610000565b60035460a060020a900460ff1615610235576003805474ff0000000000000000000000000000000000000000191690556040517f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded90600090a15b5b565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146103e557610000565b6103ed6102f2565b67ffffffffffffffff03821115610406575060006103c2565b60035461041c90600160a060020a031683610547565b5060015b919050565b60035460009060a060020a900460ff16156104465750600061029d5661029d565b61045083836105a3565b905061029d565b5b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a038084166000908152600260209081526040808320339094168352929052908120548211156104c357506000610328565b6104ce8484846105b9565b1561053757600160a060020a038085166000908152600260209081526040808320339094168352929052205461050490836106bd565b600160a060020a038086166000908152600260209081526040808320339094168352929052205550600161032856610328565b506000610328565b5b9392505050565b600081111561059e57600160a060020a03821660009081526001602052604090205461057390826106d7565b600160a060020a0383166000908152600160205260408120919091555461059a90826106d7565b6000555b5b5050565b60006105b03384846105b9565b90505b92915050565b600160a060020a0383166000908152600160205260408120548211156105e157506000610328565b600082118015610603575082600160a060020a031684600160a060020a031614155b156106b257600160a060020a03841660009081526001602052604090205461062b90836106bd565b600160a060020a03808616600090815260016020526040808220939093559085168152205461065a90836106d7565b600160a060020a0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35b5060015b9392505050565b6000818310156106cc57610000565b508082035b92915050565b600081600019038311156106ea57610000565b508181015b9291505056

 

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.