Sponsored:   Temco - Join the Largest VC Backed ICO on the Bitcoin Network! TEMCO KYC Whitelist Starts Now!!
Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 144 txns
Misc:
Address Watch: Add To Watch List
 Latest 25 transactions from a total of 144 transactions

TxHash Age From To Value [TxFee]
0xd051213d27f4dea7d240eb7a207a0ce743cf4963587a91c2e30d919b865d8f1f48 days 18 hrs ago0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f0920  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051012 Ether0.000168336
0x88802cc03a4ead6faa3913a8c41f27245bdf328060700a8f09d5e9a44bc28e1548 days 18 hrs ago0x145c93c09b7e811020b557cb2ee12bbcacfad1d5  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0002436
0x6c0ab7be54dfc305578922e247cef190e310bb5636d2b19c0f945d349e071d4849 days 19 hrs ago0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f0920  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051011 Ether0.000410697
0x26588a9159dcd11f41998aa02adf8db736aa4106601862ba42a0e19b5c03175a49 days 19 hrs ago0x4d72d3038ac1f22a8dcf44ab3e8be81ec782d6ea  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.05101 Ether0.0027168
0xc6c693594af94e4ae63eb3b171c63227e3f4fc0e3ae59182d4155fc63bac173b50 days 18 hrs ago0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f0920  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051009 Ether0.000247968
0x10779eb81061f469d20b4172e8f4d7491f37d6c8456261ed1f86bcc8b441294850 days 19 hrs ago0x4d72d3038ac1f22a8dcf44ab3e8be81ec782d6ea  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051008 Ether0.0027168
0xad8693f631f6190986a89c0a1c88bdd68fa00b89c7400b0d74df66962a7e017a51 days 10 hrs ago0x1fe06059f98101661594ae1c7a147bc21926181f  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.000077372
0x3918569cf3f2d3950e492d6eb01652ed52570649469c7f73fae09f4a75f329bc51 days 11 hrs ago0x77446f94ca1c13c5da5948580e509c3cf0932405  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0000851092
0x50164f05f2d03a175a2f4e3c473452269da7a323e9eec330d1e21cc4f0f5e6b351 days 18 hrs ago0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f0920  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051007 Ether0.00030996
0xc1a118b2788cfba5894bfd05075216a4d6ea09047c19cdc3df6c0941a6785b3b51 days 21 hrs ago0x4d72d3038ac1f22a8dcf44ab3e8be81ec782d6ea  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051006 Ether0.0027168
0xf1ca6c4a24a39bbeefeee74404f7573a91000368d1ad87db699603d5ce5fb9c352 days 19 hrs ago0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f0920  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051005 Ether0.000193725
0x0686dfb49142e838660e7af060eb873fc60e1972a2601ca831c564b2cee00f0e52 days 22 hrs ago0x2513c5b808447b4e6542f14381da0027e8a68978  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x186cf87343abac829baf6eacb73c85b0b4e33ecfb05ef10aa5802ab66afa864052 days 22 hrs ago0xb54b1bab48a52e569115feb7a539b68cc0176b9c  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0xacfa91c2d5d121997631fdbf49abc502c1c1849e83c0e243a04c2c551278c13152 days 22 hrs ago0x0be2db87fb38f836fe041b092408174d2300e655  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x2430059009882ac0398d26c8c89f20689d2e096eaf87fd761823ac38fa2acabf52 days 22 hrs ago0x53aa96d800716128f149a51872604de424293c78  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0xae305ecd38929ce156df2b3ccf280d420284612389671a390afbe2fa352d00cd52 days 22 hrs ago0x180bf48ef627b8ad8823437a8d5f03034d5e34cc  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0xee7133ec80d6a0e3e1c3fbb737b12cd4652f355dec77097aab69b9bc30cff4b652 days 22 hrs ago0x6d9dcb6a77fd1eb0d7cffa062e11f180977aea5a  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x7b6deed2ec967c2f84f40019413e8eebaa405b44bc02d3b4c8239bf96fba06b552 days 22 hrs ago0x3cccbf4590e57ff5af4791f927271137dddf6718  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x337f4b8ca3e64f78a9412111481bd930a1030d47f64573fcdcd3363029aa604952 days 22 hrs ago0xbca09d8bacc71d8a32146fd7949335fa5c38173b  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x24982de91831720eafbf068113ac4eb0bf3db2825e255476f361ec5b57c776c652 days 22 hrs ago0xc015ef250b0031446dde817a8801338afb80c4a7  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0xd66402af4f914dc11b58a959001005f4a07a5105e6b5edc39fba396b671c43b852 days 22 hrs ago0xfbb54c5ae6b4b3e31d880ab82c720fe39408dc1d  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x598238dcd963c1decf4fae6081933e0e40deed2070956a7676563b1a4dd9b13852 days 22 hrs ago0x7853ffb4caea55313bcdb094e29df211fb8c5625  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0x0bd29d9caa536f3a3bb2b8c5a03168c7af7e65199a17d2010e5f9a842d2520b652 days 22 hrs ago0xa33ba10a159e3a654f2553cf0cb15372ea7ef013  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001237952
0xcd6871657dd0f1b4b3995c6ee1244560058e0cac48836585fabb06f7d365568d52 days 23 hrs ago0xb04b473418b6f09e5a1f809ae2d01f14211e03ff  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0 Ether0.0001218
0x826eb19e2280a9d62352abd0a26f05d60a88a22683c268b9984da1a83ee47ff053 days 2 hrs ago0x4d72d3038ac1f22a8dcf44ab3e8be81ec782d6ea  IN   0x972dc0ee6fc536378dde23e63a143cfd9995e18c0.051004 Ether0.0027168
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0xd051213d27f4dea7d240eb7a207a0ce743cf4963587a91c2e30d919b865d8f1f657474548 days 18 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f092047.914745985909373784 Ether
0xd051213d27f4dea7d240eb7a207a0ce743cf4963587a91c2e30d919b865d8f1f657474548 days 18 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.051012 Ether
0x88802cc03a4ead6faa3913a8c41f27245bdf328060700a8f09d5e9a44bc28e15657466248 days 18 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x145c93c09b7e811020b557cb2ee12bbcacfad1d50.000745497350195152 Ether
0x6c0ab7be54dfc305578922e247cef190e310bb5636d2b19c0f945d349e071d48656850249 days 19 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051011 Ether
0xc6c693594af94e4ae63eb3b171c63227e3f4fc0e3ae59182d4155fc63bac173b656262150 days 18 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051009 Ether
0x50164f05f2d03a175a2f4e3c473452269da7a323e9eec330d1e21cc4f0f5e6b3655649551 days 18 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051007 Ether
0xf1ca6c4a24a39bbeefeee74404f7573a91000368d1ad87db699603d5ce5fb9c3654990852 days 19 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051005 Ether
0xcd6871657dd0f1b4b3995c6ee1244560058e0cac48836585fabb06f7d365568d654887852 days 23 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xb04b473418b6f09e5a1f809ae2d01f14211e03ff0.000740297199833201 Ether
0x5c3365eda02180235c46cf96737040d72209a815b71eaab7fbdc69f3d85e7d11654246254 days 1 hr ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051003 Ether
0x7602ef1e54a5d897f4814f90fdabf593dd6d8f71ccf0307d2a52215a6dda4d0f653740254 days 21 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051002 Ether
0x835bfab09588c172d16bd63bb736a22339ca4bc5716cc308d7149d6fc7cde846653349555 days 12 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x41a21b264f9ebf6cf571d4543a5b3ab1c6bed98c0.0051001 Ether
0x1cfcd50c04ac49a0d9ab450c47a5f97f07b78f4de06a72005a333a822e6b5673652775956 days 10 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0051 Ether
0x0a2bf73e3e4e7c99ff12ade82a05e7d51026fc99367d8b5fb6edb1aeae3a0a22652681856 days 14 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x41a21b264f9ebf6cf571d4543a5b3ab1c6bed98c0.0050999 Ether
0x31e5689bd751fa291235faec7fd13be217c05ddee810a7edaf784a0af02b1d07652524956 days 20 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050998 Ether
0x28438402291197e37efd531ade8d5fe91987d4028c97d67906d3035ae033f924652474656 days 22 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x41a21b264f9ebf6cf571d4543a5b3ab1c6bed98c0.000001 Ether
0x4e5253b4b5f98db40c34484879fda37036288934100ed0cd9f69c2b9119d1cb4651901157 days 21 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050996 Ether
0x10a6b3f7d1ed6276e93a867202a252e1f6c7ec62a1a0eb0a133a4091affa8c65651603958 days 8 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050994 Ether
0x2022a8ea614aa51c3e3e7556fa355508b059d62aae34e6a4a71947ec2b27e700651572358 days 10 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x41a21b264f9ebf6cf571d4543a5b3ab1c6bed98c0.000001 Ether
0x52ec48854cc7a58b1c1bffd634a0035dfe334b778c9522d53e80a22ab3fae358650999759 days 8 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050992 Ether
0xb6fda6c70951f48abbea364926131393c9f333d4ef21ff52841002db4c9df38d650908559 days 12 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x41a21b264f9ebf6cf571d4543a5b3ab1c6bed98c0.000001 Ether
0xb6c4002f60818251715e1e49f28e8824b4754ad223b2f241e81c3276937ba806650335460 days 10 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.005099 Ether
0x8cc261d4a822810c1280846a07bd62f72641003f2864851629eece36b7d4eb8a650007960 days 23 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0x41a21b264f9ebf6cf571d4543a5b3ab1c6bed98c0.000001 Ether
0xa317af399d237b31d48ed07287e573bb0bc9f4f00071bdff67b23c5c7fb7d905649434561 days 21 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050988 Ether
0x893a13cc44459e56f7a572bc3c6b18e24e9290ca75ea8892dd23847462e8ac5c648777362 days 23 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050986 Ether
0x55667a3cc948644cc04602de89159a41140541ec62616d98b401fc06a3139834648206363 days 21 hrs ago0x972dc0ee6fc536378dde23e63a143cfd9995e18c0xbc73b8330f7bfc4b1fa62b6d3e3a25f12f5f09200.0050985 Ether
[ Download CSV Export  ] 
Contract Self Destruct Called At TxHash 0xd051213d27f4dea7d240eb7a207a0ce743cf4963587a91c2e30d919b865d8f1f

Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: DonutChain
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

/*
https://donutchain.io/

  WARNING

  All users are forbidden to interact with this contract 
  if this contract is inconflict with user’s local regulations and laws.  

  DonutChain - is a game designed to explore human behavior 
  via  token redistribution through open source smart contract code and pre-defined rules.
  
  This system is for internal use only 
  and all could be lost  by sending anything to this contract address.
  
  No one can change anything once the contract has been deployed.
*/

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract ERC20 {

  using SafeMath for uint256;

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
  
  mapping (address => uint256) private balances_;

  mapping (address => mapping (address => uint256)) private allowed_;

  uint256 private totalSupply_;

  /**
  * @dev Total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256) {
    return balances_[_owner];
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(
    address _owner,
    address _spender
   )
    external
    view
    returns (uint256)
  {
    return allowed_[_owner][_spender];
  }

  /**
  * @dev Transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) external returns (bool) {
    require(_value <= balances_[msg.sender]);
    require(_to != address(0));

    balances_[msg.sender] = balances_[msg.sender].sub(_value);
    balances_[_to] = balances_[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) external returns (bool) {
    allowed_[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    external
    returns (bool)
  {
    require(_value <= balances_[_from]);
    require(_value <= allowed_[_from][msg.sender]);
    require(_to != address(0));

    balances_[_from] = balances_[_from].sub(_value);
    balances_[_to] = balances_[_to].add(_value);
    allowed_[_from][msg.sender] = allowed_[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed_[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(
    address _spender,
    uint256 _addedValue
  )
    external
    returns (bool)
  {
    allowed_[msg.sender][_spender] = (
      allowed_[msg.sender][_spender].add(_addedValue));
    emit Approval(msg.sender, _spender, allowed_[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed_[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(
    address _spender,
    uint256 _subtractedValue
  )
    external
    returns (bool)
  {
    uint256 oldValue = allowed_[msg.sender][_spender];
    if (_subtractedValue >= oldValue) {
      allowed_[msg.sender][_spender] = 0;
    } else {
      allowed_[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed_[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Internal function that mints an amount of the token and assigns it to
   * an account. This encapsulates the modification of balances such that the
   * proper events are emitted.
   * @param _account The account that will receive the created tokens.
   * @param _amount The amount that will be created.
   */
  function _mint(address _account, uint256 _amount) internal {
    require(_account != 0);
    totalSupply_ = totalSupply_.add(_amount);
    balances_[_account] = balances_[_account].add(_amount);
    emit Transfer(address(0), _account, _amount);
  }

  /**
   * @dev Internal function that burns an amount of the token of a given
   * account.
   * @param _account The account whose tokens will be burnt.
   * @param _amount The amount that will be burnt.
   */
  function _burn(address _account, uint256 _amount) internal {
    require(_account != 0);
    require(_amount <= balances_[_account]);

    totalSupply_ = totalSupply_.sub(_amount);
    balances_[_account] = balances_[_account].sub(_amount);
    emit Transfer(_account, address(0), _amount);
  }

}

contract DonutChain is ERC20 {
    
  event TokensBurned(address indexed burner, uint256 value);
  event Mint(address indexed to, uint256 amount);
  event MintFinished();
  uint8  public constant decimals = 0;
  string public constant name = "donutchain.io token #1";
  string public constant symbol = "DNT1";
  bool public flag = true;
  uint256 public endBlock;
  uint256 public mainGift;
  uint256 public amount = 0.001 ether;
  uint256 public increment = 0.000001 ether;
  address public donee;

  constructor() public {
    endBlock = block.number + 24 * 60 * 4;
  }
  function() external payable {
    require(flag);
    flag = false;
    if (endBlock > block.number) {
      require(msg.value >= amount);
      uint256 tokenAmount =  msg.value / amount;
      uint256 change = msg.value - tokenAmount * amount;
        if (change > 0 )
          msg.sender.transfer(change);
        if (msg.data.length == 20) {
          address refAddress = bToAddress(bytes(msg.data));
          refAddress.transfer(msg.value / 10); // 10%
        } 
          mainGift += msg.value / 5; // 20%
          donee = msg.sender;
          endBlock = block.number + 24 * 60 * 4; // ~24h
          amount += increment * tokenAmount;
          _mint(msg.sender, tokenAmount);
          emit Mint(msg.sender, tokenAmount);
          flag = true;
        } else {
          msg.sender.transfer(msg.value);
          emit MintFinished();
          selfdestruct(donee);
        }
  }
  /**  
   * @dev Function to check the amount of ether per a token.
   * @return A uint256 specifying the amount of ether per a token available for gift.
   */

  function etherPerToken() public view returns (uint256) {
    uint256 sideETH = address(this).balance - mainGift;
    if (totalSupply() == 0)
        return 0;
    return sideETH / totalSupply();
  }

  /**  
   * @dev Function to calculate size of a gift for token owner.
   * @param _who address The address of a token owner.
   * @return A uint256 specifying the amount of gift in ether.
   */
  function giftAmount(address _who) external view returns (uint256) {
    return etherPerToken() * balanceOf(_who);
  }
  
  /**
  * @dev Transfer gift from contract to tokens owner.
  * @param _amount The amount of gift.
  */
  function transferGift(uint256 _amount) external {
    require(balanceOf(msg.sender) >= _amount);
    uint256 ept = etherPerToken();
    _burn(msg.sender, _amount);
    emit TokensBurned(msg.sender, _amount);
    msg.sender.transfer(_amount * ept);
  }

  function bToAddress(
    bytes _bytesData
  )
    internal
    pure
    returns(address _refAddress) 
  {
    assembly {
      _refAddress := mload(add(_bytesData,0x14))
    }
    return _refAddress;
  }

}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b <= _a);
    uint256 c = _a - _b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
    uint256 c = _a + _b;
    require(c >= _a);

    return c;
  }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"transferGift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"donee","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mainGift","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"flag","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"etherPerToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"giftAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"increment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TokensBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","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
60806040526003805460ff1916600117905566038d7ea4c6800060065564e8d4a5100060075534801561003157600080fd5b506116804301600455610dd9806100496000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461031c578063083c6323146103a6578063095ea7b3146103cd57806318160ddd1461040557806323b872dd1461041a5780632fe09c7c14610444578063313ce5671461045e57806354f0c8971461048957806366188463146104ba5780636ff2196e146104de57806370a08231146104f3578063890eba681461051457806395d89b4114610529578063a9059cbb1461053e578063aa8c217c14610562578063c41daaff14610577578063c7c9dde61461058c578063d09de08a146105ad578063d73dd623146105c2578063dd62ed3e146105e6575b6003546000908190819060ff16151561012957600080fd5b6003805460ff191690556004544310156102b35760065434101561014c57600080fd5b6006543481151561015957fe5b049250600654830234039150600082111561019d57604051339083156108fc029084906000818181858888f1935050505015801561019b573d6000803e3d6000fd5b505b601436141561021d576101e06000368080601f0160208091040260200160405190810160405280939291908181526020018383808284375061060d945050505050565b604051909150600160a060020a03821690600a340480156108fc02916000818181858888f1935050505015801561021b573d6000803e3d6000fd5b505b60058054348290040190556008805473ffffffffffffffffffffffffffffffffffffffff191633908117909155611680430160045560075460068054918602909101905561026b9084610614565b60408051848152905133917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26003805460ff19166001179055610317565b60405133903480156108fc02916000818181858888f193505050501580156102df573d6000803e3d6000fd5b506040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1600854600160a060020a0316ff5b505050005b34801561032857600080fd5b506103316106ac565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036b578181015183820152602001610353565b50505050905090810190601f1680156103985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b257600080fd5b506103bb6106e3565b60408051918252519081900360200190f35b3480156103d957600080fd5b506103f1600160a060020a03600435166024356106e9565b604080519115158252519081900360200190f35b34801561041157600080fd5b506103bb61074f565b34801561042657600080fd5b506103f1600160a060020a0360043581169060243516604435610755565b34801561045057600080fd5b5061045c6004356108b8565b005b34801561046a57600080fd5b5061047361094c565b6040805160ff9092168252519081900360200190f35b34801561049557600080fd5b5061049e610951565b60408051600160a060020a039092168252519081900360200190f35b3480156104c657600080fd5b506103f1600160a060020a0360043516602435610960565b3480156104ea57600080fd5b506103bb610a4f565b3480156104ff57600080fd5b506103bb600160a060020a0360043516610a55565b34801561052057600080fd5b506103f1610a70565b34801561053557600080fd5b50610331610a79565b34801561054a57600080fd5b506103f1600160a060020a0360043516602435610ab0565b34801561056e57600080fd5b506103bb610b7d565b34801561058357600080fd5b506103bb610b83565b34801561059857600080fd5b506103bb600160a060020a0360043516610bbd565b3480156105b957600080fd5b506103bb610bd7565b3480156105ce57600080fd5b506103f1600160a060020a0360043516602435610bdd565b3480156105f257600080fd5b506103bb600160a060020a0360043581169060243516610c76565b6014015190565b600160a060020a038216151561062957600080fd5b60025461063c908263ffffffff610ca116565b600255600160a060020a038216600090815260208190526040902054610668908263ffffffff610ca116565b600160a060020a038316600081815260208181526040808320949094558351858152935192939192600080516020610d8e8339815191529281900390910190a35050565b60408051808201909152601681527f646f6e7574636861696e2e696f20746f6b656e20233100000000000000000000602082015281565b60045481565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b600160a060020a03831660009081526020819052604081205482111561077a57600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156107aa57600080fd5b600160a060020a03831615156107bf57600080fd5b600160a060020a0384166000908152602081905260409020546107e8908363ffffffff610cba16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461081d908363ffffffff610ca116565b600160a060020a0380851660009081526020818152604080832094909455918716815260018252828120338252909152205461085f908363ffffffff610cba16565b600160a060020a0380861660008181526001602090815260408083203384528252918290209490945580518681529051928716939192600080516020610d8e833981519152929181900390910190a35060019392505050565b6000816108c433610a55565b10156108cf57600080fd5b6108d7610b83565b90506108e33383610cd1565b60408051838152905133917ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6919081900360200190a2604051339083830280156108fc02916000818181858888f19350505050158015610947573d6000803e3d6000fd5b505050565b600081565b600854600160a060020a031681565b336000908152600160209081526040808320600160a060020a03861684529091528120548083106109b457336000908152600160209081526040808320600160a060020a03881684529091528120556109e9565b6109c4818463ffffffff610cba16565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60055481565b600160a060020a031660009081526020819052604090205490565b60035460ff1681565b60408051808201909152600481527f444e543100000000000000000000000000000000000000000000000000000000602082015281565b33600090815260208190526040812054821115610acc57600080fd5b600160a060020a0383161515610ae157600080fd5b33600090815260208190526040902054610b01908363ffffffff610cba16565b3360009081526020819052604080822092909255600160a060020a03851681522054610b33908363ffffffff610ca116565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020610d8e8339815191529281900390910190a350600192915050565b60065481565b600554600090303103610b9461074f565b1515610ba35760009150610bb9565b610bab61074f565b81811515610bb557fe5b0491505b5090565b6000610bc882610a55565b610bd0610b83565b0292915050565b60075481565b336000908152600160209081526040808320600160a060020a0386168452909152812054610c11908363ffffffff610ca116565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610cb357600080fd5b9392505050565b60008083831115610cca57600080fd5b5050900390565b600160a060020a0382161515610ce657600080fd5b600160a060020a038216600090815260208190526040902054811115610d0b57600080fd5b600254610d1e908263ffffffff610cba16565b600255600160a060020a038216600090815260208190526040902054610d4a908263ffffffff610cba16565b600160a060020a03831660008181526020818152604080832094909455835185815293519193600080516020610d8e833981519152929081900390910190a350505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820f440d4997eb2f71d8355830e136ff95d5ef348a093d30227b0f881b15ae02a540029

   Swarm Source:
bzzr://f440d4997eb2f71d8355830e136ff95d5ef348a093d30227b0f881b15ae02a54

 

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.